ESP32 โ€” Pinout and Setup Quick Reference

Aug 8, 2026 11:25am · 47 views
notereference1c3d
Markdown

ESP32 โ€” Pinout and Setup Quick Reference

ESP32 DevKit v1 (30-pin) Pinout

GPIOFunctionNotes
0Boot modePull high normally, low for flash mode
1TX0USB serial TX
2LED, SPIOnboard LED on many boards
3RX0USB serial RX
4GPIO, ADC2General purpose
5GPIO, SPI SSSPI chip select common
6-11FlashDO NOT USE โ€” connected to internal flash
12TDI, ADC2Boot-sensitive, avoid
13TCK, ADC2General purpose
14TMS, ADC2General purpose
15TDO, ADC2Boot-sensitive
16RX2UART2
17TX2UART2
18SCKSPI clock
19MISOSPI MISO
21SDAI2C data
22SCLI2C clock
23MOSISPI MOSI
25DAC1, ADC2Analog out
26DAC2, ADC2Analog out
27ADC2General purpose
32ADC1Input OK
33ADC1Input OK
34ADC1Input only, no pull-up
35ADC1Input only, no pull-up
36 (VP)ADC1Input only
39 (VN)ADC1Input only

Arduino IDE Setup

  1. File > Preferences > Additional boards URL:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  1. Tools > Board > Boards Manager > search "esp32" > Install
  2. Select board: ESP32 Dev Module
  3. Upload speed: 115200 or 921600
  4. Hold BOOT button when upload starts if needed

PlatformIO Setup

; platformio.ini
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200

Common Libraries

LibraryPurpose
WiFi.hBuilt-in Wi-Fi
HTTPClient.hHTTP requests
ArduinoJsonJSON parsing
ESPAsyncWebServerAsync web server
Preferences.hNVS key-value store
SPIFFS.hInternal filesystem