Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

embedded-hal

A shared set of Rust traits, such as "an output pin" or "an I2C bus", that drivers can be written against.

embedded-hal is a crate of traits (OutputPin, I2c, SpiDevice, DelayNs) that HALs implement and device drivers depend on, so one driver works across chips.

Examples

  • A driver written against embedded_hal::digital::OutputPin can switch the greenhouse fan on an ESP32-C6, or a pin on any other chip whose HAL implements the trait.

  • embedded-hal 1.0.0 holds traits like OutputPin, I2c, SpiDevice and DelayNs, with almost no code of its own.

Read the full section →