In addition to many important hardware components, each project also consists of the appropriate software. It is often less time-consuming to assemble the project than to write the appropriate software later.
But this work can be saved thanks to some OpenSource projects. One of them is the often mentioned here Tasmota firmware. Another is the ESPEasy project.
ESPEasy ist fast eine Art “Betriebssystem” für den ESP8266-Mikrocontroller mit dessen Hilfe sich verschiedene Sensoren und Aktoren steuern und auslesen lassen. Dabei lassen sich unterschiedlichste Sensoren und Aktoren sogar über einfache Regeln miteinander verknüpfen.
Also many of the projects on Nerdiy.de are based on ESPEasy and a plugin that fits to the project.
A general procedure how to install ESPEasy and if necessary desired plugins on your ESP8266 is described in the following article.
Safety instructions
I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links/advertising links
The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂
Requirements
Helpful articles:
Before you start with this article you should have installed and configured the Arduino IDE. You can find information about this in the following article.
Install programs - an example
ArduinoIDE - Tips and Tricks
Required material:
In the following list you will find all the parts you need to implement this article.
Required tool:
In the following list you will find all the tools you need to implement this article.
Compile it yourself or not?
Grundsätzlich gibt es zwei “verschiedene” Wege die gewünschte Firmware auf Euren ESP8266 zu bekommen.
- You can compile the program code yourself (i.e. translate the program code into machine code) and transfer the resulting .bin file to the ESP8266.
- You can transfer already compiled .bin files directly to the ESP8266.
Both have advantages and disadvantages.
The advantage of 1. is that you can activate or deactivate all desired features. You have more configuration options, but of course more potential sources of error.
Der Vorteil von 2. ist, dass Ihr funktionierende .bin-Dateien recht schnell auf den ESP8266 übertragen könnt. In den meisten Fällen reicht dies auch aus. Nur in dem Fall, dass Ihr mehr “Kontrolle” über die einzelnen Firmware-Optionen haben wollt ist der 1. Weg zu wählen.
Nevertheless, this article describes the first way.
Way two is in the article ESP8266 – mit dem “Esptool” .bin-Dateien unter Windows flashen described.
Copy the current ESPEasy version from the GitHub
To transfer the firmware to your ESP8266 you have to download it first.
This is on the one hand included in the GitHub of the original project, which you can find here:
https://github.com/letscontrolit/ESPEasy/tree/mega
There is also a mirrored version on the Nerdiy.de GitHub account, which you can find here:
https://github.com/Nerdiyde/ESPEasy
The advantage of the Nerdiy.de-ESPEasy version is that all plugins written by Nerdiy.de are already included and tested with the used ESPEasy version. So - if you want to use one of the Nerdiy plugins - you don't have to copy additional plugin files into the project. The disadvantage is that the ESPEasy version in the original git is probably newer.
Activate required plugins
Some ESPEasy plugins are not enabled by default. This way you can save the disk space for plugins that are not needed.
Wenn Ihr diese Plugins verwenden wollt ist es wichtig, dass Ihr diese vor dem kompilieren “aktiviert”. Wechselt dazu in der Arduino-IDE in das entsprechende Plugin.


Flash firmware
To finally compile the firmware with the desired settings and transfer it to the connected ESP you first have to specify the configuration of your board.


Configure WLAN access data
After you have transferred the ESPEasy firmware to your ESP8266, you have to connect it to your WLAN.
Dazu bietet die ESPEasy-Firmware eine praktische Funktion. Ist auf dem jeweiligen ESP8266 noch kein gülter WLAN-Zugnag hinterlegt mit dem sich die Firmware in einem WLAN einloggen kann, so wird automatisch ein eigenes WLAN eröffnet. Mit diesem WLAN könnt Ihr Euch dann verbinden und über diesem Weg der ESPEasy-Firmware die Logindaten zu Eurem “eigentlichen” WLAN mitteilen.
In the following, this way is described with an Android cell phone. In principle, however, this also works with any other WLAN-enabled device that is also Internet-enabled. The process should be identical with an iOS device or a normal laptop.







Your ESPEasy device will then restart and should connect to the selected WLAN after the restart.
You can recognize this, for example, by the fact that a new device is now present in your network. How you can display the devices in your network and also find out their IP address is described in the article Display/find out the IP address of the devices in the network described.
If you have entered the wrong WLAN access data, you can easily reset your ESPEasy device (i.e. reset it to factory settings). This will delete all settings - even if they are incorrect - and you can configure new correct access data in the same way as described above.
Um Euer ESPEasy Gerät auf Werkseinstellungen zurückzusetzen reicht es den Befehl “reset” auszuführen. Wie Ihr Befehle auf einem ESPEasy-Gerät ausführt ist im Artikel ESPEasy - Execute commands and actions via HTTP, MQTT, UDP and directly described. Since you only have access to your ESPEasy device via the serial interface, this is the only way to execute commands on it.
Configuring WLAN access data via the serial interface
I personally find it easier to configure the WLAN access data via the serial interface. Most of the time you have flashed the ESP anyway and the serial connection is still active.
In this case you can use the command
Settings
display the currently saved settings and (if already connected to a WLAN) also the assigned IP address of the ESP.
Mithilfe des Befehls “WifiSSID” lässt sich nun die SSID Eures WLAN-Zugangspunktes einstellen. Dabei sendet Ihr zuerst den Befehl und dann von einem Leerzeichen getrennt den Namen Eures WLAN-Zugangspunktes. Heißt Euer WLAN zum Beispiel “meinTollesWLAN” würde dies wie folgt aussehen
WifiSSID myGreatWLAN
Für das Passwort benötigt Ihr den Befehl “WifiKey”. Lautet Euer Passwort zum Beispiel “meinTollesPasswort” würde der Befehl zum Einstellen wie folgt aussehen
WifiKey myToolPassword
It is important that you save the written settings afterwards. This is done with the command
Save
After that you can restart the ESP by entering the following command and it should connect to the configured WLAN access point afterwards:
restart
Have fun with the project
I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂
PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂
Hello,
Many thanks for the many detailed instructions!
Unfortunately, not everything is quite clear for the beginner, so please ask a few questions about the above instructions:
1. Is uploading an *.ino file using the Arduino IDE identical to flashing one of the ready-made binaries offered? Then what would be the ESPeasy firmware file to upload to get the ESPeasy firmware onto the D1 mini for example? Where exactly can this *.ino file be found in the repository?
2. Where exactly can you find the plugins when you have downloaded the whole linked folder from Github, which you can then deactivate / activate?
3. Where in the ESPeasys firmware file should additional plugins be copied?
Thank you very much for your effort!
Best regards
hey christian,
vielen Dank für deine guten Hinweise. Manchmal wird man dann doch etwas “Betriebsblind” für die wichtigen Fragen. 🙂
I will add the tips to the article. 🙂
Best regards
Fab