MakerLab
ESP32ESP32-H2-DevKitC-1

ESP32-H2-DevKitC-1: Your Gateway to Low-Power IoT and Thread/Zigbee

A compact development board featuring Espressif's RISC-V based ESP32-H2, ideal for energy-efficient wireless applications with Thread and Zigbee support.

ESP32-H2-DevKitC-1

The ESP32-H2-DevKitC-1 is a versatile development board designed by Espressif Systems, built around the powerful ESP32-H2 System-on-Chip (SoC). This board serves as an excellent platform for makers, students, and engineers looking to explore low-power wireless communication technologies. Its compact size and comprehensive pinout make it accessible for prototyping and learning, while its advanced features cater to more complex IoT projects.

At the heart of the ESP32-H2-DevKitC-1 is the ESP32-H2 chip, which is based on a single-core 32-bit RISC-V processor. This architecture offers a good balance of performance and power efficiency, making it suitable for battery-powered devices. The ESP32-H2 is Espressif's first RISC-V based chip and is specifically designed for low-power wireless applications, featuring integrated support for IEEE 802.15.4, which is the foundation for protocols like Thread and Zigbee.

Positioned within Espressif's extensive family of IoT solutions, the ESP32-H2 stands out for its focus on the 2.4 GHz wireless band and its robust support for mesh networking protocols. Unlike some of its dual-core Wi-Fi/Bluetooth counterparts, the ESP32-H2 prioritizes energy efficiency and the specific needs of smart home and industrial automation applications. This makes it a compelling choice for projects where battery life and reliable wireless connectivity are paramount, especially those leveraging Thread or Zigbee for interoperability.

Released around 2023, the ESP32-H2-DevKitC-1 is a relatively new offering that brings Espressif's expertise in wireless connectivity to the RISC-V ecosystem. It's an ideal board for those interested in building smart home devices, wireless sensors, or any application requiring reliable, low-power mesh networking. Its straightforward development environment, supported by popular tools like the Arduino IDE and ESP-IDF, ensures a smooth learning curve for beginners while offering the depth required for professional embedded development.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-H2
Architecture32-bit RISC-V single-core processor
Clock speedUp to 96 MHz
Flash / Storage4 MB (onboard SPI flash)
RAM / SRAM512 KB SRAM
Operating voltage3.3V
Digital I/O pins19
Analog / ADC6 channels (12-bit ADC)
PWMUp to 6 channels (ESP32-H2 supports 16 PWM channels, board exposes some)
ConnectivityIEEE 802.15.4 (Thread, Zigbee), Bluetooth 5 (LE)
USBUSB-to-UART bridge (CP2102N) for programming and serial communication
Power inputUSB Type-C (5V), 2-pin JST connector (3.7V LiPo battery), VIN pin (5V)
Dimensions60.0mm x 25.4mm

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
VIN5V Power Input
ENEnable (High active)
IO0GPIO0 (Boot mode selection)
IO1GPIO1 (UART0 TXD)
IO2GPIO2 (UART0 RXD)
IO3GPIO3 (ADC1_CH3)
IO4GPIO4 (ADC1_CH4)
IO5GPIO5
IO6GPIO6
IO7GPIO7
IO8GPIO8
IO9GPIO9
IO10GPIO10
IO11GPIO11
IO12GPIO12
IO13GPIO13
IO14GPIO14
IO15GPIO15
IO16GPIO16
IO17GPIO17
IO18GPIO18
IO19GPIO19
IO20GPIO20
IO21GPIO21
IO22GPIO22
IO23GPIO23
IO24GPIO24
IO25GPIO25
IO26GPIO26
IO27GPIO27
IO28GPIO28
IO29GPIO29
IO30GPIO30
IO31GPIO31
IO32GPIO32
IO33GPIO33
IO34GPIO34
IO35GPIO35
IO36GPIO36
IO37GPIO37
IO38GPIO38
IO39GPIO39
ADC1_CH0GPIO36 (ADC1_CH0)
ADC1_CH1GPIO39 (ADC1_CH1)
ADC1_CH2GPIO34 (ADC1_CH2)
ADC1_CH3GPIO35 (ADC1_CH3)
ADC1_CH4GPIO33 (ADC1_CH4)
ADC1_CH5GPIO32 (ADC1_CH5)
ADC2_CH0GPIO0 (ADC2_CH0)
ADC2_CH1GPIO2 (ADC2_CH1)
ADC2_CH2GPIO4 (ADC2_CH2)
ADC2_CH3GPIO15 (ADC2_CH3)
ADC2_CH4GPIO13 (ADC2_CH4)
ADC2_CH5GPIO12 (ADC2_CH5)
ADC2_CH6GPIO14 (ADC2_CH6)
ADC2_CH7GPIO27 (ADC2_CH7)
UART0_TXDGPIO1
UART0_RXDGPIO2
UART1_TXDGPIO17
UART1_RXDGPIO18
SPI_MOSIGPIO10
SPI_MISOGPIO11
SPI_SCKGPIO12
SPI_CSGPIO9
I2C0_SDAGPIO21
I2C0_SCLGPIO22
I2C1_SDAGPIO19
I2C1_SCLGPIO20
PWM0GPIO0
PWM1GPIO1
PWM2GPIO2
PWM3GPIO3
PWM4GPIO4
PWM5GPIO5
PWM6GPIO6
PWM7GPIO7
PWM8GPIO8
PWM9GPIO9
PWM10GPIO10
PWM11GPIO11
PWM12GPIO12
PWM13GPIO13
PWM14GPIO14
PWM15GPIO15
BT_ENBluetooth Enable
BLE_ENBluetooth Low Energy Enable
RSTReset Pin

Wiring & circuit basics

The ESP32-H2-DevKitC-1 operates at a logic level of 3.3V. It is crucial to connect peripherals that also operate at 3.3V. Connecting 5V devices directly to the GPIO pins can damage the ESP32-H2. If you need to interface with 5V logic devices, use a logic level shifter. Powering the board can be done via the USB Type-C port, a 3.7V LiPo battery connected to the JST connector, or the VIN pin which accepts 5V. The onboard voltage regulator will step down the voltage to the required 3.3V for the chip and peripherals connected to the 3V3 pin.

When powering the board, ensure the power source can supply sufficient current. For USB power, a standard 500mA port is usually adequate for basic projects, but for more demanding applications or when powering external components, consider a supply capable of 1A or more. If using a LiPo battery, ensure it is correctly connected to the JST connector, observing polarity. The VIN pin is also a reliable option for 5V power input, often used when the board is part of a larger system. Always double-check polarity before connecting power to avoid damage.

A simple example circuit is connecting an LED. Choose a GPIO pin (e.g., GPIO5) and connect it to a current-limiting resistor (typically 220-330 ohms for a standard LED) and then to the anode of the LED. The cathode of the LED connects to a GND pin. This setup allows you to control the LED by setting the GPIO pin HIGH to turn it on and LOW to turn it off. For an I2C sensor, connect its SDA pin to I2C0_SDA (GPIO21) and its SCL pin to I2C0_SCL (GPIO22). Ensure the sensor also operates at 3.3V or use a level shifter. Both the sensor and the ESP32-H2 need to share a common GND connection.

Programming & getting started

The ESP32-H2-DevKitC-1 can be programmed using several popular toolchains. For beginners and rapid prototyping, the Arduino IDE with the Espressif ESP32 Arduino Core installed is an excellent choice. MicroPython and CircuitPython are also well-supported, offering a Python-based development experience. For more advanced users or those requiring fine-grained control and access to all chip features, Espressif's ESP-IDF (Espressif IoT Development Framework) provides a powerful C/C++ SDK. PlatformIO, an extension for Visual Studio Code, also offers comprehensive support for the ESP32-H2.

To upload your first program using the Arduino IDE: 1. Install the Arduino IDE. 2. Go to File > Preferences and add 'https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json' to the Additional Boards Manager URLs. 3. Go to Tools > Board > Boards Manager, search for 'esp32', and install the esp32 by Espressif Systems package. 4. Select the 'ESP32H2 Dev Module' from the Tools > Board menu. 5. Connect the ESP32-H2-DevKitC-1 to your computer via USB. 6. Select the correct COM port from Tools > Port. 7. Write or upload a sample sketch (e.g., Blink). 8. Click the Upload button.

Project ideas

Low-Power Wireless Sensor NodeBuild a battery-powered sensor that transmits data using Thread or Zigbee. This project utilizes the ESP32-H2's low-power capabilities and its 802.15.4 radio. You'll learn about mesh networking, power management, and integrating sensors like temperature or humidity.
Smart Home Hub (Thread/Zigbee)Use the ESP32-H2 as a central hub to connect and manage other Thread or Zigbee devices in a smart home environment. This project explores building a border router or a coordinator, understanding device pairing, and inter-device communication.
Bluetooth LE BeaconConfigure the ESP32-H2 to act as a Bluetooth Low Energy (BLE) beacon, broadcasting custom data. This is useful for location tracking, proximity marketing, or asset management. It leverages the board's BLE capabilities and requires understanding BLE advertising packets.
Remote Environmental MonitorCreate a device that monitors temperature, humidity, and air quality, sending data wirelessly over Thread or Zigbee to a central collector. This project involves using ADC pins for analog sensors and I2C for digital sensors, along with wireless communication.
Energy Harvesting SystemDevelop a system that uses an energy harvesting source (like a small solar panel) to power the ESP32-H2 and transmit sensor data periodically. This project focuses heavily on optimizing power consumption and managing intermittent power sources.
Matter Over Thread DeviceImplement a simple Matter device that communicates over a Thread network. This project introduces the Matter application layer and how it integrates with the underlying Thread protocol, a key step towards building interoperable smart home devices.

Buying tips & gotchas

When purchasing the ESP32-H2-DevKitC-1, ensure you are buying from reputable vendors to avoid counterfeit or lower-quality clones. The board is designed to be beginner-friendly, but always double-check voltage levels (3.3V logic) before connecting external components. Common pitfalls include accidentally powering 5V components directly from GPIO pins or misinterpreting pin functions. Accessories that complement this board include 3.3V-compatible sensors (e.g., BME280 for environmental sensing), small LiPo batteries for portable projects, and USB-to-serial adapters if you plan to use ESP-IDF without the onboard USB-UART bridge. Consider a breadboard and jumper wires for easy prototyping.