What is ESP8266?
Early this year I read about ESP8266, a WiFi SoC (System on a Chip) that can connect to 802.11b/g/n networks on the 2.4GHz band. It can be addressed with SPI or a serial connection, and has an AT command set similar to the old-style modem. Basically, it has everything you would need to connect a microcontroller device to a WiFi network, with the ESP8266 chip itself handling the complicated business of finding, joining and transmitting/receiving over a WiFi network.
One thing that really caught my eyes was its price. You could buy a tiny ESP8266 module for as low as $2. It prompted me to order several boards from aliexpress and started to play with it. You can buy it from other online sources like Ebay, Amazon or your local DIY electronics retailer.
The ESP8266 is more than just a WiFi dongle, though: it is a fully fledged microcontroller in itself, with a megabyte of flash memory and a 32-bit processor that uses a RISC architecture. You can view it as a sort of nano arduino with integrated WiFi module. Here are few examples what you can do with this $2 board:
- Tiny web server.
- Collect data via its GPIOs and send it over the Internet.
- Receive data from Internet and activate/deactivate actuator or relay via its GPIOs.
- IoT devices, … etc.
And it can do this while drawing a reasonably low amount of power: while receiving data, it typically uses just 60mA, and sending data over an 802.11n connection uses just 145mA. That means you can drive it from a small battery or other small power source, and it will keep running for a long time.
ESP8266 modules
ESP8266 chip is manufactured by Espressif, a Chinese company. But ESP8266 usually comes assembled on a board that is manufactured by other vendors such as AIThinkers, Olimex and several others. The boards integrate an ESP8266 chip plus a Flash memory chip (Flash RAM), a crystal, and usually on on-board WiFi antenna to form ESP8266 modules. The Flash RAM size and chip model can vary.
There are several ESP8266 modules available, currently numbered ESP-01 through ESP-13. Functionally, there are no difference among these ESP8266 module family. The differences are on the antenna type, form-factor, shielding and the number of pins made available in the board which in turns determine the module dimension and its price. The ESP-01 is the most popular simple module to start with while the ESP-12 is popular because of its size and the number of pins brought to the side of the board. Information on specification of each module is available at ESP8266 community wiki site.
Some other companies such as NodeMCU, Adafruit also make available development boards specifically intended for the ESP8266. This integrated development boards that are breadboard-friendly, include USB connectivity on-board, 3.3V regulator or level shifting and present a reasonable number of I/O pins to the connector.
ESP8266 performance
If you doubt ESP8266’s capability, the range test below should give you some idea on how powerful this tiny module despite of its tiny size and low price: