esp_hal

ESP32 esp-hal (targeting ESP32) main
ESP32-C2 esp-hal (targeting ESP32-C2) main
ESP32-C3 esp-hal (targeting ESP32-C3) main
ESP32-C5 esp-hal (targeting ESP32-C5) main
ESP32-C6 esp-hal (targeting ESP32-C6) main
ESP32-C61 esp-hal (targeting ESP32-C61) main
ESP32-H2 esp-hal (targeting ESP32-H2) main
ESP32-H4 esp-hal (targeting ESP32-H4) main
ESP32-P4 esp-hal (targeting ESP32-P4) main
ESP32-S2 esp-hal (targeting ESP32-S2) main
ESP32-S3 esp-hal (targeting ESP32-S3) main
ESP32-S31 esp-hal (targeting ESP32-S31) main
Peripheral Support Matrix Per-chip feature completeness and API stability
API Stability: ✔️ Stable 🚧 Unstable ⚠️ Planned overhaul — Not supported
Chip Support: ✔️ Supported ⚒️ Partial support ❌ Not supported — Not available

Underlined icons open the peripheral's tracking issue on GitHub.

GPIO 4 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
GPIO✔️✔️✔️✔️✔️✔️✔️✔️⚒️✔️✔️✔️✔️
Dedicated GPIO🚧—⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
IOMUX🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
LP IO🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
Serial interfaces 23 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
UART✔️✔️✔️✔️✔️✔️✔️✔️⚒️✔️✔️✔️✔️
LP UART🚧———❌⚒️———❌——❌
UHCI🚧❌—⚒️⚒️⚒️—⚒️❌⚒️❌⚒️⚒️
I2C master✔️✔️✔️✔️✔️✔️✔️✔️⚒️✔️✔️✔️✔️
LP I2C master🚧❌——⚒️⚒️———⚒️❌⚒️❌
I2C slave🚧❌—⚒️❌⚒️❌❌❌❌❌❌❌
I3C master—————————❌———
I3C slave—————————❌———
SPI master✔️✔️✔️✔️✔️✔️✔️✔️⚒️✔️✔️✔️✔️
SPI slave🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️❌⚒️⚒️⚒️⚒️
LP SPI master—————————❌———
LP SPI slave—————————❌———
I2S🚧⚒️—⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
LP I2S—————————❌———
PARL_IO🚧———⚒️⚒️—⚒️❌❌——❌
RMT🚧⚒️—⚒️⚒️⚒️—⚒️❌⚒️⚒️⚒️⚒️
SDMMC/SDIO host🚧⚒️———————⚒️—⚒️⚒️
SDIO slave—❌——❌❌❌——————
TWAI🚧⚒️—⚒️—⚒️—⚒️—❌⚒️⚒️—
CANFD🚧———⚒️———❌———❌
USB OTG FS🚧———————❌⚒️⚒️⚒️—
USB OTG HS🚧————————⚒️——⚒️
USB Serial/JTAG🚧——⚒️⚒️⚒️⚒️⚒️⚒️⚒️—⚒️⚒️
Wireless and networking 4 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
Bluetooth🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️——⚒️⚒️
WIFI🚧⚒️⚒️⚒️⚒️⚒️⚒️———⚒️⚒️⚒️
IEEE 802.15.4🚧———⚒️⚒️—⚒️⚒️———⚒️
Ethernet🚧⚒️———————⚒️——⚒️
Display and camera 5 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
Camera interface🚧❌———————❌❌⚒️⚒️
MIPI-CSI—————————❌———
MIPI-DSI🚧————————⚒️———
RGB display🚧⚒️———————❌❌⚒️⚒️
SPI LCD interface——————————❌——
Signal processing 8 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
Bit Scrambler————❌————❌——❌
Image Signal Processor—————————❌———
Pixel Processing Accelerator—————————❌——❌
JPEG Codec—————————❌——❌
H.264 encoder—————————❌———
Audio Sample Rate Converter————————❌———❌
CORDIC accelerator————————————❌
Voice Activity Detection—————————❌———
Analog 5 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
ADC🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️❌⚒️⚒️⚒️⚒️
Analog Voltage Comparator————❌—❌❌❌❌——❌
DAC🚧⚒️————————⚒️—❌
Temperature sensor🚧❌❌⚒️❌⚒️❌❌❌❌❌❌❌
Touch🚧⚒️——❌———❌❌❌❌❌
Timers and motor control 7 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
LEDC⚠️⚒️⚒️⚒️❌⚒️❌⚒️❌❌⚒️⚒️❌
MCPWM🚧⚒️——❌⚒️—⚒️❌❌—⚒️❌
PCNT🚧⚒️——⚒️⚒️—⚒️❌⚒️⚒️⚒️⚒️
RTC Timekeeping🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
SDM🚧⚒️—⚒️⚒️⚒️—⚒️❌⚒️⚒️⚒️⚒️
SYSTIMER🚧—⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
Timers🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
Cryptography and security 9 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
AES🚧⚒️—⚒️⚒️⚒️—⚒️❌⚒️⚒️⚒️⚒️
RSA Digital Signature———❌❌❌—❌—❌❌❌❌
ECDSA Digital Signature————❌—❌❌❌❌——❌
ECC🚧—⚒️—⚒️⚒️⚒️⚒️❌⚒️——⚒️
HMAC🚧——⚒️❌⚒️—⚒️❌❌⚒️⚒️❌
Key Manager————❌———❌❌——❌
RNG✔️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
RSA🚧⚒️—⚒️⚒️⚒️—⚒️—⚒️⚒️⚒️⚒️
SHA🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️❌⚒️⚒️⚒️⚒️
Low power 3 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
Light/deep sleep🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
ULP (FSM)—❌————————❌❌—
ULP (RISC-V)🚧———❌⚒️———❌⚒️⚒️❌
System 6 drivers
Driver API ESP32ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-C61ESP32-H2ESP32-H4ESP32-P4ESP32-S2ESP32-S3ESP32-S31
ASSIST_DEBUG🚧—⚒️⚒️⚒️⚒️⚒️⚒️❌❌—⚒️❌
DMA🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
ETM🚧———❌⚒️❌⚒️❌❌——❌
Interrupts🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
Flash🚧⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️⚒️
PSRAM🚧⚒️——⚒️—⚒️—❌⚒️⚒️⚒️⚒️