The Embedded Working Group Newsletter - 212019-11-30
This is the 21st newsletter of the Embedded WG where we highlight new progress, celebrate cool projects, thank the community, and advertise projects that need help!
If you want to mention something in the next newsletter, send us a pull request!
- Don't forget to join our Community Chat on Matrix, with more than 250 Embedded Rustaceans!
- @andre-richter added two new tutorials for the
Operating System development tutorials in Rust on the Raspberry Piseries:
- @jamesmunns streamed some work on developing interrupt and panic code on youtube
- @eldruin released a platform-agnostic driver for the OPT300x family of ambient light sensors and published a blog post with a picture of the device taking lux measurements.
- @mciantyre published a custom runtime and peripheral access crates to support development on the Teensy 4. Check out the repo to see how it works, discuss the approach, and try it out.
- @japaric released version v0.1.0 of
ufmt, a smaller (6-40x) and faster (2-9x) alternative to
core::fmtthat's free of dynamic dispatch, recursion (where possible) and panicking branches.
ufmtis not a drop-in replacement for
core::fmtbut it provides
uDisplaytraits and a family of
uwrite!macros. In this release the
uwrite!macros, and the rest of the crate, work on the stable channel.
- @jamesmunns released two embedded crates:
panic-persist: A panic handler crate inspired by
panic-ramdumpthat logs panic messages to a region of RAM defined by the user, allowing for discovery of panic messages post-mortem using normal program control flow.
cmim, or Cortex-M Interrupt Move: A crate for Cortex-M devices to move data to interrupt context, without needing a critical section to access the data within an interrupt, and to remove the need for the "mutex dance"
- @tarcieri released
aeadv0.2, providing generic traits for Authenticated Encryption with Associated Data (AEAD) ciphers, which now supports ergonomic
alloc-free operation via an integration with the
heaplesscrate. This trait is now implemented by several crates providing pure Rust implementations of AEAD modes which may be interesting to embedded users seeking to encrypt/data data in
heaplessbuffers, including the
aes-sivcrates (and forthcoming support in the
If you have an embedded project or blog post you would like to have featured in the Embedded WG Newsletter, make sure to add it to the next newsletter, we would love to show it off!
embedded-hal Ecosystem Crates
As part of the Weekly Driver Initiative, crates that are part of the
embedded-hal ecosystem are now tracked in the Awesome Embedded Rust repository. Here is a current snapshot of what is available there:
|Peripheral Access Crates||released||32||+1|
|HAL Impl Crates||released||29||+1|
|Board Support Crates||released||19||0|
|Driver Crates Released||released||30||+1|
|Driver Crates WIP||WIP||69||-1|
|no-std crates WIP||WIP||3||0|