ESP32-H2
⚡ Lo esencial en 60 segundos
- cpu — single-core 32-bit ESP-RISC-V, four-stage pipeline, up to 96 MHz; 303.38 CoreMark at 96 MHz (3.16 CoreMark/MHz); 40 nm process (datasheet §4.1.1.1: process node:
- gpu — none (embedded MCU).
- memory — 320 KB SRAM, 128 KB ROM, 4 KB LP SRAM (retained in deep-sleep), 16 KB cache (product page + datasheet §4.1.2).
- storage — 2 MB or 4 MB SiP in-package flash; SPI/Dual/Quad/QPI interface supports up to 16 MB off-package flash (datasheet §1.2, §4.1.2.2). No PSRAM.
- connectivity — one 2.4 GHz radio combining IEEE 802.15.4 (Thread, Zigbee, Matter over Thread; 250 Kbps OQPSK PHY, RX sensitivity up to −102.5 dBm) and Bluetooth 5 (LE) incl. Coded PHY/Long Range 125 & 500 Kbps (RX sensitivity up to −106.5 dBm) and Bluetooth Mesh; TX power −24 to +20 dBm (datasheet §1.2/§5; product page). No Wi-Fi, no Bluetooth Classic — that is the key difference vs ESP32-C6, which adds Wi-Fi 6 (
- usb — USB 2.0 Full-Speed (12 Mbps) USB-Serial/JTAG controller on GPIO26/27 (D−/D+) — device console + flashing + JTAG debug, not OTG (datasheet §1.2, §4.2.1.6; DevKitM-1 guide:
- En esta placa : 9 tutoriales · 10 código
El ESP32-H2 representa una evolución estratégica dentro del catálogo de Espressif Systems, diseñada específicamente para cubrir las necesidades de la domótica moderna y el Internet de las Cosas (IoT) de bajo consumo. A diferencia de sus predecesores más conocidos, como el ESP32 clásico o el C6, esta serie de chips no incluye radio Wi-Fi ni Bluetooth clásico. En su lugar, se centra exclusivamente en los estándares IEEE 802.15.4 y Bluetooth 5 Low Energy (LE). Esta decisión arquitectónica lo posiciona como el sucesor espiritual del ESP32-C3 para aplicaciones de automatización del hogar, pero con un enfoque radical en la eficiencia energética y la interoperabilidad con protocolos como Thread y Zigbee. Introducido en 2021 y con soporte oficial en el entorno de desarrollo ESP-IDF desde la versión 5.1, el ESP32-H2 está disponible en varias formas, siendo las más comunes los módulos ESP32-H2-MINI-1 y las placas de desarrollo oficiales ESP32-H2-DevKitM-1, además de variantes de terceros como las de Waveshare o M5Stack.
El corazón del sistema es un procesador de un solo núcleo basado en la arquitectura RISC-V de 32 bits, fabricado en un proceso de 40 nanómetros. Opera a una frecuencia máxima de 96 MHz, lo que proporciona un equilibrio adecuado entre rendimiento y consumo para tareas de control y comunicación. Para los lectores no técnicos, una frecuencia de reloj medida en megahercios indica cuántos ciclos de procesamiento puede realizar el chip por segundo; en este caso, 96 millones de ciclos por segundo son suficientes para gestionar protocolos de red complejos sin necesidad de un hardware más costoso. La memoria del sistema consta de 320 KB de SRAM, 128 KB de ROM y 4 KB de SRAM de bajo consumo que permanece activa durante el sueño profundo, permitiendo mantener el contexto del sistema sin gastar energía significativa. El almacenamiento se realiza mediante memoria flash integrada en el paquete del chip (SiP), disponible en variantes de 2 MB o 4 MB, aunque el diseño permite conectar hasta 16 MB de flash externa si la aplicación lo requiere. Es importante notar que este chip no posee GPU ni memoria PSRAM, ya que su función no es el procesamiento gráfico ni el manejo de grandes volúmenes de datos en tiempo real, sino la conectividad eficiente.
La conectividad es el pilar fundamental de esta plataforma. Integra una única radio de 2.4 GHz que soporta simultáneamente IEEE 802.15.4 y Bluetooth 5 LE. El estándar 802.15.4 es la base de protocolos de malla como Thread y Zigbee, esenciales para crear redes de dispositivos domésticos inteligentes que se comunican entre sí sin depender de un único punto de acceso. La radio ofrece una sensibilidad de recepción de hasta -102.5 dBm para 802.15.4 y -106.5 dBm para Bluetooth LE con PHY codificado, lo que garantiza un alcance robusto. Además, la potencia de transmisión puede configurarse hasta +20 dBm (100 mW), una cifra notable para un dispositivo de esta categoría de precio. La certificación oficial como plataforma compatible con Zigbee y componente certificado para Thread 1.3.0 asegura que el hardware cumple con los estándares de la industria, facilitando la creación de productos interoperables. Para la seguridad, el chip incluye aceleradores criptográficos, soporte para arranque seguro basado en ECC y cifrado de memoria flash AES-128/256, protegiendo los datos y el firmware contra manipulaciones.
En cuanto a la interfaz física y el desarrollo, el ESP32-H2 ofrece 19 pines GPIO programables. Un aspecto crítico para los desarrolladores es la gestión de los pines durante el modo de sueño profundo. Los pines GPIO0 a GPIO5 y GPIO22 a GPIO27 no están disponibles en el dominio de bajo consumo, lo que significa que no pueden despertar al chip. Por tanto, cualquier botón o sensor diseñado para reactivar el dispositivo desde un estado de reposo debe conectarse a los pines del dominio LP (Low Power). Asimismo, los pines GPIO26 y GPIO27 están reservados por defecto para la función USB-Serial/JTAG, una característica heredada de la línea C3 que permite utilizar un único puerto USB-C para la consola, la programación y la depuración, simplificando enormemente el flujo de trabajo. El chip también incluye periféricos esenciales como dos interfaces UART, una SPI general, dos I2C, una I2S, canales RMT para controlar LEDs direccionables, y un conversor analógico-digital (ADC) de 12 bits con hasta 5 canales. Cabe destacar la ausencia de un conversor digital-analógico (DAC) en el conjunto de periféricos estándar.
El perfil de consumo energético es excepcionalmente bajo, lo que lo hace ideal para dispositivos alimentados por batería. En modo de sueño profundo, el consumo típico es de solo 7 microamperios, permitiendo que los nodos de malla funcionen durante años con una sola pila. Durante la transmisión de datos, el consumo varía según la potencia de salida, alcanzando los 36 mA a 0 dBm y hasta 140 mA a +20 dBm, mientras que la recepción consume entre 24 y 25 mA. La temperatura de operación recomendada abarca desde -40 hasta +105 °C para las variantes de grado industrial, lo que asegura su fiabilidad en entornos exigentes.
Existen consideraciones importantes al diseñar con esta plataforma. La ausencia total de Wi-Fi es la limitación más significativa; cualquier código heredado de proyectos ESP32 que utilice Wi-Fi o Matter sobre Wi-Fi no funcionará sin modificaciones sustanciales. Para crear un enrutador de borde Thread (necesario para conectar la red 802.15.4 a Internet), el ESP32-H2 debe emparejarse con otro chip que sí tenga Wi-Fi, como el ESP32-S3 o el C6. Además, el pin GPIO8 es un pin de estrapeo (que define el modo de arranque) y a menudo se utiliza para controlar un LED RGB direccionable en las placas de desarrollo; una mala configuración de este pin puede impedir que el chip arranque correctamente. Otro detalle técnico es que el pin GPIO12 comparte función con el dominio de alimentación VBAT, lo que requiere una planificación cuidadosa en diseños basados en batería. Finalmente, aunque el soporte para Arduino es oficial, la plataforma oficial de PlatformIO no incluye el ESP32-H2, por lo que los usuarios de este entorno deben recurrir a forks comunitarios como pioarduino para compilar sus proyectos.



Esquema de pines (pinout)

| Attr | Especificaciones | verificado |
|---|---|---|
cpu | single-core 32-bit ESP-RISC-V, four-stage pipeline, up to 96 MHz; 303.38 CoreMark at 96 MHz (3.16 CoreMark/MHz); 40 nm process (datasheet §4.1.1.1: process node: | ✔ |
gpu | none (embedded MCU). | ? sin verificar |
memory | 320 KB SRAM, 128 KB ROM, 4 KB LP SRAM (retained in deep-sleep), 16 KB cache (product page + datasheet §4.1.2). | ? sin verificar |
storage | 2 MB or 4 MB SiP in-package flash; SPI/Dual/Quad/QPI interface supports up to 16 MB off-package flash (datasheet §1.2, §4.1.2.2). No PSRAM. | ? sin verificar |
connectivity | one 2.4 GHz radio combining IEEE 802.15.4 (Thread, Zigbee, Matter over Thread; 250 Kbps OQPSK PHY, RX sensitivity up to −102.5 dBm) and Bluetooth 5 (LE) incl. Coded PHY/Long Range 125 & 500 Kbps (RX sensitivity up to −106.5 dBm) and Bluetooth Mesh; TX power −24 to +20 dBm (datasheet §1.2/§5; product page). No Wi-Fi, no Bluetooth Classic — that is the key difference vs ESP32-C6, which adds Wi-Fi 6 ( | ✔ |
usb | USB 2.0 Full-Speed (12 Mbps) USB-Serial/JTAG controller on GPIO26/27 (D−/D+) — device console + flashing + JTAG debug, not OTG (datasheet §1.2, §4.2.1.6; DevKitM-1 guide: | ✔ |
gpio | 19 programmable GPIOs; digital pins GPIO0–GPIO5 and GPIO22–GPIO27 are NOT usable in deep-sleep (LP-domain pins only); GPIO26/27 default to USB function with internal pull-up; default drive strength 20 mA (40 mA on GPIO26/27) (datasheet §2.2–2.3). - Peripherals: 2× UART, 1× general-purpose SPI (plus 2 dedicated flash SPI ports), 2× I2C, 1× I2S, RMT (2 TX + 2 RX channels), LED PWM (6 channels), TWAI (CAN 2.0A), GDMA (3 TX + 3 RX channels), SoC event task matrix (ETM) (datasheet §1.2). - ADC: 12-bit SAR, up to 5 channels; plus temperature sensor and analog (PAD voltage) comparator; no DAC in the datasheet peripheral set (datasheet §1.2, §4.2.2). | ? sin verificar |
logic_level | 3.3 v | ? sin verificar |
power | VDD3P3 (3.0–3.6 V abs-max 3.6 V) + VBAT pin (battery domain, shared with GPIO12/XTAL_32K functions); CHIP_EN must not float (datasheet §2.5, §5.1). | ? sin verificar |
consumption_3_3_v_25_c_datasheet_table_5_6_5_9 | TX 36 mA @ 0 dBm / 140 mA @ +20 dBm; RX 24–25 mA; modem-sleep 3–17 mA typ; light-sleep 25–85 µA typ; deep-sleep 7 µA typ; power-off 1 µA. | ? sin verificar |
temperature | −40 to +105 °C recommended ambient (FH-S parts); HTOL qualified 125 °C/1000 h (datasheet Table 1-1, §5.6). | ? sin verificar |
- Fabricante: Espressif Systems (Shanghai) — página de producto:
- Año: introducido en 2021; la primera placa de desarrollo oficial (DevKitM-1) se envió en 2023 ( La compatibilidad con ESP-IDF llegó en la v5.1 (
- Estado: Activo — el SoC de bajo consumo dedicado a 802.15.4 (Thread/Zigbee) + Bluetooth 5 (LE) de Espressif; la línea "H" no tiene radio Wi-Fi (página de producto anterior; la página del H2 solo enumera IEEE 802.15.4 + Bluetooth LE como radios).
- Precio de lanzamiento: DevKitM-1 ≈ US$10 al por menor (2023, envío excluido); Waveshare ESP32-H2-DEV-KIT-N4-M ≈ US$6.65: ESP32-H2FH2S (memoria flash Quad SPI de 2 MB en el paquete) y ESP32-H2FH4S (4 MB), ambos clasificados para −40 a +105 °C de temperatura ambiente, SPI 3.3 V (ESP32-H2 Series Datasheet v1.3, Table 1-1: Nomenclatura: H = grado de alta temperatura, N = grado normal, S = seguridad mejorada (datasheet Fig. 1-1).
- Módulos: ESP32-H2-MINI-1 (antena PCB) / ESP32-H2-MINI-1U (conector para antena externa) (
- Placas comunes: ESP32-H2-DevKitM-1 / -1U-N4 (oficial), Waveshare ESP32-H2-DEV-KIT-N4-M y ESP32-H2-Zero, Olimex ESP32-H2-DevKit-LiPo, LILYGO T-Panel (gateway S3 + H2), M5Stack Unit Gateway H2 y NanoH2 (
+ Puntos fuertes
- Zigbee-Compliant Platform and Thread-Certified 1.3.0 Component — certificado, no simplemente "capaz" (insignias/enlaces en la página de producto:
- Endpoint Matter-over-Thread con comisionado concurrente 802.15.4 + BLE; combinado con un SoC Wi-Fi forma un border router de Thread o un puente Matter-Zigbee (página de producto; p. ej. gateway LILYGO T-Panel S3+H2:
- 7 µA en deep-sleep con retención de 4 KB de LP SRAM — nodos de malla a batería (datasheet Table 5-9).
- Opción TX de +20 dBm (100 mW) en una radio de malla de la categoría de menos de 3 USD (datasheet §5.5.1).
- Seguridad: secure boot basado en ECC, cifrado de flash AES-128/256-XTS, firma digital ECDSA, periférico HMAC, aceleradores criptográficos (página de producto "Robust Security").
- USB-Serial/JTAG integrado — un solo puerto para consola/flasheo/depuración, como el linaje del C3.
- Sucesor espiritual del ESP32-C3 para domótica: la misma receta RISC-V + USB-Serial/JTAG + seguridad, pero la radio Wi-Fi se cambia por 802.15.4, lo que lo convierte en la respuesta de Espressif a los despliegues Thread/Zigbee (interpretación a partir de las dos páginas de producto: vs
− Puntos débiles
- Sin Wi-Fi. Todo lo copiado de ejemplos de ESP32/C3/C6 que toque Wi-Fi o Matter-over-Wi-Fi simplemente no puede ejecutarse; un border router de Thread debe emparejar el H2 con un SoC Wi-Fi (página de producto "Enabling Matter"). Esta es la sorpresa n.º 1 al portar.
- GPIO8 es un pin de strapping Y la línea del LED RGB de la DevKitM-1 (LED RGB direccionable en GPIO8): cargar GPIO8 en el reset (capacitancia del LED, excitarlo como entrada con una resistencia de pull) puede hacer que el chip entre en el modo de arranque equivocado (pines de strapping GPIO8/9/25: datasheet §3; LED RGB: URL de la guía de usuario DevKitM-1 más arriba).
- Restricción de pines de wake-up en deep-sleep: GPIO0–5 y GPIO22–27 están muertos en deep-sleep — los botones/sensores que deban despertar el chip deben estar en pines del dominio LP (datasheet §2.2).
- GPIO12 está multiplexado con los pines de alimentación VBAT/VDDA_PMU — los diseños a batería que además quieran GPIO12 como IO deben resolver primero el esquema de alimentación (datasheet Table 2-7).
- La precisión del ADC depende del date code de fabricación: Espressif documenta rango/precisión del ADC distintos para chips anteriores y posteriores a D/C 342023 (componentes blindados) — lotes mixtos pueden comportarse de forma diferente (nota del datasheet bajo §5.4).
- Las primeras placas DevKitM-1 (PW anterior a PW-2024-02-0362, es decir, anteriores a febrero de 2024) se envían sin el cristal LP de 32.768 kHz — peor precisión del RTC y mayor consumo medio en sleep salvo que lo sueldes tú (guía de usuario DevKitM-1, Hardware Revision Details).
- CHIP_EN nunca debe quedar flotante (el chip puede permanecer apagado o sufrir brown-out de forma impredecible) (nota de la Table 2-6 del datasheet).
- La plataforma PlatformIO oficial no incluye H2 — los usuarios de PlatformIO deben cambiar al fork pioarduino (
- Solo 19 GPIO / 2 UART / 1 puerto SPI general, y en los componentes QFN32 con flash SiP los pines SPI de la flash no salen al exterior (nota 2 de la Table 1-1 del datasheet). La planificación de pines es obligatoria.
- >
- Retour d'expérience expert expert — expert-microcontroleur
- Je viens de passer mes premiers jours sur l'ESP32-H2 et le retour est mitigé. Le point positif majeur reste son efficience : la 303.38 CoreMark à 96 MHz sur le RISC-V est impressionnante pour le budget, et la connectivité 802.15.4 est native. Par contre, attention aux pièges de portage. Si vous cop… — expert-microcontroleur
- Merci pour ce retour précis, ça confirme mes doutes. J'ai justement perdu trois heures ce matin à chercher pourquoi mon code ne bootait pas, avant de comprendre que mon bouton de reset était mal branché près du GPIO8. C'est vraiment vicieux cette multiplexage avec la LED. En tout cas, merci de conf… — hacker-du-weekend
- Salut, petite question pratique concernant l'environnement de dev. J'utilise PlatformIO au quotidien pour mes projets ESP32, mais je ne trouve pas de support natif pour cette puce. Tu as réussi à faire tourner un blink simple ? J'ai lu quelque part qu'il fallait changer de plateforme, mais je ne ve… — pio_addict
Opiniones y proyectos de la comunidad
- Use Arduino IDE and ESP32-H2-DEVKITM-1 to create a Matter device forum.arduino.cc
- Using ESP32 H2 Super Mini forum.arduino.cc
- How to correctly power an ESP32-H2 board with a battery electronics.stackexchange.com
- ESP32-H2 doesn't work fine when powered via external supply and 3V3 pin electronics.stackexchange.com
- Sin Wi-Fi. Todo lo copiado de ejemplos de ESP32/C3/C6 que toque Wi-Fi o Matter-over-Wi-Fi simplemente no puede ejecutarse; un border router de Thread debe emparejar el H2 con un SoC Wi-Fi (página de producto "Enabling Matter"). Esta es la sorpresa n.º 1 al portar.
- GPIO8 es un pin de strapping Y la línea del LED RGB de la DevKitM-1 (LED RGB direccionable en GPIO8): cargar GPIO8 en el reset (capacitancia del LED, excitarlo como entrada con una resistencia de pull) puede hacer que el chip entre en el modo de arranque equivocado (pines de strapping GPIO8/9/25: datasheet §3; LED RGB: URL de la guía de usuario DevKitM-1 más arriba).
- Restricción de pines de wake-up en deep-sleep: GPIO0–5 y GPIO22–27 están muertos en deep-sleep — los botones/sensores que deban despertar el chip deben estar en pines del dominio LP (datasheet §2.2).
- GPIO12 está multiplexado con los pines de alimentación VBAT/VDDA_PMU — los diseños a batería que además quieran GPIO12 como IO deben resolver primero el esquema de alimentación (datasheet Table 2-7).
- La precisión del ADC depende del date code de fabricación: Espressif documenta rango/precisión del ADC distintos para chips anteriores y posteriores a D/C 342023 (componentes blindados) — lotes mixtos pueden comportarse de forma diferente (nota del datasheet bajo §5.4).
- Las primeras placas DevKitM-1 (PW anterior a PW-2024-02-0362, es decir, anteriores a febrero de 2024) se envían sin el cristal LP de 32.768 kHz — peor precisión del RTC y mayor consumo medio en sleep salvo que lo sueldes tú (guía de usuario DevKitM-1, Hardware Revision Details).
- CHIP_EN nunca debe quedar flotante (el chip puede permanecer apagado o sufrir brown-out de forma impredecible) (nota de la Table 2-6 del datasheet).
- La plataforma PlatformIO oficial no incluye H2 — los usuarios de PlatformIO deben cambiar al fork pioarduino (
- Solo 19 GPIO / 2 UART / 1 puerto SPI general, y en los componentes QFN32 con flash SiP los pines SPI de la flash no salen al exterior (nota 2 de la Table 1-1 del datasheet). La planificación de pines es obligatoria.
- >
- Premier blink sur une broche sûre (GPIO22) debutant Schéma : IMG-esp32-h2-debutant-1-h2-clignoter-gpio22.svg — ESP32-H2-DevKitM-1 avec une LED externe et sa résistance sur GPIO22, broches déconseillées GPIO8 (strapping + LED RGB) et GPIO26/27 (USB) barrées.
- Pilotez la LED RGB embarquée avec le périphérique RMT debutant Schéma : IMG-esp32-h2-debutant-2-h2-led-rgb-rmt-gpio8.svg — Bloc RMT du H2 générant la trame WS2812 envoyée sur GPIO8 vers la LED RGB adressable du DevKitM-1, avec badge strapping sur GPIO8.
- Beacon BLE 5 : le « hello radio » d'une puce sans Wi-Fi debutant Schéma : IMG-esp32-h2-debutant-3-h2-beacon-ble5-nimble.svg — H2 diffusant des trames d'advertising BLE 5 captées par un téléphone, avec badges Coded PHY 125/500 kbps et TX jusqu'à +20 dBm.
- Deep-sleep 7 µA : le bouton qui doit être dans le domaine LP intermediaire Schéma : IMG-esp32-h2-intermediaire-1-h2-deep-sleep-bouton-lp.svg — Broches du H2 colorées : GPIO0–5 et GPIO22–27 grisées (mortes en deep-sleep), bouton de réveil sur GPIO6 dans le domaine LP, puce en deep-sleep à 7 µA sur batterie.
- Interrupteur Zigbee certifié avec l'ESP-Zigbee-SDK intermediaire Schéma : IMG-esp32-h2-intermediaire-2-h2-zigbee-light-switch.svg — Interrupteur Zigbee H2 sur pile avec bouton en domaine LP, rejoignant un coordinateur relié à un réseau IP.
- ADC 12 bits et capteur de température : piège du date code intermediaire Schéma : IMG-esp32-h2-intermediaire-3-h2-adc-capteur-interne.svg — Blocs analogiques du H2 : ADC SAR 12 bits 5 canaux, capteur de température et comparateur analogique, sans DAC, reliés à la console USB-Serial/JTAG.
- Endpoint Matter-over-Thread sur esp-matter avance Schéma : IMG-esp32-h2-avance-1-h2-matter-over-thread.svg — Endpoint Matter H2 commissionné en BLE puis rattaché à un réseau Thread dont la sortie IP passe par un border router S3/C6.
- Passerelle domotique : le duo Wi-Fi + H2 avance Schéma : IMG-esp32-h2-avance-2-h2-passerelle-wifi-dual-soc.svg — Architecture de passerelle : un SoC Wi-Fi (S3 ou C6) relié à un H2 pour le radio 802.15.4, le tout remontant les événements vers un broker IP.
- Nœud de capteur maillé sur pile : le système complet avance Schéma : IMG-esp32-h2-avance-3-h2-noeud-mesh-batterie.svg — Cycle de vie d'un nœud sur pile : réveil LP, lecture ADC/capteur, burst radio 802.15.4 ou BLE, retour deep-sleep 7 µA, avec broche GPIO12/VBAT annotée.
Biblioteca de código — ejemplos escritos para esta placa
blink_main.cCbouton_isr.cCledc_fade.cCadc_oneshot.cCuart_console.cCi2c_oled.cCzigbee_switch.cCmatter_switch.cppC++deep_sleep.cCnvs_store.cC
Ejemplos y repositorios encontrados en línea
- espressif/esp-idf github.com
- espressif/esp-zigbee-sdk github.com
- barsik21/esp32h2-thermo github.com