All pinouts

Espressif ESP32

ESP32-CAM (AI-Thinker) Pinout

The ESP32-CAM crams an ESP32-S, an OV2640 2 MP camera, and a microSD slot onto one tiny board. There's no USB-serial chip, so you need an FTDI adapter (or the dedicated programmer board) to flash it. Most GPIOs are taken by the camera and SD card — only a handful are free for sensors.

Specifications

MCU
ESP32-S (dual-core 240 MHz)
PSRAM
4 MB (required for higher resolutions)
Flash
4 MB
Camera
OV2640, up to 1600×1200
Storage
microSD up to 4 GB (FAT)
Operating voltage
5V on 5V pin (regulator on board)

Pin reference

PinNameType / functionsNotes
5V5V inputPowerUse a clean 5V/1A+ supply — brownouts crash the camera.
3V33.3VPowerCan also feed 3.3V directly if 5V regulator is bypassed.
GNDGroundPower
U0RGPIO3 / RX0UART RX for flashing
U0TGPIO1 / TX0UART TX for flashing
GPIO0GPIO0Flash modeTie to GND while powering up to enter flash mode.
GPIO2GPIO2Free I/OShared with SD_DATA0. Free only if SD is unused or in 1-bit mode.
GPIO4GPIO4 / FLASH LEDOnboard white flash LEDBright! Use PWM or it will overheat.
GPIO12GPIO12Free I/O (with care)Strapping pin — must be LOW at boot.
GPIO13GPIO13Free I/OShared with SD_DATA3.
GPIO14GPIO14Free I/OShared with SD_CLK.
GPIO15GPIO15Free I/OShared with SD_CMD.
GPIO16GPIO16Free I/O (input only on this board)

Gotchas

  • 01No USB. You need an FTDI/CP2102 adapter wired to U0R/U0T, with GPIO0 to GND for flashing.
  • 02Power it from a real 5V/1A bench supply or USB-to-serial with a strong line — the camera browns out cheap regulators.
  • 03Built-in flash LED on GPIO4 doubles as SD_DATA1 — it lights up faintly during SD writes.
  • 04Use PSRAM-enabled builds (board variant 'AI-Thinker ESP32-CAM') for anything above 320×240.

Explain code for this board

Paste a sketch and get a plain-English breakdown.

Open code explainer

Generate a wiring diagram

Describe your circuit and get a Mermaid diagram you can share.

Open diagram generator

Other boards