pub use embedded_hal as ehal;
pub use esp_hal_common::macros;
pub use esp_hal_common::pac;
pub use self::gpio::IO;


Analog to digital (ADC) conversion support.

Common module for analog functions

Clock Control

Reading of eFuses

General Purpose I/Os

GPIO Types

I2C Driver

Interrupt handling - RISCV

LEDC (LED PWM Controller) peripheral control

The prelude

Remote Control Peripheral (RMT)

UART driver

Serial Peripheral Interface


General-purpose timers

Helper Utils


Uses the SYSTIMER peripheral for counting clock cycles, as unfortunately the ESP32-C3 does NOT implement the mcycle CSR, which is how we would normally do this.

RMT peripheral (RMT)

Random Number Generator

RTC Watchdog Timer

UART driver


Enumeration of CPU cores The actual number of available cores depends on the target.