Do you remember the times when flashing ESP8285, ESP8266 or ESP32 was complicated? I have at least 2 tutorials that walk you through the process. It’s 2020 and we finally have a tool to flash Tasmota (and other .bin files) with a click of a mouse, with the minimal setup: Tasmotizer! And what a name (and logo) it comes with!

Tasmotizer – what changed?

This small .exe file (or Linux package pip3 install tasmotizer ) contains the good old esptool packed with Python and wrapped in cute GUI sporting a dark theme (according to the GitHub page dark theme makes it go really fast)

The tool comes with 3 main options, and one a godsend feature:

backup .bin

erase flash

write flash (tasmotize!)

Backup

Tasmotizer will take care of the backup of the existing firmware automatically for you. The file is saved in the same directory as tasmotizer.exe and the name structure is backup_20200217_124735.bin ( backup_date_time.bin ). No more guessing the flash size! It’s done for you!

Erase flash

Instead of a separate option, there is a checkbox you can select to wipe the firmware off your ESP. Do this when flashing new firmware (after making a backup) so you won’t burn all your bridges behind you.

Flash happens just before flashing tasmota firmware, and you don’t have to reboot the ESP manually.

Tasmotize!

ESP emergency kit

Tasmotizer lets you pick a .bin file, a tasmota public release and tasmota dev branch if you like to test things out or contribute. The .bin option is mainly to restore your backups.

Tasmota Release

Apart from the default tasmota.bin file, and the language versions, you have other versions available too:

tasmota-minimal.bin -used to upgrade to latest Tasmota versions via OTA

-used to upgrade to latest Tasmota versions via OTA tasmota-lite.bin without most sensors

without most sensors tasmota-sensors.bin with more sensors

with more sensors tasmota-display.bin support for display

support for display tasmota-ir.bin with IR support

with IR support tasmota-knx.bin comes with KNX support

The dev releases come with experimental features and bugs. I guess you would not read this post if you were after these!

Tasmotizer in action

The most complicated part of flashing ESP based devices will be access to specific GPIOs needed for flashing. It’s simple enough if we are talking about development modules with all pins labelled and properly exposed. If you are trying to flash an ESP based device, not all of them come with dev pins or headers like Sonoff and some will require you to look up data sheets and probe pads on PCBs.

The process alone is very simple. Grab a serial connector: I use FTD1232 and connect your ESP device according to the table below:

FTD1232 ESP Vcc Vcc GND GND GND GPIO00 (for flash only) RX TX TX RX

I have a couple of ESP-01 (ESP8266 based) so I made a special adapter which makes the process very easy. Connect all wires as instructed, then plug the FTD1232 to your computer. It should find a new COM port.

Make a backup, name it accordingly, as backups can’t be shared between devices.

Select “erase before flashing” and pick your tasmota.bin file. Process will last about 1-2 minutes and after that, unplug the USB cable, and disconnect the GPIO00 from GND .

Sending Config

Tasmotizer comes with a very convenient option: the ability to send config files. Hook up the ESP once again (without GPIO00 ) and open the config option.

WiFi

Finally, you can set up the WiFi credentials for both, primary and secondary SSID. Simply type the AP name and password and your ESP will use these on the next initialisation.

It’s a shame you cannot specify the hostname this way – it would be great if you could set it from Tasmotizer.

MQTT

You can push MQTT details to your ESP device as well. All needed MQTT credentials can be pushed before you launch the ESP. Simply fill in the required fields (make a note of names and topics) and you are ready to go.

Module/Template

Another super handy option is the ability to predefine the pinout of your tasmota device. If your ESP based device is already on the list, you can select the device from the Module list and tasmota will power up already configured for you.

If your device isn’t configured, you can select a generic option or use the template to predefine pin functions.

{"NAME":"Generic","GPIO":[0,56,0,17,22,18,0,0,0,21,56,0,0],"FLAG":0,"BASE":18} GPIO# |00| 01|02| 03|04| 05| 09| 10| 12| 13| 14| 15| 16| CODE [17,148,29,149,52,255,255,255,138,255,139,255,255]

Property name Value description NAME Up to 14 characters for the Module name GPIO Up to 13 decimal numbers from 0 to 255 representing GPIO0 to GPIO5, GPIO09, GPIO10 and GPIO12 to GPIO16 FLAG 8-bit mask flag register BASE Module number of a hard-coded device to be used when device specific functionality is needed

Once the config is pushed, the device will restart once again and use specified by you, information to set the Tasmota app. You can then use Fing app (or the latest release Fing Desktop) to look for a new device (or check the alert) and enjoy new Tasmotized ESP!

Conclusion

Flashing ESPs is a piece of cake now. With next to no setup (apart from soldering wires at times) and trying to figure out what some pins do, the process of pushing Tasmota firmware via Tasmotizer takes moment and is no longer a chore. How many ESP devices have you tasmotized yet? If you are looking for a guide on how to use Tasmota – as it happened, I have one as well explaining commands in MQTT and REST API. Let me know what do you think about Tasmotizer in this Reddit thread.