NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4068 most downloaded on crates.io
An asynchronous Hardware Abstraction Layer (HAL) for embedded systems
Last release 3 years ago
no release in 18 months
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 1 of 1 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
11 releases · first in 2022
One column per quarter.
Check out the announcement blog post and the migration guide .
Check out the announcement blog post and the migration guide.
Changes since v1.0.0-rc.3:
ToggleableOutputPin, move toggle() to StatefulOutputPin.Check out the announcement blog post and the migration guide for help with migrating from v0.2 to v1.0.
embedded-hal to version 1.0.0.Updated embedded-hal to version 1.0.0-rc.3.
embedded-hal to version 1.0.0-rc.3.Updated embedded-hal to version 1.0.0-rc.2.
embedded-hal to version 1.0.0-rc.2.embedded-hal-async functions.DelayUs to DelayNsDelayNs::delay_ns()delay_ms and delay_us based on delay_ns.Operation::DelayUs to Operation::DelayNs, with nanosecond precision.feature() on nightly toolchains only. This adds support for 1.75 beta and stable.Updated embedded-hal to version 1.0.0-rc.1.
embedded-hal to version 1.0.0-rc.1.defmt 0.3 support.embedded-io crate.+ ?Sized to all blanket impls.ExclusiveDevice to embedded-hal-bus.spi: added Operation::DelayUs(u32).
Operation::DelayUs(u32).embedded-hal to version 1.0.0-alpha.11.Updated embedded-hal to version 1.0.0-alpha.10.
serial::Write trait.embedded-hal to version 1.0.0-alpha.10._iter() methods.transaction().Switch all traits to use `async_fn_in_trait` (AFIT). Requires nightly-2022-11-22 or newer.
async_fn_in_trait (AFIT). Requires nightly-2022-11-22 or newer.Fix build on newer Rust nightlies.
spi: added a transaction helper macro as a workaround for the raw pointer workaround.
embedded-hal to version 1.0.0-alpha.9.spi: device helper methods (read, write, transfer...) are now default methods in SpiDevice instead of an SpiDeviceExt extension trait.
read, write, transfer...) are now default methods in SpiDevice instead of an SpiDeviceExt extension trait.SpiDevice::transaction closure now gets a raw pointer to the SpiBus to work around Rust borrow checker limitations.SpiDevice trait is now unsafe to implement due to the raw pointer workaround.[Unreleased]: https://github.com/rust-embedded/embedded-hal/compare/embedded-hal-async-v1.0.0...HEAD [v1.0.0]: https://github.com/rust-embedded/embedd
First release to crates.io
Your coding agent can read these notes before it upgrades. Set up the MCP server →