Comparing ESPHome and Tasmota

If you’re looking for custom firmware for your devices with an Espressif ESP chip, then two of your options are ESPHome and Tasmota. I’ve used both – first Tasmota and later ESPHome – on some smart plugs that used to run Tuya firmware.

I’m going to share my experience with both and highlight the strengths of each. Other ESP firmwares are available, but for this I’m just going to focus on comparing ESPHome and Tasmota.

Tasmota is easier to install

If you’re new to installing custom firmware, then Tasmota is the easiest to install. This is because you first install Tasmota on the device, and then configure it using a web interface on the device after installation.

With ESPHome, the configuration is done first, using a YAML file. You then have to compile a binary and install this on the device. This can mean some trial and error with getting the configuration right.

Tasmota has more device templates

This directory has Tasmota templates for almost 3000 devices. If you can find your device there, then you can install Tasmota, copy and paste the template, and off you go. Meanwhile, the ESPHome Device Database only has 650 devices with pre-made configurations.

ESPHome may be easier to update

If you’re running Tasmota on an older ESP8266 device, then it can be a pain to update. This is because of the limited storage space on ESP8266 devices and the size of the Tasmota binaries – there isn’t enough space to store the current and new firmware side-by-side. Instead, you have to install a ‘minimal’ version of Tasmota, and then install the new full version as a two step process.

Because the ESPHome Device Builder compiles the firmware specifically for each device, it’s smaller and so can be updated over-the-air more easily.

This shouldn’t be an issue with newer ESP32 chips, as these have more storage and so updating Tasmota should be easier.

ESPHome is updated more regularly

It’s a good thing that ESPHome updates more easily, because updates are also more regular. Normally there’s a big update every other month, and smaller bugfix updates most weeks. It also has a much larger developer community.

Tasmota receives updates less often, and its development is largely led by just one lead person.

ESPHome supports more DIY devices

Whilst Tasmota is generally used to convert existing devices with ESP chips, ESPHome is more suited to DIY projects that you can make yourself. For example, you could build your own thermostat, a miniature weather station or control your blinds. With the right boards and cables, you can build and automate lots of things using ESPHome that Tasmota may not support.

ESPHome integrates better with Home Assistant

Being both projects of the Open Home Foundation, ESPHome has better integration with Home Assistant. You can run the ESPHome Device Builder as a Home Assistant add-on, and devices should show up without much additional configuration.

Tasmota works over MQTT, so you have to set up an MQTT Broker like Mosquitto in Home Assistant first, and then configure your Tasmota devices to use it. You also have to enable an option using the device’s command line to allow Home Assistant to discover the devices.

In summary

Whether you want to use Tasmota or ESPHome will depend on your use case:

  • If you’re relatively new to all this, or are replacing the firmware on an existing device, Tasmota may be best for you as it’ll be easier to install and configure.
  • If you’re a more advance user, or have built a DIY device that requires functionality not normally supported by Tasmota, then you should use ESPHome.

Enjoyed reading?

You can sign up to receive a weekly email with new blog posts - just pop your email in below. You can unsubscribe at any time.

Reposts

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)