The ESP8266 is, the name of a microcontroller designed by Espressif Systems. It is a self-contained WiFi networking solution offering as a bridge from the existing microcontroller to WiFi and is also capable of running self-contained applications. For less than $3, it can monitor and control things from anywhere in the world – perfect for just about any IoT project.
Contents:
- Pinout and description
- Power Requirement
- Various Peripherals and I/O
- On-Board buttons and LED
- Development Platforms
- Applications of ESP8266
1. Pinout and description
The NodeMCU_ESP8266 has 30 pins in total out of which there are 17 GPIO pins. GPIO stands for General Purpose Input Output. There are the 9 digital pins ranging from D0-D8 and there is only one analog pin A0, which is a 10 bit ADC. The D0 pin can only be used to read or write data and can’t perform other options. The ESP8266 chip is enabled when the EN pin is pulled HIGH. When pulled LOW the chip works at minimum power. The board has a 2.4 GHz antenna for a long-range of network and the CP2102 is the USB to TTL converter. The development board equips the ESP-12E module containing ESP8266 chip having Tensilica Xtensa® 32-bit LX106 RISC microprocessor which operates at 80 to 160 MHz adjustable clock frequency and supports RTOS.
There’s also 128 KB RAM and 4MB of Flash memory (for program and data storage) just enough to cope with the large strings that make up web pages, JSON/XML data, and everything we throw at IoT devices nowadays. The ESP8266 Integrates 802.11b/g/n HT40 Wi-Fi transceiver, so it can not only connect to a WiFi network and interact with the Internet, but it can also set up a network of its own, allowing other devices to connect directly to it. This makes the ESP8266 NodeMCU even more versatile.
2. Power Requirement
As the operating voltage range of ESP8266 is 3V to 3.6V, the board comes with an LDO (low dropout) voltage regulator to keep the voltage steady at 3.3V. It can reliably supply up to 600mA. It has three 3v3 pins along with 4 GND pins. The power supply is via the onboard MicroB USB connector. Alternatively, if you have a regulated 5V voltage source, the VIN pin is used to directly supply the ESP8266. Moreover, it requires 80mA Operating Current and 20 µA during Sleep Mode.
3. Various Peripherals and I/O
The ESP8266 supports UART, I2C, SPI communication protocols. It also has 4 PWM channels which can be used to drive motors, the brightness of the LED, etc. Moreover, there are 2 channels of the UART protocol. The ADC (A0) can be used to control any analog device. The CMD is the Chip select pin used in the SPI protocol.
4. On-Board buttons and LED
ESP8266 has 2 onboard buttons along with an on-board LED which connects with the D0 PIN. The two buttons are FLASH and RST.
- FLASH pin– It is to download new programs to the board
- RST pin – It is to reset the ESP8266 chip
5. Development Platforms
The prominent platforms include the Arduino IDE and the ESPlorer IDE. Other development platforms that can be equipped to program the ESP8266 are the Espruino – JavaScript SDK and firmware closely emulating Node.js, or Mongoose OS – An operating system for IoT devices.
6. Applications of ESP8266
The NodeMCU_ESP8266 is basically a WIFI module integrated with a Microcontroller, which makes it a very useful device in the field of IoT. It’s 17 GPIO pins are the prime example of this. The main use of ESP8266 is in home automation which is so much trending these days. This is due to its low power consumption in Sleep mode. Apart from it, some other examples where the ESP8266 can be used are:
- Making a web server using ESP8266
- Controlling DHT11 using the NodeMCU
- ESP8266 weather station-using BMP280
- OTA programming
- ESP8266 NTP server for fetching time