ESP 8266 Description
The ESP 8266 is a Wi-Fi transceiver chip that is able to connect to a wireless network. This chip is widely used for Internet of things projects, as it combines the abilities of a microcontroller unit and a wireless station. It is one of the most loved products in home automation applications, also because it has a very affordable price.
The device features 16 GPIO pins and SPI, I2C, UART interfaces. The TCP/IP stack is integrated, as well as the 802.11 Wi-Fi support for encrypted networks (WPA and WPA2). It has everything you need to communicate with sensors and electronic chips. Another strength of this product is its memory space. The ESP has a lot more memory than his colleague Arduino and that the programmer doesn’t have to edit the code to fit it into a limited space. On the other hand, the chip must be powered at 3.3 volts in order to work, which is not always ideal.
I remember the times when I got my first ESP 8266 boards. Programming the chips was a nightmare back then. The early models were extremely unstable and they would freeze whenever there was a small voltage spike. The programming process was very inconvenient, since all the documentation available was written in Chinese. Moreover, some pins caused instability when used, so you never knew which GPIO pins you could use.
Most of these problems are now solved and the boards are generally stable. The biggest improvement was the release of a new open source firmware, called NodeMcu. The new firmware was designed to code the ESP with Arduino-like syntax and this inspired the Arduino IDE developers to support the board, with English documentation. Now the ESP 8266 can be programmed using the Arduino IDE in C/C++ language, like any other Arduino board.
The NodeMcu development board
I am using a modified version of the chip called NodeMcu Development Board. It is based on the ESP 8266 12E chip and it has some additional features that make life much easier. First of all, the board mounts a micro usb female connector with a serial converter. There is no need to use an USB-to-serial chip to program the board anymore, but all you need is a common phone charger. Secondly, the same connector provides easier powering through the 5V to 3.3V regulator. Lastly, you don’t need to press the reset and flash buttons to flash the new code, as the IDE does that automatically for you.
I have been using these boards for my experiments with Home Assistant and I am satisfied with their quality and their stability. They are excellent products for Internet of things projects because they unlock the power and the convenience of wireless networks.
My Home Assistant project: Home Assistant – part 1
External links: NodeMcu homepage