Tasmota and the Humble ESP8266 – Update

Tasmota

I’ve not written about Tasmota basics for some time and I noted this morning, when struggling with PC serial programming of an old ESP8266 board, that there is still such a lot of outdated information on the web on the subject.

That led me to this quick blog entry. I hope someone finds it useful.

Tasmota is free and well-supported firmware for the ESP8266 and ESP32 boards (and that includes not only generic boards but a HOST of IOT boards out there).

I’ve been programming Tasmota onto boards for years now and today I pulled out a couple of ESP8266 boards (with USB connectors) to update. If I’m doing this with boards which already have Tasmota on then, there’s a really simple way to do this involving nothing more than providing power to the board which will already know about my WiFi. In this case, I simply go to the internal IP address or NAME of the board and on the web page that appears in my Chrome browser, select the FIRMWARE UPGRADE option then select START UPGRADE – then leaving the board alone for 5 minutes while I sink a cup of coffee.

But I’m jumping ahead. Today I took a board which I know had something other than Tasmota installed (but I had no idea what as it had been lying around for ages) and decided to program it from scratch with Tasmota. Easy, just go to the relevant website to get Tasmota (coming up further down). plug the board into a handy PC USB socket – and program – except that it wasn’t that easy – when I plugged in the board, no new serial port appeared – the reason, it emerged was that I’d never programmed this particular board on this particular PC. Note that typical ESP board USB is for power and programming only.

Tasmota

So first things first – ensure your PC has the serial drivers you might need for whichever serial chip the ESP board is using. I went off to this web page because it seemed, despite checking my serial lead which worked with a completely different ESP8266 board, that my new(ish) PC did not have any generic CP210x serial chip drivers installed and hence no new serial board appeared when I plugged in the ESP8266 .

I ran the Windows download, unzipped the resulting file and seeing the file SILABSER.INF, right-clicked that and pressed INSTALL to put the drivers on my PC. After the driver installation (automated) and not in my case needing any PC reset), on plugging in the ESP8266 board, a new serial port appeared…. (see image below left)

Tasmota

So now, I could go HERE to the Tasmota site to do a serial install of Tasmota (see image above right). Now, depending on the type of ESP8266 board, that may or may not involve holding down a RESET button and FLASH (or PROG) button at the same time on thar board, then releasing the RESET button to program the board. Other types of ESP8266 boards do not require any button pressing.

After the simple task of installing Tasmota, I wanted to do away with the need for a serial connection as soon as possible.

After installation of Tasmota, I selected the option to enter my WIFI SSID and password. Having done THAT, I no longer needed the online installer program OR my serial port. I just needed power to the board which then appeared on my network under the name TASMOTA (I find the free ADVANCED IP SCANNER utility very handy for that).

Tasmota

What you see here is the web page on the ESP8266 board (after I’d renamed the board to TASMOTA01).

At this point, the board knows about the WiFi access point and that’s about it. Under CONFIGURATION (WiFi, MQTT and OTHER) you should ASAP give the board a unique name – mine normally refer to the board’s job but in this case TASMOTA01 will do – anything BUT TASMOTA.

As I normally talk to these boards via MQTT I put in my MQTT broker address, port (default 1883) and credentials (if using security – I usually do and it’s easy). However you CAN talk to the board via it’s web interface and for that, the CONSOLE menu option is essential. FIRMWARE UPGRADE is usually completely automatic, pulling the latest version down from the web once you hit UPGRADE.

Your only decision is whether to leave the default upgrade address or get the latest bleeding-edge version by removing “release/” from the address.

Tasmota

By default this board will look like a Sonoff BASIC board and you will be able to TOGGLE on or off one pin i.e. D6 (to use Arduino parlance usually seen on modern ESP8266 development boards) or GPIO12 to use Espressif’s notation.

To do anything more than control a single pin (TOGGLE or MQTT) – i.e. TOPIC: cmnd/tasmota01/power PAYLOAD 1 the next step might be to choose the simplest Tasmota setup (SONOFF BASIC (1) in CONFIGURATION – CONFIGURE MODULE) that gives you access to all the pins you might try the last option in CONFIGURE MODULE – i.e. GENERIC (18) at which point you can set any pin to any of a range of purposes.

Of course this is the basic TASMOTA INSTALL, others are FAR MORE POWERFUL depending on which board you are using – then of course there is the ESP32 but that’s for another day – and of course I’ve not mentioned TIMERS in here or the various SETOPTION (SO) commands you can use in CONSOLE.

Then of course there is the BIG version of Tasmota, only suited to devices with 4MG of FLASH memory..

Tasmota for 4MB FLASH

This version has MORE commands than you see above right.

That’s the one – TASMOTA FOR 4MB FLASH – then there are unofficial builds for example TASMOTA PLATINUM with everything but the kitchen sink built in…

All of this is available on the web, much of it on the actual Tasmota site.

Enjoy.

Tasmota Platinum

4 thoughts on “Tasmota and the Humble ESP8266 – Update

  1. Hi Peter,
    Could be worth doing a piece on upgrades of Tasmota to version 13 on the ESP32. As the binary got bigger for v13, it’s not such a simple process as before. The memory needs to be repartitioned before attempting the upgrade. I’ve had a couple of successful upgrades and a couple of unsuccessful ones, but not enough to figure out what went wrong on the unsuccessful ones.

  2. Peter
    To help any newbies who read this blog, can you make clear that the ESP8266 does not have a USB interface.
    It has a USB style connector for power and serial programming.
    The ESP8266 Forum recently had a post from a guy who wasn’t aware the USB port on the D1 was for power and programming only.
    https://www.esp32.com/viewtopic.php?f=50&t=34582

Leave a Reply

Your email address will not be published. Required fields are marked *

Leave the field below empty!


The maximum upload file size: 512 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here