Pinout Reference
This page provides a detailed pinout reference for the ESP32 boards supported by ESP-Claw. Understanding which pins to use — and which to avoid — is essential for connecting sensors, actuators, and peripherals.
ESP32-C3 SuperMini Pinout
Section titled “ESP32-C3 SuperMini Pinout”The ESP32-C3 SuperMini is the most popular board for MimiClaw. It exposes 13 GPIO pins on a compact form factor.
Available GPIO Pins
Section titled “Available GPIO Pins”| GPIO | Default Function | ADC | PWM | I2C | SPI | Notes |
|---|---|---|---|---|---|---|
| GPIO 0 | — | ADC1_CH0 | Yes | — | — | Strapping pin (boot mode). Avoid pulling low at boot. |
| GPIO 1 | — | ADC1_CH1 | Yes | — | — | Safe for general use |
| GPIO 2 | Boot LED | ADC1_CH2 | Yes | — | — | Connected to onboard LED. Strapping pin. |
| GPIO 3 | — | ADC1_CH3 | Yes | — | — | Safe for general use |
| GPIO 4 | — | ADC1_CH4 | Yes | SDA | — | Default I2C data pin |
| GPIO 5 | — | — | Yes | SCL | — | Default I2C clock pin |
| GPIO 6 | — | — | Yes | — | SCLK | Default SPI clock |
| GPIO 7 | — | — | Yes | — | MOSI | Default SPI data out |
| GPIO 8 | — | — | Yes | — | — | Strapping pin. Use with caution at boot. |
| GPIO 9 | Boot button | — | Yes | — | — | Connected to BOOT button. Strapping pin. |
| GPIO 10 | — | — | Yes | — | MISO | Default SPI data in |
| GPIO 20 | USB D+ | — | — | — | — | USB bus. Do not use for GPIO if USB is needed. |
| GPIO 21 | USB D- | — | — | — | — | USB bus. Do not use for GPIO if USB is needed. |
Strapping Pins Warning
Section titled “Strapping Pins Warning”GPIOs 0, 2, 8, and 9 are strapping pins. Their state during power-on or reset determines the boot mode:
- GPIO 9: Must be high (floating or pulled up) for normal boot. If held low during reset, the chip enters download mode. This is the BOOT button pin.
- GPIO 8: Must be high for normal boot. Pulling low enables UART download mode.
- GPIO 2: Affects boot log output.
Recommendation: Avoid using strapping pins for outputs that might be pulled to unexpected levels during boot. They work fine for inputs (sensors) or outputs that start in a safe state.
Default Pin Assignments in ESP-Claw
Section titled “Default Pin Assignments in ESP-Claw”| Function | Pin | Configurable |
|---|---|---|
| Built-in LED | GPIO 2 | No |
| BOOT button | GPIO 9 | No |
| I2C SDA | GPIO 4 | Yes |
| I2C SCL | GPIO 5 | Yes |
| DHT22 sensor | GPIO 3 | Yes |
| UART TX (debug) | GPIO 21 | No |
| UART RX (debug) | GPIO 20 | No |
ESP32-S3 DevKitC Pinout
Section titled “ESP32-S3 DevKitC Pinout”The ESP32-S3 offers significantly more GPIO pins — 45 in total — with additional peripherals including USB OTG, camera interface, and capacitive touch.
Commonly Used Pins
Section titled “Commonly Used Pins”| GPIO | Default Function | ADC | PWM | Touch | Notes |
|---|---|---|---|---|---|
| GPIO 1-10 | General purpose | ADC1 | Yes | Touch 1-10 | All safe for general use |
| GPIO 11-14 | — | ADC2 | Yes | Touch 11-14 | ADC2 cannot be used while Wi-Fi is active |
| GPIO 15-16 | — | — | Yes | — | PSRAM pins on some boards. Check your board schematic. |
| GPIO 17-18 | — | — | Yes | — | Safe for general use |
| GPIO 19-20 | USB D-/D+ | — | — | — | USB OTG pins. Do not use for GPIO if USB is needed. |
| GPIO 21 | — | — | Yes | — | Safe for general use |
| GPIO 35-42 | Octal SPI | — | — | — | Connected to PSRAM/Flash on most boards. Do not use. |
| GPIO 43-44 | UART0 TX/RX | — | Yes | — | Debug UART. Available for GPIO if debug not needed. |
| GPIO 45-46 | — | — | Yes | — | Strapping pins |
| GPIO 47-48 | — | — | Yes | — | Safe for general use. GPIO 48 = onboard RGB LED on some boards. |
Default Pin Assignments in ESP-Claw (S3)
Section titled “Default Pin Assignments in ESP-Claw (S3)”| Function | Pin | Configurable |
|---|---|---|
| I2C SDA | GPIO 1 | Yes |
| I2C SCL | GPIO 2 | Yes |
| I2S Mic (BCK) | GPIO 4 | Yes |
| I2S Mic (WS) | GPIO 5 | Yes |
| I2S Mic (DATA) | GPIO 6 | Yes |
| I2S Speaker (BCK) | GPIO 7 | Yes |
| I2S Speaker (WS) | GPIO 8 | Yes |
| I2S Speaker (DATA) | GPIO 9 | Yes |
| DHT22 sensor | GPIO 10 | Yes |
| Servo motor | GPIO 11 | Yes |
| IR LED | GPIO 12 | Yes |
| IR Receiver | GPIO 13 | Yes |
| NeoPixel LED | GPIO 48 | Yes |
| OLED Display SDA | GPIO 1 (shared I2C) | Yes |
| OLED Display SCL | GPIO 2 (shared I2C) | Yes |
Power Pins
Section titled “Power Pins”Both the C3 and S3 dev boards provide:
| Pin | Voltage | Max Current | Use For |
|---|---|---|---|
| 3.3V | 3.3V regulated | 500mA (from USB) | Sensors, LEDs, logic ICs |
| 5V | 5V from USB | 500mA (USB limit) | Servo motors, 5V sensors |
| GND | Ground | — | Common ground for all peripherals |
Important: Never connect 5V directly to a GPIO pin. ESP32 GPIO pins are 3.3V tolerant. Use a level shifter or voltage divider for 5V signals.
Tips for Pin Selection
Section titled “Tips for Pin Selection”- Avoid strapping pins for outputs that could interfere with boot
- ADC2 is unavailable when Wi-Fi is active — use ADC1 pins for analog readings
- I2C devices share a bus — you can connect multiple I2C sensors to the same SDA/SCL pins (each device has a unique address)
- PWM is available on any GPIO — the ESP32 has a flexible LED Control (LEDC) peripheral
- Use pull-up resistors for I2C (4.7K ohm) and DHT22 (10K ohm) connections