Opens in a new tab

ESP-01 / ESP-01S Pinout

ESP-01 is the smallest ESP8266 module: eight pins, two free GPIO and a UART. It started out as a Wi-Fi “modem” for Arduino controlled by AT commands; today it is mostly programmed directly – for simple sensors, relays or LED strip control.

The newer ESP-01S (black) has 1 MB of flash and pull-ups right on the module.

Specifications

  • ESP8266: Tensilica L106 80/160 MHz
  • 1 MB flash (only 512 kB on the oldest ESP-01)
  • Wi-Fi 4 (2.4 GHz), PCB antenna
  • 2 GPIO (GPIO0, GPIO2) and UART (GPIO1/GPIO3 can also be used as GPIO)
  • 3.3 V supply only, around 300 mA peak
  • 24.8 × 14.3 mm, 2 × 4 pin header

To upload you need a USB-serial converter with 3.3 V logic or a low-cost ESP-01 adapter – but not every adapter has a button for download mode. The module doesn’t plug into a breadboard; the 2 × 4 header would short the rows.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

ESP-01 (ESP8266) – pinoutESP-01 (ESP8266) – pinoutchiptron.eu · CC BY 4.0ESP8266 4 GPIO3 RX 8 3V3 ← Power 3.3 V (not 5 V!) – supply at least 500 mA 3 GPIO0 7 RST ← Reset – connecting to GND restarts the module 2 GPIO2 LED (ESP-01S) 6 CH_PD ← Chip enable (EN) – must be logic 1 1 GND 5 GPIO1 TX blue LED (ESP-01) GPIO UART Power Ground (GND) Control / reset Strapping pin
Download:PNGSVG
Pin table – ESP-01 (ESP8266)
PinNameDirectionUARTI2CSPIADCNote
1GND–
2GPIO2input/outputStrapping pin – must be logic 1 at boot; UART1 TX. On the ESP-01S, blue LED (lights at logic 0)
3GPIO0input/outputStrapping pin – logic 0 at boot = firmware download mode
4GPIO3input/outputRXUART0 RX
5GPIO1input/outputTXUART0 TX; blue LED on the ESP-01 (blinks during communication)
6CH_PDinputChip enable (EN) – must be logic 1 (pull-up to 3.3 V), otherwise the module does not work. On the ESP-01S the pull-up is on the module.
7RSTinputReset – connecting to GND restarts the module
83V3inputPower 3.3 V (not 5 V!) – supply at least 500 mA

What to watch out for

  • 3.3 V supply, not 5 V! The Arduino’s 3V3 pin (50 mA) isn’t enough for Wi-Fi.
  • CH_PD (EN) must be at logic 1 – on the ESP-01 via your own pull-up; the ESP-01S has one on the module.
  • GPIO0 at logic 0 at boot = download mode; GPIO2 must be at logic 1 at boot.
  • The blue LED is on GPIO2 on the ESP-01S (lit at logic 0) and on TX (GPIO1) on the ESP-01.

ESP-01 projects on chiptron.eu/

Projects and guides on chiptron.eu/:

  • Esparto 2.0 – a library for custom ESP8266 firmware, supporting ESP01, Wemos D1 and Sonoff
  • 100 IoT projects – MicroPython projects with code for ESP8266, ESP32 and Pico

More pinouts

See all pinouts on the Pinouts page.

Related Articles