A configuration-driven system that turns ESP32, ESP8266, BK72xx and RP2040 microcontrollers into smart devices controlled from Home Assistant and other home automation systems.
arendst/Tasmota
Alternative firmware for ESP8266 and ESP32 boards that adds web-based setup, OTA updates, local automation and MQTT, HTTP, Serial or KNX control.
- Stars
- 24,969
- Forks
- 5,208
- Open issues
- 21
- Last commit
- 4 hours ago
What is it?
Tasmota is open-source firmware that replaces the stock software on ESP8266 and ESP32 based smart devices such as plugs, switches, bulbs and sensor boards. Devices are configured through a built-in web UI, updated over the air, and automated with Rules, Timers and the Berry scripting language.
It can control devices locally over MQTT (v3.1.1 or v5, including TLS connections to AWS IoT Core or Azure IoT Hub), HTTP, Serial or KNX, and integrates with Home Assistant, Domoticz, openHAB and Node-RED. On ESP32 it also supports Matter, Zigbee coordination, BLE gateway functions and LVGL touchscreen UIs.
The project covers more than 150 sensors and peripherals over I2C, SPI, 1-Wire and analog, plus lights, shutters, thermostats, smart meter interfaces, infrared, RF and Modbus bridging. Some features exceed the flash size of the precompiled binaries and require building a custom firmware image.
Key features
- 01Web UI configuration and over-the-air firmware updates
- 02MQTT, HTTP, Serial and KNX control, with Home Assistant and Node-RED integration
- 03Rules, timers and Berry scripting for on-device automation
- 04Support for 150+ sensors and peripherals over I2C, SPI, 1-Wire and analog
- 05Matter, Zigbee and BLE support on ESP32 boards
Use cases
- Adding local, cloud-free control to cheap Wi-Fi plugs and switches
- Building a home sensor network that reports temperature, CO2 or energy data to Home Assistant
- Controlling LED strips, shutters or infrared appliances from a smart home hub
- Making battery-powered ESP devices report data with deep sleep
Quick start
- 1
Install via the Tasmota WebInstaller in your browser
- 2
Or download a released binary from ota.tasmota.com and flash it using the Getting Started guide
Things to know
- Runs only on ESP8266 and ESP32 family boards, so it needs compatible hardware.
- Some features do not fit in the precompiled binaries and require compiling your own build.
- Major version upgrades may require following a documented migration path, and minimal versions can fail to OTA-update.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to remain open source.
In collections
Topics
FAQ
- What is Tasmota?
- Alternative firmware for ESP8266 and ESP32 boards that adds web-based setup, OTA updates, local automation and MQTT, HTTP, Serial or KNX control. Tasmota is open-source firmware that replaces the stock software on ESP8266 and ESP32 based smart devices such as plugs, switches, bulbs and sensor boards. Devices are configured through a built-in web UI, updated over the air, and automated with Rules, Timers and the Berry scripting language.
- Is Tasmota free to use? What license does it have?
- Tasmota is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is Tasmota still maintained?
- Actively maintained. The last commit to Tasmota was on Nov 7, 2026.
- What can I use Tasmota for?
- Adding local, cloud-free control to cheap Wi-Fi plugs and switches Building a home sensor network that reports temperature, CO2 or energy data to Home Assistant Controlling LED strips, shutters or infrared appliances from a smart home hub Making battery-powered ESP devices report data with deep sleep
- How do I install Tasmota?
- Install via the Tasmota WebInstaller in your browser Or download a released binary from ota.tasmota.com and flash it using the Getting Started guide
- Where can I get Tasmota?
- The source code and installation instructions are on GitHub: https://github.com/arendst/Tasmota
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source ESP32 firmware for controlling addressable RGB LED strips, 2D matrices and HUB75 panels over WiFi.
Cross-platform command-line tool and build system for embedded development, covering library management, multiple boards and frameworks, debugging and unit testing.
ESP32-based device that estimates passenger flow by counting nearby Wi-Fi and Bluetooth mobile devices, with LoRaWAN, MQTT and SD-card data output.
A Python emulator of the Philips Hue Bridge that lets Hue-compatible apps and smart home systems control many non-Hue lights and devices locally.
A web-based admin panel for managing, updating and monitoring devices flashed with the Tasmota firmware.