If you are at all involved in home automation and control and you have not been living under a rock, chances are you have heard of or have seen Tasmota mentioned. If you are like me however you may never have really understood what it was and what it could be used for. In this article, I hope to be able to answer some questions about Tasmota so that you can understand what it is, how it is used and how you can benefit from it.
Tasmota is custom firmware that is available for ESP8266 based devices allowing for web, timer, OTA firmware updates and sensor support. Tasmota allows for ESP8266 based devices to be controlled via HTTP, MQTT and KNX allowing for integration into just about any home automation ecosystem available. So this probably leads us to your first question, What is ESP8266? For this article, all you really need to know is that it is the Wi-Fi chip used in a lot of connected devices. While not limited to below is a list of some of the most popular:
- MagicHome PWM LED Controller
- Shelly 1
- Shelly 2
- Sonoff 4CH (R2)
- Sonoff 4CH Pro (R2)
- Sonoff B1 (R2)
- Sonoff Basic (R2)
- Sonoff Dual (R2)
- Sonoff iFan02
- Sonoff Led
- Sonoff Pow R2
- Sonoff Pow
- Sonoff RF
- Sonoff RF Bridge
- Sonoff S31
- Sonoff SV
- Sonoff T1
- Sonoff TH10/TH16
- Sonoff Touch
Now, what is most important for our home automation needs is the MQTT support that Tasmota brings. Which brings us to yet another question, What is MQTT? Well again for the purposes of this article, MQTT is a standardized, lightweight messaging language the utilizes the TCP/IP protocol. MQTT uses what is called a “publish-subscribe” messaging pattern which basically means that one device publishes a “message” and another that is programmed to listen (is subscribed to) receives that message and you can create your automation based off of that. Now at this point, I have either enlightened or confused you as to what Tasmota is. If I have confused you let me try and make it simpler, Tasmota is custom firmware for Wi-Fi connected devices that allows that device to communicate with other devices that go outside of the manufacturer’s intended use.
Now that you have an understanding of what Tasmota is let’s tackle the question of what it can do for you. This is a simple question to answer and I already have answered it briefly in telling you what Tasmota is but to reiterate, Tasmota can unlock your devices freeing them to communicate with systems and ecosystems that they were never intended to communicate with. This can allow you to roll all of your devices under the same cloud infrastructure those simplifying your home automation system and your life. Now you need to know that in most cases after flashing Tasmota your device will no longer be covered under warranty nor will it be able to communicate in the manner intended by its manufacturer meaning it will not be able to communicate to there servers. Instead of whatever cloud the manufacturer of your device wants you to be communicating with, Tasmota can allow you integration with any ecosystem that supports MQTT like:
Tasmota gives you the freedom to do what you wish with your home automation ecosystem, yes you are potentially voiding your device warranty and yes you will be unable to use your manufacturer’s cloud but for me at least it is worth it.
If you are with me this far and have a compatible device you most likely want to know how you go about getting Tasmota onto that device. Well, there are a lot of devices, even more than I listed above so I can in no way go into them all but I will take you through a Sonoff Basic setup. I will say though that a simple Google search will bring up countless YouTube videos on just about any device that can show you the process. But let’s say you have a Sonoff Basic and want to flash Tasmota the process is a little involved but for the most part simple. Follow along with me:
First, we need to connect to the internal serial interface. Sounds simple except for the fact that the terminals needed are not pinned so you will need to solder onto them. When you open up the Sonoff Basic you have the Push Button which is GPIO 0, then next to that you have the 3.3v terminal, followed by RX, TX, Ground and GPIO 14. Now if you are handy with a soldering iron you should not have any problems with this. If you are not I would recommend getting someone who is to do this for you.
Next up we need to get a computer ready for flashing. Again there are lots of ways to do this and plenty of YouTube videos on it but I will take you through using ESPTool as I find it the easiest to use. I am a Linux guy so I will be telling you how to do this all from command line.
- Download the lastest ESPTool Source Code from:
- Launch Terminal and navigate to the folder containing the ESPTool Source Code that you just downloaded
- Run the command
python setup.py install
- Download the latest Tasmota release firmware file sonoff.bin from:
- From Terminal navigate to the folder containing the Tasmota Firmware
Now that you are connected to the Sonoff Basic and have the computer ready we need to connect it to your computer. To do this you will need a USB-Serial adapter and a suitable USB cable. Before connecting anything to your computer, press and hold the Push Button on the Sonoff Basic and with the button pushed plug the USB cable into your computer. This will put the Sonoff Basic into “Flash Mode” and you can release the push button.
- Back at the computer terminal run the command
esptool.py --port #insert correct port number# write_flash -fs 1MB -fm dout 0x0 #insert filename of firmware#
- Power cycle the Sonoff Basic to complete the flash.
That’s is Tasmota is all set in your Sonoff basic. Generally, the process is the same no matter what device you are using. From a high level, you need to connect your device to a computer and use ESPTool to flash Tasmota. As I mentioned there are plenty of YouTube videos out there for just about any device so you should not have an issue getting information if needed.
Now that you have Tasmota on your device you have so many doors unlocked for you. From this point you should be able to integrate your device into any automation you can think of.
What do you think was it worth it to flash Tasmota? Let me know in the comments below.
I am passionate about the IoT and connected devices. Using connectivity to automate our lives will empower civilization to achieve greatness.