What is the ESP8266?
The ESP8266 is a SoC that integrates the TCP/IP stack and is able to connect to a Wifi network, allowing it to communicate with other devices over the Internet. This device is made by Espressif Systems and it can be bought integrated in a developing board (as shown in figure 1) by less that 2 euros.
In the beginning, it was sold as a serial-Wifi adapter for other microcontrollers, which would send AT commands to the ESP8266 to control it. Those commands were handled by a firmware which comes by default with the modules. So, we could, for example, connect an Arduino to the ESP8266 and start sending data over the Internet.
Nevertheless, the community quickly realized that the device was programmable, allowing for more freedom. So, instead of using a pre-defined set of AT commands, there was the possibility to develop a more optimized serial protocol to interact with the device from another microcontroller. Better than that, it was possible to develop standalone applications, since the ESP8266 integrates a 32 bits microcontroller.
Although there is an SDK from Espressif, installing the toolchain to program the device is not trivial. Nevertheless, the device is now currently supported in the Arduino IDE, making it much easier to program.
The ESP8266 has the following features :
- Microcontroller: Tensilica L106 (32 bits)
- Clock frequency: 80 MHz
- Wifi: 802.11 b/g/n
- Interfaces: SPI, I2C, I2S, UART, PWM
- GPIO: 17 pins (12 mA max current)
- ADC: 10 bits
- Operating voltage: 3.3 V
Personally, I think the ESP8266 was a major breakthrough for the IoT, bringing to the DIY community an amazing tool for projects. With less than 2 euros, we have a solution that allows us to connect our projects to the Internet. With this device, we have a simple way of creating remote monitor and actuation projects.
Nevertheless, there are still some issues, such as the robustness of the security protocols, that need to be carefully evaluated if we want to create a commercial application.
Following the huge success of ESP8266, the new SoC of Espressif will be the ESP32, which has 2 Tensilica L108 processors and also support for Bluetooth , amongst other features.