Wi-Fi
Interfacing ESP8266 Module Wi-Fi with ESP32
What is the ESP8266 Module?
A more fully-broken-out ESP8266 module than the ESP-01, exposing extra GPIO pins alongside its Wi-Fi radio. It packages the same ESP8266 Wi-Fi SoC used across the ESP-01 through ESP-12 family, but on a board layout that surfaces more of the chip's usable GPIO, ADC, and control pins, making it easier to wire directly into a breadboard project without the limited 2-GPIO constraint of the ESP-01.
Specifications
| Wi-Fi chipset | ESP8266 SoC, 802.11 b/g/n 2.4GHz Wi-Fi |
| CPU | Tensilica L106 32-bit RISC, up to 80/160 MHz |
| Operating voltage | 3.3V DC (NOT 5V tolerant on GPIO or power input) |
| Operating current | ~80 mA average, spikes to 200-300 mA during Wi-Fi transmit bursts |
| Flash memory | Typically 1MB–4MB onboard SPI flash, depending on module variant |
| GPIO | Multiple usable GPIO pins broken out (varies by exact module, typically 8-9), plus one analog input (ADC) |
| ADC | 1 analog input, 0-1V range (some breakouts add a resistor divider for 0-3.3V) |
| Programming interface | UART (TX/RX) for flashing via esptool or the Arduino IDE, requires GPIO0 pulled LOW to enter flash mode |
ESP8266 Module Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power, 3.3V DC only — do not supply 5V |
| 2 | GND | Ground |
| 3 | TX / RXD | UART transmit/receive for programming and serial communication |
| 4 | GPIO0 | General I/O; must be pulled LOW at boot to enter flashing mode, HIGH for normal run mode |
| 5 | GPIO2 | General I/O; must be pulled HIGH at boot for normal operation |
| 6 | CH_PD / EN | Chip enable — must be pulled HIGH for the module to run |
| 7 | RST | Active-LOW reset pin |
| 8 | A0 (ADC) | Analog input, present on modules that expose it (e.g. ESP-12 based boards) |
All ESP8266 GPIO and power pins are strictly 3.3V — connecting 5V logic or supply will damage the chip, so use a logic-level shifter or a 5V-to-3.3V regulator when interfacing with 5V boards like the Arduino Uno. GPIO0 and GPIO2 have boot-mode roles (LOW/HIGH respectively for normal run) that must be respected or the module will fail to start correctly.
Setting Up ESP8266 Module with ESP32
Library
ESP8266WiFi by ESP8266 Community
Bundled with the ESP8266 Arduino core
[]