ESP8266 with ESP Easy
Step-by-step how-to guide install the ESP Easy firmware on a ESP8266 based ESP-01.
ESPEasy offers a very intuitive interface for configuring sensors that can be linked to Home Automation platforms, such as (but not limited to) Domoticz, OpenHab, Home Assistant. It can also be configured to function autonomously without depending on additional platforms or software. For example, with ESPEasy it becomes extremely easy to hook up sensors to Domoticz with JSON or MQTT.
What is ESPEasy?
ESP Easy is a free and open source MCU firmware for the Internet of things (IoT) and originally developed by the LetsControlIt.com community (formerly known as ESP8266.nu community). It runs on ESP8266 Wi-Fi based MCU (microcontroller unit) platforms for IoT from Espressif Systems. The name “ESP Easy,” by default, refers to the firmware rather than the hardware on which it runs. At a low level, the ESP Easy firmware works the same as the NodeMCU firmware and also provides a very simple operating system on the ESP8266.
Source: https://en.wikipedia.org/wiki/ESP_Easy
ESPEasy releases
The ESPEasy project was a bit dormant until recently 2 developers (grovkillen and TD-er) revived this project recently. We expect a new stabe release soon but until that moment, we can work with the Github releases.
The downside is that these release could contain ‘features’ and as such, not yet ready for a production environment. Please be aware that the latest releases are only suited for the ESP-01S and not the ESP-01 model due to the minimal memory constriction of 1MB. The ESP-01 is only equipped with 512KB of memory and not suited for the latest ESP Easy release.
ESP-01 and ESP-01s
The ESP8266 is a low-cost Wi-Fi microchip, with a full TCP/IP stack and microcontroller capability, produced by Espressif Systems in Shanghai, China. It’s called a SoC: System On a Chip. The chip first came to the attention of Western makers in August 2014 with the ESP-01 module, made by a third-party manufacturer Ai-Thinker.
The ESP-01 comes in 3 different models:
– ESP-01 Blue (this is the original ESP-01)
– ESP-01 Black
– ESP-01S Black
These are the relevant differences:
- Functional these models are not different. The work in the same way, have the same SOC ESP8266 chip, same power requirements, etc.
- There is no difference between the ESP-01 blue model and the ESP-01 black model. But keep in mind that the ESP-01 and the ESP-01S are both black.
- The main difference is that the ‘new’ ESP-01S model has 1MB memory instead of 512KB.
- With the ESP-01S the power red LED is removed, and the blue LED is on pin 2 now.
ESP-01: Blue LED on TX
ESP-01S: Blue LED on GPIO2 (low = on) - To get the ESP-01 to boot from flash, you need to supply 3.3V to the CH_PD pin to boot correctly and able to flash the ESP. With the new ESP-01S you no longer have to do this, only VCC and GND is sufficient.
- The stability and wifi range slightly improved with the new ESP-01S.
- Because the ESP-01 model is only equipped with 512KB of memory, these models are not suited for the latest ESPEasy releases. You can either upgrade the memory (with W25Q32FVSSIG for example) or use the ESP-01S model.
For a complete overview of the ESP-01 (not the ESP-01S) you can view the cheat sheet below. Be aware that the ESP-01S is a bit different, as stated earlier, but for the most these specs are similar to the ESP-01. It’s still the same SOC.
Programming the ESP-01(S)
To program the ESP-01(S) we can use a special programmer tool that we can use in China. This is a much easier method then hooking up the ESP to a serial interface, where we need a breadboard or solder to connect the ESP and program it. This way, you can easily reprogram the ESP without rerouting or adapting your setups.
These nifty programmers come in 2 models, with a CH340G and and CP2102/CP2104 USB to serial USB bus converter chip. The CP210X chip has much better driver support for Windows then the CH340G, but as a trade-off they are a bit more expensive (just a few cents). This is why I recommend that, if you are working with Windows, to use CP210X based devices.
Not relevant to this specific post but in general when buying in China, watch out with FT230 based devices. The (Chinese) market is flooded with a lot of counterfeit FTDI FT230 chips and the manufacturer kills these chips with a driver update. I unfortunately learned this the hard way, (about 4 chips/devices later). For more information about this, check this Hackaday article: https://hackaday.com/2014/10/22/watch-that-windows-update-ftdi-drivers-are-killing-fake-chips/
Prerequisites
- ESP-01S (not the ESP-01!)
https://www.aliexpress.com/item/32809618395.html - Computer with Windows (10) and 7-zip on it
- ESP USB UART programmer (the one with CP2104 chip)
https://www.aliexpress.com/item/4000370989305.html - Wifi 2.4Ghz within sufficient range
Tested with
- ESP-01S
- Windows 10, version 1909
- ESP Easy, release mega-20200608
Step 1: Download the latest ESPEasy firmware
Go to the Github page of the ESPEasy project and download the latest MEGA release. Download the one starting with “ESPEasy_ESP82xx_”. After downloading, unzip the file to your favorite location.
Yes, these downloads are a bit ‘fat’ with 60~70MB, but they include a range of different firmware, tools and source code. But it still fits on a single zipdisk (or about 200+ floppies), should the need arise.
https://github.com/letscontrolit/ESPEasy/releases
Step 2: Connect ESP programmer with ESP-01S
Next step is to plug in the ESP Programmer with a ESP01S attached to it. Always, first plug in the ESP in the programmer, then connect the programmer to your computer. After connecting the programmer to your system, wait a bit so your system can properly recognize the programmer and connect it as a serial port. This can take up to 1-2 minutes.
If you have more then one serial port on your device, you can gain more insight with the Windows Device Manager:
- Open the Device Manager by pressing the Windows Key + R. Type “devmgmt.msc” (without the “”) and press Enter.
- Expand the Ports (COM & LPT) section.
- Find the USB Programmer and make a note of the correct COM port (That’s the serial port).
Step 3: Start ESP Easy Flasher
Next is to start the ESP.Easy.Flasher.exe application. You will receive a UAC (User Account Control) warning, which you can safely accept and continue. After a few seconds, the application will start.
Step 4: Flash the ESP-01S
Once the ESP Easy Flasher application has started, it will search your system for serial ports. Once it has found the port (or if you have more then one serial port, select the correct serial port), you can continue to select the correct firmware.
Select the following firmware for your ESP-01S:
ESP_Easy_mega_<date>_normal_ESP8266_1M.bin
In this case, I selected the following firmware:
Next is to press the “Flash ESP Easy FW” button. And then it’s flashing, see that little blue led getting a hart-attack for a few seconds. Lovely.
After flashing the the ESP-01, you can press the button on the side of the programmer tool to reset, or just uplug the whole thing and plug it back in. From this moment onward, the ESP-01 only need power (and occasionally a bit of tough love).
Once the ESP-01 is booted back up, you need to connect to it using WiFi. Just look at the available wireless networks and you should find an network called “ESP-Easy”. The password is “configesp” (without the ” “).
Windows can take a bit of time for figuring out the the connection, but eventually it should get the status “No Internet, secured”. That’s perfectly fine.
If your browser does not automatically kick in, you can open your browser and open the URL http://192.168.4.1. This should bring you to the ESP Easy wifi page, where we can hook up the ESP-01 to our home network. Select your wifi network and fill in the corresponding password below. Click on Connect and let the magic happen.
Once its connected, the status will update with the current network configuration. In my case, it received the IP address 10.1.3.71 (I have a bit odd home network). This is the moment you can disconnect from the ESP Easy wifi network and reconnect to your regular network.
Now, we have a working ESP-01 with the latest ESP Easy firmware…
Enjoy!
More Information:
- ESP Easy website:
https://www.letscontrolit.com/wiki/index.php/ESPEasy - ESP Easy Github releases:
https://github.com/letscontrolit/ESPEasy/releases - ESP Easy’s documentation
https://espeasy.readthedocs.io/en/latest/