Espressif ESP32-H2-DevKitM-1
by Espressif
Official ESP32-H2 dev board with 802.15.4 and BLE - perfect for Zigbee, Thread, and secure IoT development.

On this page
Espressif ESP32-H2-DevKitM-1 Pinout
30 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | 3V33.3V | power | - | 3.3V regulated output |
| 2 | - | RSTEN | control | - | Chip reset (active low) |
| 3 | 0 | IO0 | strapping | pwm | Fast SPI FSPIQ |
| 4 | 1 | IO1A1 | strapping | adc · pwm | ADC1_CH0; FSPICS0 |
| 5 | 2 | IO2A2 | strapping | adc · pwm | ADC1_CH1; JTAG MTMS; FSPIWP |
| 6 | 3 | IO3A3 | strapping | adc · pwm | ADC1_CH2; JTAG MTDO; FSPIHD |
| 7 | 13 | IO13 | safe | pwm | 32.768 kHz crystal XTAL_32K_P |
| 8 | 14 | IO14 | safe | pwm | 32.768 kHz crystal XTAL_32K_N |
| 9 | 4 | IO4A4 | strapping | adc · pwm | ADC1_CH3; JTAG MTCK; FSPICLK |
| 10 | 5 | IO5A5 | strapping | adc · pwm | ADC1_CH4; JTAG MTDI; FSPID |
| 11 | - | NC | - | Not connected | |
| 12 | - | VBAT3V3 | power | - | Battery / RTC 3.3V input |
| 13 | - | GND | ground | - | Ground |
| 14 | - | 5V | power | - | 5V input (from USB) / output |
| 15 | - | GND | ground | - | Ground |
| 16 | - | GND | ground | - | Ground |
| 17 | 24 | IO24TX | uart | uart · pwm | UART0 TX; FSPICS2 |
| 18 | 23 | IO23RX | uart | uart · pwm | UART0 RX; FSPICS1 |
| 19 | 10 | IO10 | safe | pwm | Zero-crossing detector ZCD0 |
| 20 | 11 | IO11 | safe | pwm | Zero-crossing detector ZCD1 |
| 21 | 25 | IO25 | strapping | pwm | Fast SPI FSPICS3 |
| 22 | 12 | IO12 | safe | pwm | General-purpose GPIO |
| 23 | 8 | IO8 | strapping | pwm | Onboard RGB LED; ROM boot log (LOG) |
| 24 | 22 | IO22 | safe | pwm | General-purpose GPIO |
| 25 | - | GND | ground | - | Ground |
| 26 | 9 | IO9 | strapping | pwm | BOOT button |
| 27 | - | GND | ground | - | Ground |
| 28 | 27 | IO27 | uart | pwm | USB D+ (native USB Serial/JTAG); FSPICS5 |
| 29 | 26 | IO26 | uart | pwm | USB D- (native USB Serial/JTAG); FSPICS4 |
| 30 | - | GND | ground | - | Ground |
Start with these
6 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
11 pins · 10 things to knowIO0IO1 General-purpose SPI2 (FSPI) IO MUX pins Other
IO MUX pin of the general-purpose SPI2 (FSPI) bus. The H2 runs its in-package flash on GPIO15-20, which the QFN32 package does not route out, so this pin is free unless your board wires an SPI peripheral to FSPI.
- IO0General-purpose SPI2 (FSPI) IO MUX pin - data out (FSPIQ)
- IO1General-purpose SPI2 (FSPI) IO MUX pin - chip select (FSPICS0)
IO2 JTAG TMS signal; also the general-purpose SPI2 (FSPI) write-protect/data line (FSPIWP) JTAG
Default JTAG TMS line - using it as GPIO disables external JTAG debugging. It is not a flash pin: the H2 keeps its in-package flash on GPIO15-20, which the QFN32 package does not route out.
IO3 JTAG TDO signal; also the general-purpose SPI2 (FSPI) hold/data line (FSPIHD) JTAG
Default JTAG TDO line - using it as GPIO disables external JTAG debugging. It is not a flash pin: the H2 keeps its in-package flash on GPIO15-20, which the QFN32 package does not route out.
IO4 JTAG TCK signal; also the general-purpose SPI2 (FSPI) clock (FSPICLK) JTAG
Default JTAG TCK line - using it as GPIO disables external JTAG debugging. It is not a flash pin: the H2 keeps its in-package flash on GPIO15-20, which the QFN32 package does not route out.
IO5 JTAG TDI signal; also the general-purpose SPI2 (FSPI) data in (FSPID) JTAG
Default JTAG TDI line - using it as GPIO disables external JTAG debugging. It is not a flash pin: the H2 keeps its in-package flash on GPIO15-20, which the QFN32 package does not route out.
IO24 UART0 TXD (transmit) pin, default serial console output. UART
Often used for boot log output and serial debugging; repurposing it can disable serial output of boot messages and interfere with console debugging.
IO23 UART0 RXD (receive) pin, default serial console input. UART
Often used for the serial console and bootloader input; repurposing it may conflict with UART communication for programming or debugging.
IO25 Bootstrapping pin; selects JTAG signal source (USB Serial/JTAG controller vs. external JTAG). Strapping
Used during boot to determine the JTAG interface source; this pin has no internal pull-up/down, so it must not be left floating (an external resistor drives it high/low to avoid unintended JTAG mode selection).
IO8 Bootstrapping pin; controls chip boot mode and ROM debug message printing. Strapping
Must be held at the proper logic level on reset to select the correct boot mode and enable/disable bootloader log output.
IO9 Bootstrapping pin; controls chip boot mode (with GPIO8). Strapping
Must be pulled high on reset for normal SPI flash boot (pulling it low while GPIO8 is high forces the chip into download/programming mode).
Only if you know the tricks
2 pins · 2 things to knowIO27 USB D+ connection pin (with internal USB pull-up). USB
By default, this pin is connected to the internal USB Serial/JTAG controller; using it as a general-purpose IO would disable the USB functionality used for debugging/programming.
IO26 USB D- connection pin (USB Serial/JTAG controller interface). USB
By default, this pin is connected to the chip's internal USB Serial/JTAG peripheral; using it as a general-purpose IO requires disabling or reconfiguring that USB interface.
Across 30 pins (2.54 mm pitch), the Espressif ESP32-H2-DevKitM-1 exposes 19 GPIO plus 3V3, VBAT, GND and 5V for power.
Peripheral wiring is straightforward: TX/RX on GPIO24 and GPIO23 cover serial logging and flashing.
Beyond plain digital I/O you get 5 ADC-capable pins for sensors and battery monitoring and PWM on every GPIO.
11 of the exposed pins carry boot-time or system duties on the ESP32-H2 (IO0, IO1, IO2 and 8 more) - check the guidance above before wiring anything to them. IO13, IO14, IO10, IO11 and 2 more are free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: ESP32H2 Dev Module USB CDC On Boot: Enabled Flash Size: 4MB (32Mb) Flash Mode: DIO Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) Upload Speed: 921600
// toggle GPIO13 - wire an LED and resistor to it
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); delay(500);
digitalWrite(13, LOW); delay(500);
}[env:esp32-h2-devkitm-1]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = esp32-h2-devkitm-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600esp32-h2-devkitm-1 - or type it after board =.esp32:
board: esp32-h2-devkitm-1
variant: esp32h2
framework:
type: esp-idf
# blink - GPIO13
output:
- platform: gpio
pin: 13
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesp32-h2-devkitm-1 (same ids as PlatformIO).esptool.py --chip esp32h2 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x0 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Downloads
Free for non-commercial use, credit espboards.dev · LicenseBoard illustration
The bare Espressif ESP32-H2-DevKitM-1 board drawn to scale at 48.26 × 25.4 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.
Pinout diagram
Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32-H2 Series Datasheet v1.3 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.
Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.
Specifications
ESP32-H2 · 48.26 × 25.4 mm · vs other ESP32 chips →Dimensions

About this board
Inside sits the ESP32-H2 - a Thread/Zigbee-focused RISC-V with no Wi-Fi at all.
Around the module: an addressable RGB LED (GPIO8) and Boot/Reset buttons.
- 802.15.4 radio for Thread, Zigbee and Matter plus Bluetooth 5 (LE); no Wi-Fi
- No PSRAM
Where to buy
prices are typical street prices



