What is ESPEasy? The easiest way to get started with ESP8266 and ESP32

ESPEasy is a free and open source firmware for ESP8266 and ESP32 devices that allows you to configure and control home automation devices quickly and easily. Here are some of the highlights of ESPEasy.

The great advantage of ESPEasy is that you don't need to know how to program to create "custom devices" that support just the sensors and other elements we want and do just what we want them to do.

What is ESPEasy?

ESPEasy is firmware for ESP8266 and ESP32 devices that allows you to configure and control home automation devices quickly and easily.

No need for programming

For the vast majority of things you want to do, you simply choose the items you want to use via a menu and configure each item.

Hundreds of devices supported

If, for example, you want to create a thermometer:

  1. In the menu you choose the temperature sensor to be used from the many temperature sensors that ESPEasy supports (currently 18 "families" of temperature sensors).
  2. You select from the menu the screen you are going to use (14 different screens today).
  3. You configure, via the user-friendly graphical interface, the two elements and...

That's it!

Some temperature sensors supported by ESPEasy

ESPEasy supports a variety of temperature sensors, some of which are:

  • DS18B20: A digital temperature sensor that uses the 1-Wire protocol to communicate with a controller device. It is very accurate, with a measurement range of -55 to +125 degrees Celsius and an accuracy of ±0.5 degrees Celsius.
  • DHT11/DHT22: These are humidity and temperature sensors that use digital communication protocol to communicate with a controller device. The DHT11 has a temperature measurement range of 0 to 50 degrees Celsius and an accuracy of ±2 degrees Celsius, while the DHT22 has a temperature measurement range of -40 to 80 degrees Celsius and an accuracy of ±0.5 degrees Celsius.
  • BME280: It is a temperature, humidity and atmospheric pressure sensor that uses the I2C protocol to communicate with a controller device. It has a temperature measurement range of -40 to 85 degrees Celsius with an accuracy of ±1 degree Celsius.
  • TMP102: A digital temperature sensor that uses the I2C protocol to communicate with a controller device. It has a temperature measurement range of -55 to +125 degrees Celsius with an accuracy of ±0.5 degrees Celsius.
  • LM35: An analogue temperature sensor with a measuring range of -55 to +150 degrees Celsius with an accuracy of ±0.5 degrees Celsius.

ESPEasy supports other temperature sensors, these are just a few examples. It is important to ensure that the sensor chosen is compatible with ESPEasy before using it in a home automation project.

Some screens supported by ESPEasy

ESPEasy supports several screens, some of which are:

  • OLED I2C (such as SSD1306 and SH1106): This is a low-power OLED display that uses the I2C protocol to communicate with a controller device. It is very easy to use and has excellent image quality.
  • I2C LCD: An LCD display that uses the I2C protocol to communicate with a controller device. It is an excellent choice for projects that require displaying information in a text format.
  • TFT: A TFT display that uses the SPI protocol to communicate with a controller device. It is an excellent choice for projects that require displaying images and graphics.
  • Nextion: A TFT display with a built-in user interface that uses serial protocol to communicate with a controller device. It is an excellent choice for projects that require displaying information in a text or graphical format with a user-friendly interface.
  • ST7735: This is a high-resolution TFT display that uses the SPI protocol to communicate with a controller device. It is an excellent choice for projects that require displaying high-resolution images and graphics.
  • ILI9341: A TFT display that uses the SPI protocol to communicate with a controller device. It is an excellent choice for projects that require displaying images and graphics with a high contrast ratio and wide viewing angle.
  • Nokia 5110: It is an LCD display with a resolution of 84×48 pixels that uses serial protocol to communicate with a controller device. It is an excellent choice for projects that require displaying information in a text format with low power consumption.

It is important to note that ESPEasy supports other types of displays in addition to those mentioned above, but it is important to make sure that the chosen display is ESPEasy compatible before using it in a home automation project.

In the ESPEasy documentation you can see the complete list of the existing official plugins to check the supported hardware.

There are so many plugins available that they can't all fit in one version of ESPEasy at once, so there are several versions of ESPEasy with different "collections" of plugins. In the list of official plugins you can see in which version(s) you can find each of them.

In addition to these almost 150 official plugins, there are many more on the page ESPEasyPluginPlayground on Github you can find many more plugins that, for one reason or another, are not on the official list.

ESPEasy's powerful rules engine

ESPEasy includes a powerful rules engine that allows us to make the connected sensors and actuators cooperate with each other, send data, receive data from the outside, and much more, without programming.

The easiest way to make your own device with an ESP8266 or ESP32.

You can see in several places on this blog, such as here, here, here y hereexamples of how to use the rules to do simple things and implement simple custom behaviour without programming.

Why use ESPEasy?

I suppose that by now you will have found many reasons to use ESPEasy, but, just in case, here are some of the main ones...

ESPEasy is easy to install and configure, making it ideal for beginners in the field of home automation.

It offers a large number of plugins and configuration options, allowing users to tailor it to their specific needs.

It is compatible with a wide variety of devices and protocols, making it versatile and easy to integrate into different home automation systems.

In addition:

  • ESPEasy is a free and open source firmware for ESP8266 and ESP32 devices that allows you to configure and control home automation devices quickly and easily.
  • It is ideal for beginners and advanced users, and offers a variety of configuration options and plugins to suit the specific needs of each user.
  • It is compatible with a wide variety of devices and protocols, making it versatile and easy to integrate into different home automation systems.
  • In short, ESPEasy is an excellent choice for those looking to automate their home easily and affordably.

How do I install and configure ESPEasy?

ESPEasy can be installed by simply connecting the ESP8266 or ESP32 to a PC and accessing a web page.

The whole process can be done from the website without the need to install anything on your computer.

All you have to do is access the "Web Flasher"Select the version you want to record from the list, press the "CONNECT" button and follow the instructions. In a couple of minutes, and without installing anything on the PCIf you have ESPEasy engraved on your ESP8266 or ESP32, you will have ESPEasy engraved on your ESP8266 or ESP32.

Of course, for the more daring (especially those who, for one reason or another, want to compile their own version of ESPEasy), ESPEasy can be installed on ESP8266 and ESP32 devices by using a programmer or by using a development platform such as PlatformIO.

You can download all the source code from the ESPEasy Github page.

Once installed, ESPEasy's configuration can be accessed via a web interface.

Different plugins and options can be configured to tailor ESPEasy to the user's specific needs.

Which devices are compatible with ESPEasy?

ESPEasy supports a wide variety of home automation devices, including temperature and humidity sensors, motion sensors, gas sensors, displays, relays, switches, lights, blinds, appliances and other GPIO-controlled devices.

In addition, ESPEasy is compatible with ESP8266 and ESP32 devices, which means that any device based on these chips will be compatible with ESPEasy. These devices include development boards, modules and drivers that are widely available on the market. Examples of ESPEasy-compatible devices include NodeMCU, Wemos D1, Sonoff, ESP8266-01, ESP32-DevKitC and many more. It is important to make sure that your chosen device is ESPEasy compatible before you start using it in a home automation project.

It also supports wireless protocols such as Zigbee and Z-Wave for integration with other existing home automation systems. In addition, the ESPEasy community of developers and users is constantly adding new compatible devices and protocols, so it is advisable to regularly check the list of compatible devices on the project's official website.

Which protocols are supported by ESPEasy?

ESPEasy supports a number of communication protocols including:

  • MQTT: A lightweight messaging communication protocol designed for IoT device connectivity. ESPEasy has an MQTT plugin that allows integration with other devices and home automation platforms that use this protocol.
  • HTTP: A network communication protocol used for the transmission of information on the web. ESPEasy has an HTTP plugin that allows integration with other home automation devices and platforms that use this protocol.
  • Blynk: A home automation platform that allows you to control connected devices via a mobile app. ESPEasy has a Blynk plugin that allows integration with this platform.
  • Zigbee: A wireless personal area protocol (PAN) designed for IoT devices. ESPEasy has a Zigbee plugin that allows integration with other devices and home automation systems that use this protocol.
  • Z-Wave: A wireless communication protocol designed for home automation devices. ESPEasy has a Z-Wave plugin that allows integration with other home automation devices and systems that use this protocol.
  • KNX: is a communication standard for smart home and building automation. ESPEasy has a KNX plugin that allows integration with devices and systems using this protocol.

In general, ESPEasy supports a wide variety of communication protocols, allowing for great flexibility in integration with other existing home automation devices and systems. It is important to ensure that the chosen protocol is compatible with ESPEasy before starting to use it in a home automation project.

In addition to the protocols mentioned above, ESPEasy also supports sensor and device protocols such as 1-Wire, DallasTemperature, DHT, DHT22, DHT11, BME280, BH1750, BME680, SHT3x, among others. This allows direct connection with temperature, humidity, pressure sensors, among others, and obtain data from them for use in home automation projects.

It also supports serial communication protocols such as RS232, RS485 and RS422, allowing connection to devices using these protocols.

Another protocol supported by ESPEasy is the Infrared Remote Control (IR) device control protocol, a protocol used to control electronic devices through the use of infrared signals, allowing control of televisions, air conditioners, among other devices. ESPEasy has an IR plugin to allow the integration of these devices with the home automation system.

Incidentally, ESPEasy supports wireless communication protocols such as Bluetooth, LoRa, Sigfox, etc.

In summary, ESPEasy supports a wide variety of communication protocols and devices, allowing for great flexibility in integration with other existing home automation devices and systems. It is important to ensure that the chosen protocol or device is compatible with ESPEasy before starting to use it in a home automation project.

What advantages does ESPEasy have over similar firmware?

There are other firmwares, similar to ESPEasy, but of the ones I have tried, I like it the most for several reasons.

I'm not an expert on them, but here is what I found most important (note that some things may have improved since I tested them).

It is, of course, not a comprehensive or up-to-date comparison.

ESPEasy, Tasmota and ESPHome are both free and open source firmware for ESP8266 and ESP32 devices to configure and control home automation devices. However, ESPEasy has some advantages over Tasmota and ESPHome:

  • User-friendly interface: ESPEasy has an easy-to-use web interface for configuring and controlling connected devices, making it accessible to users with no programming experience. Tasmota also has a web interface, but can be more complex to use.
  • Wide variety of plugins: ESPEasy has a wide variety of plugins to suit the specific needs of each user, allowing great flexibility in the configuration and control of connected devices. Tasmota and ESPHome also have a variety of plugins, but not as wide as ESPEasy.
  • ESPEasy has a rules engine that allows you to schedule automated actions and events on connected devices, allowing you to create automated scenarios and schedule actions to be performed at specific times of the day or upon certain events.
  • Compatible with a wide variety of devices and protocols: ESPEasy supports a wide variety of devices and protocols, allowing for great flexibility in integration with other existing home automation devices and systems. Tasmota and ESPHome also support a variety of devices and protocols, but their compatibility is not as broad as ESPEasy.
  • Active community: ESPEasy has an active community of developers and users who provide support and help, making it easy to solve problems and add new features. Tasmota and ESPHome also have an active community, but it is not as large and active as ESPEasy.

Overall, ESPEasy has a simpler and more standardised setup and operation structure, a greater number of configuration options and additional security mechanisms, making it an excellent choice for automating your home easily and affordably. However, each firmware has its own features and advantages, and it is important to evaluate which is the best fit for your needs and preferences before making a decision.

In summary, ESPEasy offers a friendlier user interface, a wide variety of plugins, greater compatibility with devices and protocols, and a more active community than Tasmota and ESPHome, making it an excellent choice for automating your home easily and affordably. However, each firmware has its own features and advantages, and it is important to evaluate which is the best fit for your needs and preferences before making a decision.

Is ESPEasy only for small projects?

Not at all. You can use ESPEasy in quite complex projects.

ESPEasy is a very versatile tool that can be used in a variety of projects, both small and large. Its easy-to-use interface and wide variety of plugins make it ideal for small IoT and home automation projects, such as controlling lights, blinds, sensors and other devices. However, it can also be used in larger, more complex projects, such as building automation systems and industrial monitoring systems. It is important to note that the hardware and memory limitations of ESP8266 and ESP32 devices may be a factor to consider when choosing ESPEasy for large projects.

Of course, ESPEasy is not suitable for doing certain things that should be left to more "serious and professional" platforms (neither the hardware nor the software is suitable for managing a community lift or other things on which lives depend, for example).

That said, there are projects made with ESPEasy that have grown a lot and have nothing to envy to other projects programmed from scratch.

In this blog you have the project CO2 Easy and its detailed tutorialThe CO2 meter is a very good quality CO2 meter with a host of features that has been built by hundreds of users with minimal technical knowledge (or none at all, in many cases).

Disadvantages of ESPEasy

Like everything in life, ESPEasy also has some disadvantages and disadvantages and I don't want to leave without telling you the main ones (or the ones that seem most important to me).

The documentation mess (and where to find it)

ESPEasy has gone through different times and different development teams (and "product" managers). This has meant, unfortunately, that the documentation is somewhat "scattered" in different more or less official sites.

If you are just starting out, what I am going to tell you below is very important and has been a challenge to understand for those who have not come across instructions as simple as these. 😀

The old wiki

On the one hand, we would have the original documentation. A wiki that was very good but got outdated and has not been updated for a long time.

It is important that you recognise the format, "the look of it", so that when you come to it looking for information or following a link, you know that you are in the old wiki and that the documentation is very outdated.

A lot of people have a lot of problems with ESPEasy because they use this wiki as a source of information without realising that what appears here is obsolete (although it is clearly indicated):

Translated warning

The wiki ESPEasy ReadTheDocs new

There is a new and updated "wiki" on ReadTheDocs and is very good.

The warning itself makes this clear and provides a link: "See ESPEasy ReadTheDocs for more up-to-date documentation.

Although it says that not all the information on the old wiki has been transferred to ReadTheDocs, that note is also very old and practically all the information is already on the new ReadTheDocs (at least the worthwhile information).

Note that to make it easier, inside ESPEasy, every time you enter the configuration page of a plugin (for example in the following page, corresponding to the configuration of an analogue input), you have TWO help icons:

These two (in case you haven't seen them yet):

If you click on the first one, number 1, you will be taken to to the old wiki:

If you click on the second one, number 2, you are taken to the modern and up-to-date ESPEasy information on ReadTheDocs:

Once you know how to tell the difference between the old wiki and the modern information on ReadTheDocs, it's much easier.

I'm telling you, even if it seems obvious: the information in the old wiki is still interesting and there are some things you won't find in the new documentation. Use it, but know that it is old.

The ESPEasy forum or community

The ESPEasy community (the forum) is a very good place to look for information, ask questions at any level and check what others are doing.

There is a lot of information and, although it can be difficult to separate the wheat from the chaff and the old from the new (always keep an eye on the date of posts), it is a great source of information.

It's also a good place to ask questions: Don't know how to do something? Don't understand how to configure something? A plugin doesn't work as it should? It's the perfect place to ask questions (in English, of course).

The ESPEasy Github repository

ESPEasy is a great open-source project and the ESPEasy repository on Github is their home.

In case you are not familiar with it, GitHub is an online code hosting and collaboration platform. It is a popular tool used for software development, allowing developers to store, share and collaborate on open source and proprietary projects. GitHub offers a variety of features, such as version control, bug tracking, real-time collaboration and a friendly user interface. It is a very popular tool in the programming world.

At the time of writing ESPEasy has been cloned (copied to another Github repository, possibly from someone else) 2100 times and has almost 3000 stars. It is a very popular project.

This resource is eminently technical and, above all, by and for programmers. This is where people collaborate on programming, contribute code and discuss what's new and what's going to be implemented.

This is also the place to keep track of errors, bugs or problems as they appear.

If you are a seasoned programmer, you already know what this is all about, and if you are not, as you advance in the use of ESPEasy it is very likely that you will gradually use this tool more and more, as you outgrow the other tools.

Little information in Spanish

Now that you know where to find information about ESPEasy, I'll tell you something that I'm sure you've already discovered: almost all information about ESPEasy is in English.

You will have a hard time finding quality information about ESPEasy in English.

Fortunately, even if you don't understand English, nowadays with the very good translation tools available (such as Google Translator) this shouldn't be a problem. You may find it more difficult to express yourself in the forums using a translator, but for consuming the documentation you should have no problem.

You will also find some blogs from people who, like me, have made a small effort to write extensive and in-depth articles about ESPEasy. In this blog you can find information in English about how to use ESPEasy, how to do certain things and some projects.

Limitations of ESPEasy

Despite its many advantages and useful features, ESPEasy also has some disadvantages and drawbacks:

  • Hardware limitations: ESPEasy is designed to be used on ESP8266 and ESP32 devices, so if you are looking to use it on other devices, you will need to find a way to adapt it.
  • Memory limitations: Because ESP8266 and ESP32 devices have limited memory, ESPEasy also has limitations on the number of devices and plugins that can be used simultaneously.
  • Speed limitations: ESPEasy is designed to work with low-speed devices, so if you are looking to use it for projects that require higher processing speeds, it may not be the best choice.
  • Advanced configuration: Although ESPEasy has a user-friendly interface, the advanced configuration can be a bit complicated for users with no programming or electronics experience.
  • Security limitations: Although ESPEasy has some security features, such as password encryption, it is not as secure as other specialised security firmware.

Low participation

Finally, I have a problem that makes me very angry, and that is the people who complain that they can't find something in ESPEasy, that it lacks a feature or that the documentation is bad or poorly organised...

ESPEasy is an open source, free and open source project. It is made by people who dedicate their time (a lot of time) so that ESPEasy exists and you can use it for free. There is no company behind ESPEasy and there are no financial benefits, only expenses.

Before criticising, consider participating. If something is not explained in writing, or if the explanation is not very good, take the courage to write it yourself. You don't need to write a complete manual, if you write a little bit about something you will be contributing a small and very important part, and together with the small (or big) contributions of other people like you, they will become that functionality that doesn't exist, those explanations that haven't been written.

Participate, collaborate, share!

Summary

In summary, ESPEasy is an excellent option to automate your home easily and affordably, but it has limitations in terms of hardware, memory, speed, advanced configuration and security, so it is important to evaluate what is the best fit for your needs and preferences before making a decision.

It is certainly a very easy way to get started with ESP8266 and ESP32 without any programming knowledge.

Leave a comment