Prerequisites - FengtianGu/Sonoff-Tasmota GitHub Wiki
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.
Any variation of the ESP8266 chip can be flashed with Tasmota.
- 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 - also work but using an external 3.3V supply is necessary and thus 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.
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 binary (.bin) file from GitHub or from the OTA server.
- sonoff.bin supports most features. THIS IS THE RECOMMENDED BINARY
- sonoff-BG.bin to sonoff-TW.bin the same features as sonoff.bin with localized language support. (Note: sonoff-UK.bin is for the Ukrainian language)
- sonoff-sensors.bin enables the same features as sonoff.bin and includes support for additional sensors
-
sonoff-basic.bin is a stripped down version of the firmware. Built for smaller size.
This is the pre-compiled Tasmota binary that comes bundled within the Tuya-Convert package when you install their OTA flashing tool. If you used Tuya-Convert to flash your device, it is strongly recommended to update to sonoff.bin. Otherwise some crucial features (energy monitoring, autodiscovery, etc.) will not work.
- sonoff-classic.bin stripped down version but it allows initial installation using either Wi-Fi Manager, WPS or ESP8266 SmartConfig.
- sonoff-display.bin built for connecting displays but omits energy monitoring features
- sonoff-knx.bin includes KNX support but missing some additional features
- sonoff-minimal.bin is a specialised build to subsequently allow OTA uploads. This version should NOT be used for initial installation!
If you're not sure which binary is the right one for you consult the builds table or just start with sonoff.bin.
If you're experienced or adventurous, you can download the latest development binary files in the same variants as listed above (available at http://thehackbox.org/tasmota). The latest merged development code is compiled hourly.
- 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)
Only for Tuya devices:
- Tuya-Convert - flash devices that work with Tuya Smart or Smart Life mobile app without disassembly or soldering.
If you want to modify the code or default settings you can use:
- PlatformIO - guide to setup and configure PlatformIO for Tasmota compilation and upload
- Visual Studio Code - guide to setup and configure Visual Studio Code with PlatformIO for Tasmota
- Atom - beginner guide building Tasmota firmware using Atom with PlatformIO plugin
- Arduino - guide to setup and configure Arduino for Tasmota compilation and upload
- Gitpod - compile your own binary in the cloud using Gitpod. This utility can only be used to create a firmware binary. Use one of the flashing tools listed in this article to upload the firmware to your device.
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
Tasmota is not a commercial product and support is limited. You have to be willing to research and debug problems that might arise.
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.