Any variation of the ESP8266 chip can be flashed with Tasmota.
The power supplied to the device is one of the most important elements for both flashing the device and for stable operation. You must ensure that the device receives sufficient power (current AND appropriate voltage level) to properly flash the firmware on the device.
- CH340G is a reliable and very cheap adapter (example 1, 2).
- FTDI FT232 - these adapters have a lot of fakes in the market so buy only from reliable sources (example). Buy only the variant with a separate 3.3V regulator on PCB!
- CP2102 or PL2303 - works with certain devices, but using an external 3.3V supply might be necessary. Not recommended for beginners!
- RaspberryPi - only for advanced users. External 3.3V supply necessary.
- NodeMCU and D1 mini (Pro/Lite) boards have a micro USB upload port and don't require an adapter.
Note
Don't forget to install drivers for your serial-to-USB adapter.
[!DANGER] Some adapters can be switched between 3.3V and 5V for the data pins, but still provide 5V on the power pin which will fry your device. You MUST make sure both the data and VCC pins are set for 3.3V.
To solder you'll of course need a soldering iron, soldering tin and some flux. If you're new to soldering check out some soldering tutorial videos while you're at it.
If you're intimidated by soldering you could get away with holding the headers with jumper wires in the pin holes during flashing but it is not a fool proof process and flashing might fail.
You could use any kind of wire but jumper wires (also called DuPont wires) are more practical than soldering and desoldering.
Pin headers come in male or female version. Choose according to your jumper wire connectors.
You need a computer with a USB port to upload the firmware to your device and configure it.
Tasmota installed from a precompiled binary needs to be configured to work with your Wi-Fi network before you can access the Tasmota web UI. This is usually done by connecting to a Tasmota Wi-Fi Access Point with your smartphone (or tablet or computer with Wi-Fi).
Download a Tasmota firmware binary file (.bin). If you're not sure which binary is the right one for you just start with tasmota.bin
or consult the builds table to see which features you need.
Official release binaries can be downloaded from GitHub releases or from our OTA server.
Latest development branch binaries are available only from our OTA server. The latest merged development code is compiled hourly.
- Tasmotizer - NEW flashing and firmware download tool just for Tasmota. (Windows, Linux or Mac)
- Tasmota PyFlasher - flashing tool intended for Tasmota. (Windows or Mac)
- NodeMCU PyFlasher - easy to use GUI flasher based on esptool.py. (Windows or Mac)
- Esptool.py - the official flashing tool from Espressif. (Requires Python)
- Esptool executable - Esptool in executable form, no Python required. (Windows, Linux or Mac)
Tasmota is NOT a developer of these tools. For help and troubleshooting you will need to get support from those projects.
- Tuya-Convert - easy OTA flash for devices with Tuya chips, no disassembly required
- Sonoff DIY - OTA flash for select Sonoff devices (some disassembly required)
- Node-RED OTA server and firmware manager - Node-RED flow for managing OTA updates
- OTA over SCP - setup and configure "OTA over SCP" upload for PlatformIO
- Python HTTP OTA server - setting up a small Python server to serve OTA upgrade binaries
- SonOTA - OTA flash eWeLink based devices (mostly outdated)
A program that connects to your Tasmota device directly over the serial connection you used to flash it.
This is an optional way to configure your device using Commands and Backlog.
- Termite - simple terminal for windows
- Termie - open source clone of Termite
- Putty - popular client available on every platform
- Minicom - one of many Linux terminals
[!TIP] Enable local echo so that you can see what is typed and transmitted to the device. Enable Append CR+LF since every request needs to end with
<CR><LF>
.
Tasmota is designed to be controlled and communicate via MQTT. To use it to its fullest potential you need an MQTT broker.
Read our article on MQTT for how it is utilised in Tasmota.
If you want to modify the code or default settings you can use:
- PlatformIO - setup and configure PlatformIO for Tasmota compilation and upload
- PlatformIO CLI - how to flash Tasmota using the PlatformIO command line interface on Linux
- PlatformIO-Core - automate firmware builds using PlatformIO-Core and flash with esptool
- Visual Studio Code - setup and configure Visual Studio Code with PlatformIO for Tasmota
- Atom - beginner guide building Tasmota firmware using Atom with PlatformIO plugin
- Arduino IDE - setup and configure Arduino IDE for Tasmota compilation and upload
- Docker Tasmota - compile from a Docker container using PlatformIO
Can only create a firmware binary. Use one of the tools to flash it to your device.
- Gitpod - compile your own binary in the cloud using Gitpod.
- TasmoCompiler - simple web GUI to compile Tasmota with your own settings
More details in Compile Your Own Tasmota.