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.
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/
- ESP-01S (not the ESP-01!)
- Computer with Windows (10) and 7-zip on it
- ESP USB UART programmer (the one with CP2104 chip)
- Wifi 2.4Ghz within sufficient range
- 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.
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:
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…
- ESP Easy website:
- ESP Easy Github releases:
- ESP Easy’s documentation
it don’t work
(You may disconnect the unit if you want.)
COM port is already in use. Cannot proceed.
Adding settings using SERIAL commands.
Most systems have more then one COM/serial port. You need to select the right serial port. If you want to check, you need to open your device manager and lookup the port.
A second issue that sometimes causes trouble, is if you have other software claiming the serial port. A serial port does not support sharing with multiple applications. Let me know if you need any more help…
alles geprobeerd maar ook dat helpt niet
A few years ago I configured an ESP-01 dual relay board for 2 remote irrigation zones where I have 120V power but no wiring for 24V power. With no experience of what I was about to do I found ESP-Easy a challenge to get working then and again now because apparently, I didn’t take very good notes. Recently I decided that I wanted to have a backup ESP-01 so that if something happens to the one I already use I have a hot-swappable replacement and I was again stuck researching how I did this before. After much flashing and little success, I found your site. I wanted to say thank you so much for some clarity on this, explaining the differences between the devices and providing concise info without the junk and ambiguity I elsewhere. Your site/post made it a breeze.
Just a note, I have both an ESP-01 and and ESP-01S. While per your information the LEDs are indeed different on the two, both of mine have an ESP8266EX chip on them and I was able to flash both with ESP_Easy_mega_20210223_normal_ESP8266_1M.bin. Perhaps being a bit newer the 512K chips are becoming less common, but just to share that some may find that their ESP-01 will work with ESP_Easy as well.
Thanks again for sharing your knowledge.
Thanks, your comment made my day!
Great and very clear article….Thank a lot for this perfect explanation.
Tried on NodeMCU worked …..Esp-01 unable to flash although the black one is shipped with 1MB .