Proje Defteri

ESP32 Pinout Reference

Searchable pin reference and clickable board diagram for the ESP32 DevKit v1 (30-pin), DevKitC (38-pin), C3 SuperMini, S3, C3, S2 and C6. See each GPIO's type and its special functions (ADC, Touch, DAC, I2C, SPI, UART, input-only) instantly. Everything runs in your browser.

Microcontroller:

PinTypeSpecial functions

Tip: click a pin row (or press Enter) to copy the pin name to your clipboard.

What is an ESP32 Pinout (Pin Diagram)?

An ESP32 pinout is a map of every GPIO on the development board and the functions it supports. On the ESP32 almost every pin is multi-purpose: the same GPIO can act as digital I/O, an ADC (analog input), a capacitive touch channel and a PWM output. Picking the right pin decides whether a project works; a wrong choice can stop the board from booting or keep a sensor from ever being read. This tool gives you a searchable reference for the ESP32 DevKit v1 (30-pin), ESP32-DevKitC (38-pin), ESP32-S3 and ESP32-C3, matching Espressif's documentation. All data is embedded in the page and every operation runs locally in your browser.

How to use it

Board summaries

ESP32 DevKit v1 (30-pin): based on the ESP32-WROOM-32, 240 MHz dual-core with Wi-Fi + Bluetooth. The most common ESP32 board. 18 ADC channels (ADC1 + ADC2), 10 capacitive touch channels, 2 DACs (GPIO25/26). Default I2C is GPIO21/22; default SPI (VSPI) is MOSI=23 / MISO=19 / SCK=18 / SS=5. 3.3V logic, not 5V-tolerant.

ESP32-DevKitC (38-pin): uses the same WROOM-32 chip as the DevKit v1; pin functions are identical. The 38-pin board simply breaks out more GND pins and both SENSOR_VP/VN inputs. The answer to "30-pin or 38-pin" is that they are electrically the same, only the physical breakout differs.

ESP32-S3: dual-core LX7 with AI acceleration (vector instructions) and native USB (GPIO19 D- / GPIO20 D+). No DAC; ADC1 is on GPIO1-10, ADC2 on GPIO11-20, and touch on GPIO1-14. The flexible GPIO matrix means I2C/SPI/UART pins are assigned in code. On the DevKitC-1 the RGB LED is on GPIO48.

ESP32-C3 (DevKitM-1): single-core RISC-V, low-cost. It has no touch and no DAC. ADC1 is on GPIO0-4 and ADC2 on GPIO5. Native USB is on GPIO18 (D-) / GPIO19 (D+). GPIO11-17 are used by the internal flash and are not broken out.

ESP32-C3 SuperMini: a tiny, ultra-cheap 16-pin board built on the same C3 chip, with USB-C and a ceramic antenna. The on-board LED is GPIO8 (active low) and BOOT is GPIO9. Ideal for wearables and compact BLE/Wi-Fi projects.

ESP32-S2: single-core LX7 with Wi-Fi but no Bluetooth. It offers native USB OTG (GPIO19/20) and two DACs (GPIO17/18), which suits USB HID and device projects.

ESP32-C6: RISC-V with Wi-Fi 6, BLE 5 and 802.15.4 (Thread/Zigbee). No touch/DAC; ADC1 is on GPIO0-6 and native USB on GPIO12/13. Ideal for Matter and smart-home devices.

Common gotchas

This reference is a practical companion for electronics learners, anyone building IoT and prototypes with the ESP32, and anyone drawing a schematic. It does not replace the official datasheets; for critical designs always confirm against Espressif's documentation.

Frequently Asked Questions

How many GPIO pins does the ESP32 DevKit v1 have?

The ESP32-WROOM-32 module has 34 physical GPIOs. GPIO6-11 are tied to the on-board flash and cannot be used, while GPIO34-39 are input-only. In practice you get roughly 22-25 freely usable GPIOs. The 38-pin DevKitC uses the same chip and just exposes more GND pins.

What are the default I2C (SDA/SCL) and SPI pins on the ESP32?

On the classic ESP32 the default I2C is SDA=GPIO21, SCL=GPIO22, remappable with Wire.begin(SDA, SCL). Default SPI (VSPI) is MOSI=GPIO23, MISO=GPIO19, SCK=GPIO18, SS=GPIO5. On the S3 and C3 these pins are assigned in code.

Which ESP32 pins are input-only?

On the classic ESP32, GPIO34, GPIO35, GPIO36 (VP) and GPIO39 (VN) are input-only; they cannot be outputs and have no internal pull-up/pull-down. The ESP32-S3 and C3 have no input-only pins.

Is the ESP32 5V-tolerant?

No. All ESP32 I/O runs at 3.3V and is not 5V-tolerant. Use a level shifter or voltage divider for 5V sensors.

Is the pin data sent to a server?

No. The tool runs entirely in your browser; all pin data is embedded in the page, no network requests are made and nothing is stored.