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::OutputPincan 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,SpiDeviceandDelayNs, with almost no code of its own.
See also