ESP32 Bench
Boards: ESP32, S2, S3, C3, C6
Flash and monitor: Web Serial
← All boards

AI-Thinker ESP32-CAM pin map

ESP32 board. Pick AI Thinker ESP32-CAM in the Arduino IDE.

ESP32From vendor documentation, not hardware tested2 projects

The header order is not shown because AI-Thinker's documentation for it could not be checked. Read the labels printed next to each pin on your board.

Field notes

  • There is no USB port. Flash it through a 3.3 V USB-to-serial adapter on U0T and U0R, with IO0 tied to GND, then remove that wire and reset.
  • Power it from a solid 5 V supply. Brownout resets are the most common ESP32-CAM fault, and the adapter's 3.3 V pin is rarely strong enough.
  • The camera uses almost every GPIO. With the SD card in 1-bit mode, GPIO 12 and 13 are the usual pins left for your own wiring.
  • The bright LED on GPIO 4 shares a line with the SD card, so it flickers when the card is used.
  • Enable PSRAM in the board settings, or the camera can only use small frame sizes.

Analog and Wi-Fi

Wi-Fi uses ADC2. While Wi-Fi is on, analogRead() on ADC2 pins fails, so use ADC1 pins (GPIO 32 to 39) for anything you read with Wi-Fi running.

GPIOs the board already uses

From Espressif's camera example and the ESP32's SD card pins.

GPIOWired toChip functions
0Camera XCLK. Also the boot pin: tie it to GND while flashingADC2_CH1, Touch T1, Deep-sleep wake
5Camera data Y2—
18Camera data Y3—
19Camera data Y4—
21Camera data Y5—
36Camera data Y6ADC1_CH0, Deep-sleep wake, Input only
39Camera data Y7ADC1_CH3, Deep-sleep wake, Input only
34Camera data Y8ADC1_CH6, Deep-sleep wake, Input only
35Camera data Y9ADC1_CH7, Deep-sleep wake, Input only
25Camera VSYNCADC2_CH8, DAC1, Deep-sleep wake
23Camera HREF—
22Camera PCLK—
26Camera SCCB data (SIOD)ADC2_CH9, DAC2, Deep-sleep wake
27Camera SCCB clock (SIOC)ADC2_CH7, Touch T7, Deep-sleep wake
32Camera power-down (PWDN)ADC1_CH4, Touch T9, Deep-sleep wake
4White flash LED, and SD card D1ADC2_CH0, Touch T0, Deep-sleep wake
33Small red status LEDADC1_CH5, Touch T8, Deep-sleep wake
14SD card CLKADC2_CH6, Touch T6, JTAG MTMS, Deep-sleep wake
15SD card CMDADC2_CH3, Touch T3, JTAG MTDO, Deep-sleep wake
2SD card D0ADC2_CH2, Touch T2, Deep-sleep wake
12SD card D2ADC2_CH5, Touch T5, JTAG MTDI, Deep-sleep wake
13SD card D3ADC2_CH4, Touch T4, JTAG MTCK, Deep-sleep wake
1UART0 TX, used for flashing and the serial consoleUART0 TX
3UART0 RX, used for flashing and the serial consoleUART0 RX

The ESP32 chip

FeatureValue
CPUDual-core Xtensa LX6, up to 240 MHz
RadioWi-Fi 4 (2.4 GHz), Bluetooth Classic and Bluetooth LE 4.2
GPIOs34 (GPIO 34 to 39 are input only)
Analog in18 channels on two 12-bit ADCs
Touch10 channels
Analog out2 channels, 8-bit (GPIO 25 and 26)
USBNone. Boards use a USB-to-UART bridge chip
SRAM520 KB

Compare every ESP32 chip · ESP32 datasheet

Projects for this board

  • Wi-Fi scanner List nearby networks with signal strength and channel every ten seconds. A quick radio health check.
  • ESP32-CAM video stream Stream live video from an ESP32-CAM to any browser on your network. Joins your Wi-Fi and serves the camera at its own address.