To install Tasmota on your device you have to prepare some tools and software.
If your device works with Tuya Smart or Smart Life app it may be possible to flash it with Tuya-Convert without disassembly or soldering and skip directly to initial configuration.
Needed Hardware
Device with an ESP8266/ESP8285 chip
Any variation of the ESP8266 chip can be flashed with Tasmota.
Serial-to-USB adapter with 3.3V supply
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.
Don't forget to install drivers for your serial-to-USB adapter.
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.
Soldering equipment
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.
Jumper wires
You could use any kind of wire but jumper wires (also called DuPont wires) are more practical than soldering and desoldering.
Pin headers
Pin headers come in male or female version. Choose according to your jumper wire connectors.
Computer with Linux, Windows or MacOS
You need a computer with a USB port to upload the firmware to your device and configure it.
Smartphone
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).
Needed Software
Tasmota firmware
Download a Tasmota binary (.bin) file. If you're not sure which binary is the right one for you consult the builds table or just start with tasmota.bin
.
The latest development binary files are available on the OTA server. The latest merged development code is compiled hourly. The latest master release binary files can be downloaded from GitHub or from the OTA server.
Flashing tool
- Tasmota PyFlasher - official 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)
OTA Flashing Tools
Tasmota is NOT a developer of these tools. For help and troubleshooting you will need to get support from those projects.
- Tuya OTA - 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)
Modifying Tasmota Code
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
If you use PlatformIO, to be sure that you have the latest build of the ESP Core, first delete the following folders in your current .platformio
folder:
- Everything in
.platformio/platforms
- All folders that begin with
framework...
in.platformio/packages
Online Compilers
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
Serial terminal
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. Be sure to configure your program for local echo so that the characters you type are displayed locally on your monitor as well as transmitted to the device. Also, every request needs to end with <CR><LF>
. Your program may only send the carriage return (Ctrl-M
) when hitting Enter
and not automatically send the <LF>
. You can send a linefeed using Ctrl-J
on the keyboard.
- Termite - simple terminal for windows
- Termie - open source clone of Termite
- Putty - popular client available on every platform
- Minicom - one of many Linux terminals
Other Requirements
The willingness to tinker and learn
Tasmota is not a commercial product and support is limited. You have to be willing to research and debug problems that might arise.
MQTT
Tasmota is designed to be controlled and communicate via MQTT. To use it to its fullest potential you need an MQTT broker and client.
Read our wiki article on MQTT for a quick introduction.
Wiki has moved to link on the left.