Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-embedded-rust
Curated list of resources for Embedded and Low-level development in the Rust programming language
https://github.com/rust-embedded/awesome-embedded-rust
Last synced: 3 days ago
JSON representation
-
Books, blogs, and training materials
-
Free and public materials
- Tweede golf's workshop - A full workshop about Rust and embedded Rust. The embedded parts use the nRF52840-DK and a LIS3DH breakout board. ([github source](https://github.com/tweedegolf/rust-workshop))
- Building a sailing starter board with Rust (RTIC) - by-step story/guide to build STM32-based PCB and program it with Rust for fun and games.
- Ferrous Systems' Knurling Sessions - on embedded projects that explore specific concepts using generally available hardware, building full systems and components using microcontrollers, sensors, and actuators.
- Writing an embedded OS in Rust on the Raspberry Pi - by-step tour of how to write a monolithic Operating System kernel for an embedded system from scratch. Runs on the Raspberry Pi 3 and the Raspberry Pi 4.
- DSP on STM32F407G-DISC1 - M based Microcontrollers: Theory and Practice](https://www.amazon.com/Digital-Signal-Processing-Cortex-M-Microcontrollers/dp/1911531166) book. The book isn't necessary to enjoy the examples and learn a functional DSP Rust coding style.
- MicroRust
- Physical Computing With Rust
- Ferrous Systems' Embedded Training Courses: 2020-current edition - on training course for beginner and advanced learners of Embedded Rust, based on Nordic Semiconductor's nRF52840 hardware. This training was given at Oxidize Conferences and by [Ferrous Systems] to corporate customers.
- Embedded Rust (std) on Espressif - Training for Rust using std approach development on ESP32-C3 by Ferrous Systems.
- Embedded Rust programming playlist
- ESP32-C3 Rust Tutorials - C3_Rust_Tutorials) implementing various peripherals of the ESP32-C3 with the end goal of creating a complete data logger application.
- Cortex-M Quickstart
- Writing an OS in Rust
- Writing embedded drivers in Rust isn't that hard - hal driver. [Part 2](https://hboeving.dev/blog/rust-i2c-driver-p2/)
- The Rust on ESP Book - This book aims to provide a comprehensive guide on using the Rust programming language with Espressif SoCs and modules.
- Embedded Rust (no_std) on Espressif - Training for Rust using no_std approach development on ESP32-C3.
-
Community Chat Rooms
- The Embedded Rust Book - An introductory book about using the Rust Programming Language on "Bare Metal" embedded systems, such as Microcontrollers.
- Discovery - embedded — this book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language. Original author: @japaric
- Writing an embedded OS in Rust on the Raspberry Pi - by-step tour of how to write a monolithic Operating System kernel for an embedded system from scratch. Runs on the Raspberry Pi 3 and the Raspberry Pi 4.
- Writing embedded drivers in Rust isn't that hard - hal driver. [Part 2](https://hboeving.dev/blog/rust-i2c-driver-p2/)
- Ferrous Systems' Knurling Sessions - on embedded projects that explore specific concepts using generally available hardware, building full systems and components using microcontrollers, sensors, and actuators.
- STM32F4xx with Embedded Rust at the HAL - hal crate.
- Embedded Rust programming playlist
- ESP32-C3 Rust Tutorials - C3_Rust_Tutorials) implementing various peripherals of the ESP32-C3 with the end goal of creating a complete data logger application.
-
Paid and commercially available materials
- Simplified Embedded Rust: Standard Library Edition - This book provides a quick path to start learning embedded Rust with minimal setup. Book is based on ESP devices and the Wokwi Simulator. This edition uses the standard library development approach which is based on the ESP-IDF framework.
- Simplified Embedded Rust: Core Library Edition - This book provides a quick path to start learning embedded Rust with minimal setup. Book is based on ESP devices and the Wokwi Simulator. This edition uses the core library development approach for bare metal development.
-
-
Tools
-
Paid and commercially available materials
- edc2svd - [![crates.io](https://img.shields.io/crates/v/edc2svd.svg)](https://crates.io/crates/edc2svd)
- uf2 - [![crates.io](https://img.shields.io/crates/v/uf2.svg)](https://crates.io/crates/uf2)
- embedded-hal-mock - hal-mock)
- bindgen - [![crates.io](https://img.shields.io/crates/v/bindgen.svg)](https://crates.io/crates/bindgen)
- svd2rust
- Knurling Tools
- xargo - default std libraries — build Rust runtime for your embedded system.
- cargo-xbuild
- embedded-hal-compat
- cortex-m semihosting - M processors
- bobbin-cli
- ferros - based userland which also adds compile-time assurances to seL4 development.
- cargo-hf2 - [![crates.io](https://img.shields.io/crates/v/cargo-hf2.svg)](https://crates.io/crates/cargo-hf2)
- cargo-bloat
- espflash - [![crates.io](https://img.shields.io/crates/v/espflash.svg)](https://crates.io/crates/espflash)
- espup - [![crates.io](https://img.shields.io/crates/v/espup.svg)](https://crates.io/crates/espup)
- Probe Run
- defmt - constrained devices, like microcontrollers.
- flip-link - M programs
- app-template - generate` powered project template for quickly setting up new projects using the Knurling Tools.
- defmt-test - in `#[test]` attribute, but will run on an embedded target
- Embassy start - rs/embassy). This particular template targets nRF hardware and networking using the Uarte for the purposes of illustration only.
- svd-generator - [![crates.io](https://img.shields.io/crates/v/svd-generator.svg)](https://crates.io/crates/svd-generator)
- cargo-flash - [![crates.io](https://img.shields.io/crates/v/cargo-flash.svg)](https://crates.io/crates/cargo-flash)
- cargo-embed - flash with additional useful features like configuration file support, an RTT terminal, or a GDB server. - [![crates.io](https://img.shields.io/crates/v/cargo-embed.svg)](https://crates.io/crates/cargo-embed)
- cargo-call-stack
- cargo-dfu
- probe-rs
-
Community Chat Rooms
-
-
Peripheral Access Crates
-
Nordic
- `nrf52810-pac` - Peripheral access API for the nRF52810 microcontroller (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf52810-pac.svg)](https://crates.io/crates/nrf52810-pac)
- `nrf5340-net-pac` - Peripheral access API for the nRF5340 network core (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf5340-net-pac.svg)](https://crates.io/crates/nrf5340-net-pac)
- `nrf9160-pac` - Peripheral access API for the nRF9160 system-in-package (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf9160-pac.svg)](https://crates.io/crates/nrf9160-pac)
- `nrf51` - [![crates.io](https://img.shields.io/crates/v/nrf51.svg)](https://crates.io/crates/nrf51)
- `nrf52811-pac` - Peripheral access API for the nRF52811 microcontroller (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf52811-pac.svg)](https://crates.io/crates/nrf52811-pac)
- `nrf52832-pac` - Peripheral access API for the nRF52832 microcontroller (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf52832-pac.svg)](https://crates.io/crates/nrf52832-pac)
- `nrf52833-pac` - Peripheral access API for the nRF52833 microcontroller (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf52833-pac.svg)](https://crates.io/crates/nrf52833-pac)
- `nrf52840-pac` - Peripheral access API for the nRF52840 microcontroller (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf52840-pac.svg)](https://crates.io/crates/nrf52840-pac)
- `nrf5340-app-pac` - Peripheral access API for the nRF5340 application core (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/nrf5340-app-pac.svg)](https://crates.io/crates/nrf5340-app-pac)
-
Raspberry Pi Silicon
- `rp2040-pac` - Peripheral access API for the RP2040 dual-core system-on-chip (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/rp2040-pac.svg)](https://crates.io/crates/rp2040-pac)
-
Silicon Labs
- `efm32g-pac` - [![crates.io](https://img.shields.io/crates/v/efm32g-pac)](https://crates.io/crates/efm32g-pac)
- `efm32gg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32gg-pac)](https://crates.io/crates/efm32gg-pac)
- `efm32pg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32pg-pac)](https://crates.io/crates/efm32pg-pac)
- `efm32pg23-pac` - [![crates.io](https://img.shields.io/crates/v/efm32pg23-pac)](https://crates.io/crates/efm32pg23-pac)
- `efm32pg12-pac` - Peripheral access API for Silicon Labs EFM32PG12 microcontrollers - [![crates.io](https://img.shields.io/crates/v/efm32pg12-pac)](https://crates.io/crates/efm32pg12-pac)
- `efm32-rs`
- `efm32gg11b-pac` - [![crates.io](https://img.shields.io/crates/v/efm32gg11b-pac)](https://crates.io/crates/efm32gg11b-pac)
- `efm32gg12b-pac` - [![crates.io](https://img.shields.io/crates/v/efm32gg12b-pac)](https://crates.io/crates/efm32gg12b-pac)
- `efm32hg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32hg-pac)](https://crates.io/crates/efm32hg-pac)
- `efm32jg1b-pac` - [![crates.io](https://img.shields.io/crates/v/efm32jg1b-pac)](https://crates.io/crates/efm32jg1b-pac)
- `efm32jg12b-pac` - [![crates.io](https://img.shields.io/crates/v/efm32jg12b-pac)](https://crates.io/crates/efm32jg12b-pac)
- `efm32lg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32lg-pac)](https://crates.io/crates/efm32lg-pac)
- `efm32pg22-pac` - [![crates.io](https://img.shields.io/crates/v/efm32pg22-pac)](https://crates.io/crates/efm32pg22-pac)
- `efm32tg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32tg-pac)](https://crates.io/crates/efm32tg-pac)
- `efm32tg11b-pac` - [![crates.io](https://img.shields.io/crates/v/efm32tg11b-pac)](https://crates.io/crates/efm32tg11b-pac)
- `efm32wg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32wg-pac)](https://crates.io/crates/efm32wg-pac)
- `efm32zg-pac` - [![crates.io](https://img.shields.io/crates/v/efm32zg-pac)](https://crates.io/crates/efm32zg-pac)
-
STMicroelectronics
- `stm32f1` - [![crates.io](https://img.shields.io/crates/v/stm32f1.svg)](https://crates.io/crates/stm32f1)
- `stm32h7` - [![crates.io](https://img.shields.io/crates/v/stm32h7.svg)](https://crates.io/crates/stm32h7)
- `stm32f0` - [![crates.io](https://img.shields.io/crates/v/stm32f0.svg)](https://crates.io/crates/stm32f0)
- `stm32f2` - [![crates.io](https://img.shields.io/crates/v/stm32f2.svg)](https://crates.io/crates/stm32f2)
- `stm32f3` - [![crates.io](https://img.shields.io/crates/v/stm32f3.svg)](https://crates.io/crates/stm32f3)
- `stm32f4` - [![crates.io](https://img.shields.io/crates/v/stm32f4.svg)](https://crates.io/crates/stm32f4)
- `stm32f7` - [![crates.io](https://img.shields.io/crates/v/stm32f7.svg)](https://crates.io/crates/stm32f7)
- `stm32g0` - [![crates.io](https://img.shields.io/crates/v/stm32g0.svg)](https://crates.io/crates/stm32g0)
- `stm32g4` - [![crates.io](https://img.shields.io/crates/v/stm32g4.svg)](https://crates.io/crates/stm32g4)
- `stm32l0` - [![crates.io](https://img.shields.io/crates/v/stm32l0.svg)](https://crates.io/crates/stm32l0)
- `stm32l1` - [![crates.io](https://img.shields.io/crates/v/stm32l1.svg)](https://crates.io/crates/stm32l1)
- `stm32l4` - [![crates.io](https://img.shields.io/crates/v/stm32l4.svg)](https://crates.io/crates/stm32l4)
- `stm32-rs`
-
Espressif
- `esp32` - [![crates.io](https://img.shields.io/crates/v/esp32.svg)](https://crates.io/crates/esp32)
- `esp32c3` - [![crates.io](https://img.shields.io/crates/v/esp32c3.svg)](https://crates.io/crates/esp32c3)
- `esp32c2` - [![crates.io](https://img.shields.io/crates/v/esp32c2.svg)](https://crates.io/crates/esp32c2)
- `esp32c6` - [![crates.io](https://img.shields.io/crates/v/esp32c6.svg)](https://crates.io/crates/esp32c6)
- `esp32s2` - [![crates.io](https://img.shields.io/crates/v/esp32s2.svg)](https://crates.io/crates/esp32s2)
- `esp32s3` - [![crates.io](https://img.shields.io/crates/v/esp32s3.svg)](https://crates.io/crates/esp32s3)
- `esp8266` - [![crates.io](https://img.shields.io/crates/v/esp8266.svg)](https://crates.io/crates/esp8266)
- `esp32h2` - [![crates.io](https://img.shields.io/crates/v/esp32h2.svg)](https://crates.io/crates/esp32h2)
-
GigaDevice
- `gd32vf103-pac` - V microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/gd32vf103-pac.svg)](https://crates.io/crates/gd32vf103-pac)
- `gd32e2` - M23 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/gd32e2.svg)](https://crates.io/crates/gd32e2)
- `gd32f2` - M3 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/gd32f2.svg)](https://crates.io/crates/gd32f2)
- `gd32f1` - M3 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/gd32f1.svg)](https://crates.io/crates/gd32f1)
-
XMC
- `xmc4200` - [![crates.io](https://img.shields.io/crates/v/xmc4200.svg)](https://crates.io/crates/xmc4200)
- `xmc4800` - [![crates.io](https://img.shields.io/crates/v/xmc4800.svg)](https://crates.io/crates/xmc4800)
- `xmc4100` - [![crates.io](https://img.shields.io/crates/v/xmc4100.svg)](https://crates.io/crates/xmc4100)
- `xmc4300` - [![crates.io](https://img.shields.io/crates/v/xmc4300.svg)](https://crates.io/crates/xmc4300)
- `xmc4400` - [![crates.io](https://img.shields.io/crates/v/xmc4400.svg)](https://crates.io/crates/xmc4400)
- `xmc4500` - [![crates.io](https://img.shields.io/crates/v/xmc4500.svg)](https://crates.io/crates/xmc4500)
- `xmc4700` - [![crates.io](https://img.shields.io/crates/v/xmc4700.svg)](https://crates.io/crates/xmc4700)
-
Renesas
- `ra4e1` - [![crates.io](https://img.shields.io/crates/v/ra4e1.svg)](https://crates.io/crates/ra4e1)
- `ra6t1` - [![crates.io](https://img.shields.io/crates/v/ra6t1.svg)](https://crates.io/crates/ra6t1)
- `ra2a1` - [![crates.io](https://img.shields.io/crates/v/ra2a1.svg)](https://crates.io/crates/ra2a1)
- `ra2e1` - [![crates.io](https://img.shields.io/crates/v/ra2e1.svg)](https://crates.io/crates/ra2e1)
- `ra2e2` - [![crates.io](https://img.shields.io/crates/v/ra2e2.svg)](https://crates.io/crates/ra2e2)
- `ra2l1` - [![crates.io](https://img.shields.io/crates/v/ra2l1.svg)](https://crates.io/crates/ra2l1)
- `ra4m1` - [![crates.io](https://img.shields.io/crates/v/ra4m1.svg)](https://crates.io/crates/ra4m1)
- `ra4m2` - [![crates.io](https://img.shields.io/crates/v/ra4m2.svg)](https://crates.io/crates/ra4m2)
- `ra4m3` - [![crates.io](https://img.shields.io/crates/v/ra4m3.svg)](https://crates.io/crates/ra4m3)
- `ra4w1` - [![crates.io](https://img.shields.io/crates/v/ra4w1.svg)](https://crates.io/crates/ra4w1)
- `ra6e1` - [![crates.io](https://img.shields.io/crates/v/ra6e1.svg)](https://crates.io/crates/ra6e1)
- `ra6m1` - [![crates.io](https://img.shields.io/crates/v/ra6m1.svg)](https://crates.io/crates/ra6m1)
- `ra6m2` - [![crates.io](https://img.shields.io/crates/v/ra6m2.svg)](https://crates.io/crates/ra6m2)
- `ra6m3` - [![crates.io](https://img.shields.io/crates/v/ra6m3.svg)](https://crates.io/crates/ra6m3)
- `ra6m4` - [![crates.io](https://img.shields.io/crates/v/ra6m4.svg)](https://crates.io/crates/ra6m4)
- `ra6t2` - [![crates.io](https://img.shields.io/crates/v/ra6t2.svg)](https://crates.io/crates/ra6t2)
- `da14531` - Low Power BT 5.1 System-on-Chip - [![crates.io](https://img.shields.io/crates/v/da14531.svg)](https://crates.io/crates/da14531)
-
Real-time tools
-
Microchip
- `sam3x8e` - [![crates.io](https://img.shields.io/crates/v/sam3x8e.svg)](https://crates.io/crates/sam3x8e)
- `pic32-pac` - [![crates.io](https://img.shields.io/crates/v/pic32mx2xx)](https://crates.io/crates/pic32mx2xx)
- `atsamx7x-rust`
- `avr-device`
- `atsame54`
-
NXP
- `k64` - [![crates.io](https://img.shields.io/crates/v/k64.svg)](https://crates.io/crates/k64)
- `lpc11uxx` - [![crates.io](https://img.shields.io/crates/v/lpc11uxx.svg)](https://crates.io/crates/lpc11uxx)
- `lpc55s6x-pac` - [![crates.io](https://img.shields.io/crates/v/lpc55s6x-pac.svg)](https://crates.io/crates/lpc55s6x-pac)
- `lpc82x-pac` - [![crates.io](https://img.shields.io/crates/v/lpc82x-pac.svg)](https://crates.io/crates/lpc82x-pac)
- `lpc845-pac` - [![crates.io](https://img.shields.io/crates/v/lpc845-pac.svg)](https://crates.io/crates/lpc845-pac)
- `mkw41z` - [![crates.io](https://img.shields.io/crates/v/mkw41z.svg)](https://crates.io/crates/mkw41z)
- `SKEAZN642` - [![crates.io](https://img.shields.io/crates/v/SKEAZN642.svg)](https://crates.io/crates/SKEAZN642)
-
StarFive
- `jh7110-vf2-12a-pac` - ![crates.io](https://img.shields.io/crates/v/jh7110-vf2-12a-pac)
- `jh7110-vf2-13b-pac` - ![crates.io](https://img.shields.io/crates/v/jh7110-vf2-13b-pac)
- `j71xx-pac` - svd2rust generated interface to StarFive [JH71xx](https://www.starfivetech.com/en/site/soc) MCUs - [![crates.io](https://img.shields.io/crates/v/jh71xx-pac.svg)](https://crates.io/crates/jh71xx-pac)
-
Texas Instruments
-
MSP430
- `msp430g2553`
- `msp430fr2355`
- `msp430fr6972` - [![crates.io](https://img.shields.io/crates/v/msp430fr6972)](https://crates.io/crates/msp430fr6972)
- msp430 quickstart
-
Ambiq Micro
-
Vorago
-
Wiznet
- `w7500x-pac` - [![crates.io](https://img.shields.io/crates/v/w7500x-pac.svg)](https://crates.io/crates/w7500x-pac)
-
SiFive
- `e310x` - svd2rust generated interface to SiFive [Freedom E310](https://www.sifive.com/cores/e31) MCUs - [![crates.io](https://img.shields.io/crates/v/e310x.svg)](https://crates.io/crates/e310x)
-
-
HAL implementation crates
-
Microchip
- `pic32-hal` - HAL for PIC32MX - [![crates.io](https://img.shields.io/crates/v/pic32-hal.svg)](https://crates.io/crates/pic32-hal)
- `atsam4-hal` - HAL for SAM4E, SAM4N and SAM4S - [![crates.io](https://img.shields.io/crates/v/atsam4-hal.svg)](https://crates.io/crates/atsam4-hal)
- `atsamd-hal` - HAL for SAMD11, SAMD21, SAMD51 and SAME54 - [![crates.io](https://img.shields.io/crates/v/atsamd-hal.svg)](https://crates.io/crates/atsamd-hal)
- `atsamx7x-hal` - HAL for SAM S70/E70/V70/V71-based devices - [![crates.io](https://img.shields.io/crates/v/atsamx7x-hal.svg)](https://crates.io/crates/atsamx7x-hal)
-
Nordic
- `nrf51-hal` - [![crates.io](https://img.shields.io/crates/v/nrf51-hal.svg)](https://crates.io/crates/nrf51-hal)
- `nrf52810-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52810-hal.svg)](https://crates.io/crates/nrf52810-hal)
- `nrf52811-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52811-hal.svg)](https://crates.io/crates/nrf52811-hal)
- `nrf52832-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52832-hal.svg)](https://crates.io/crates/nrf52832-hal)
- `nrf52833-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52833-hal.svg)](https://crates.io/crates/nrf52833-hal)
- `nrf52840-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52840-hal.svg)](https://crates.io/crates/nrf52840-hal)
- `nrf9160-hal` - [![crates.io](https://img.shields.io/crates/v/nrf9160-hal.svg)](https://crates.io/crates/nrf9160-hal)
-
STMicroelectronics
- `stm32f3xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)](https://crates.io/crates/stm32f3xx-hal)
- `stm32f4xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)](https://crates.io/crates/stm32f4xx-hal)
- `stm32f7xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)](https://crates.io/crates/stm32f7xx-hal)
- `stm32g0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)](https://crates.io/crates/stm32g0xx-hal)
- `stm32h7xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)](https://crates.io/crates/stm32h7xx-hal)
- `stm32l0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)](https://crates.io/crates/stm32l0xx-hal)
- `stm32l1xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)](https://crates.io/crates/stm32l1xx-hal)
- `stm32l151-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)](https://crates.io/crates/stm32l151-hal)
- `stm32l4xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)](https://crates.io/crates/stm32l4xx-hal)
- `stm32-hal` - [![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)](https://crates.io/crates/stm32-hal2)
- `stm32f0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)](https://crates.io/crates/stm32f0xx-hal)
- `stm32f1xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)](https://crates.io/crates/stm32f1xx-hal)
-
GigaDevice
- `gd32f1x0-hal` - [![crates.io](https://img.shields.io/crates/v/gd32f1x0-hal.svg)](https://crates.io/crates/gd32f1x0-hal)
- `gd32vf103-hal` - [![crates.io](https://img.shields.io/crates/v/gd32vf103-hal.svg)](https://crates.io/crates/gd32vf103-hal)
- `gd32vf103xx-hal` - [![crates.io](https://img.shields.io/crates/v/gd32vf103xx-hal.svg)](https://crates.io/crates/gd32vf103xx-hal)
-
Renesas
- `embedded-hal` - hal)
- `da14531-hal` - Low Power BT 5.1 System-on-Chip - [![crates.io](https://img.shields.io/crates/v/da14531-hal.svg)](https://crates.io/crates/da14531-hal)
-
OS
- `linux-embedded-hal` - embedded-hal)
- `freebsd-embedded-hal` - ![crates.io](https://img.shields.io/crates/v/freebsd-embedded-hal.svg)
-
NXP
- `lpc55s6x-hal` - [![crates.io](https://img.shields.io/crates/v/lpc55s6x-hal.svg)](https://crates.io/crates/lpc55s6x-hal)
- `lpc8xx-hal` - HAL for lpc82x and lpc845 - [![crates.io](https://img.shields.io/crates/v/lpc8xx-hal.svg)](https://crates.io/crates/lpc8xx-hal)
- `mkw41z-hal` - [![crates.io](https://img.shields.io/crates/v/mkw41z-hal.svg)](https://crates.io/crates/mkw41z-hal)
- `imxrt-hal` - HAL for i.MX RT series. - [![crates.io](https://img.shields.io/crates/v/imxrt-hal.svg)](https://crates.io/crates/imxrt-hal)
-
Raspberry Pi Silicon
- `rp2040-hal` - HAL for the RP2040 dual-core system-on-chip - [![crates.io](https://img.shields.io/crates/v/rp2040-hal.svg)](https://crates.io/crates/rp2040-hal)
-
MSP430
-
Vorago
- `va108xx-hal` - ![crates.io](https://img.shields.io/crates/v/va108xx-hal.svg)
-
Texas Instruments
-
SiFive
- `e310x-hal` - HAL for SiFive [Freedom E310](https://www.sifive.com/cores/e31) MCUs - [![crates.io](https://img.shields.io/crates/v/e310x-hal.svg)](https://crates.io/crates/e310x-hal)
-
Espressif
-
Silicon Labs
-
XMC
- `xmc1100-hal` - [![crates.io](https://img.shields.io/crates/v/xmc1100-hal.svg)](https://crates.io/crates/xmc1100-hal)
- `xmc4-hal` - [![crates.io](https://img.shields.io/crates/v/xmc4-hal.svg)](https://crates.io/crates/xmc4-hal)
-
StarFive
- `j71xx-hal` - HAL crate for StarFive [JH71xx](https://www.starfivetech.com/en/site/soc) MCUs - [![crates.io](https://img.shields.io/crates/v/jh71xx-hal.svg)](https://crates.io/crates/jh71xx-hal)
-
-
Architecture support crates
-
RISC-V
- `riscv` - level access to RISC-V processors - [![crates.io](https://img.shields.io/crates/v/riscv.svg)](https://crates.io/crates/riscv)
-
MIPS
- `mips` - level access to MIPS32 processors - [![crates.io](https://img.shields.io/crates/v/mips.svg)](https://crates.io/crates/mips)
- `mips-mcu` - level access to MIPS MCU cores - [![crates.io](https://img.shields.io/crates/v/mips-mcu.svg)](https://crates.io/crates/mips-mcu)
-
ARM
- `cortex-a` - level access to Cortex-A processors (early state) - [![crates.io](https://img.shields.io/crates/v/cortex-a.svg)](https://crates.io/crates/cortex-a)
- `cortex-m` - level access to Cortex-M processors - [![crates.io](https://img.shields.io/crates/v/cortex-m.svg)](https://crates.io/crates/cortex-m)
-
-
Board support crates
-
1BitSquared
- `onebitsy` - Board support crate for the [1bitsy] STM32F4-based board - [![crates.io](https://img.shields.io/crates/v/onebitsy.svg)](https://crates.io/crates/onebitsy)
-
Adafruit
- `metro_m0` - Board support for the [Metro M0 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board. [![crates.io](https://img.shields.io/crates/v/metro_m0.svg)](https://crates.io/crates/metro_m0)
- `metro_m4` - Board support for the [Metro M4 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board. [![crates.io](https://img.shields.io/crates/v/metro_m4.svg)](https://crates.io/crates/metro_m4)
- `pyportal` - Board support for the [PyPortal board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/pyportal.svg)](https://crates.io/crates/pyportal)
- `pygamer` - Board support for the [PyGamer board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board. [![crates.io](https://img.shields.io/crates/v/pygamer.svg)](https://crates.io/crates/pygamer)
- `trellis_m4` - Board support for the [NeoTrellis M4 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/trellis_m4.svg)](https://crates.io/crates/trellis_m4)
- `feather-f405` - Board support for the [Feather STM32F405 Express]. [![crates.io](https://img.shields.io/crates/v/feather-f405.svg)](https://crates.io/crates/feather-f405)
- `feather_m0` - Board support for the [Feather M0 board], and some variants in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board. [![crates.io](https://img.shields.io/crates/v/feather_m0.svg)](https://crates.io/crates/feather_m0)
- `feather_m4` - Board support for the [Feather M4 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board. [![crates.io](https://img.shields.io/crates/v/feather_m4.svg)](https://crates.io/crates/feather_m4)
- `circuit_playground_express` - Board support for the [Circuit Playground Express board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/circuit_playground_express.svg)](https://crates.io/crates/circuit_playground_express)
- `edgebadge` - Board support for the [EdgeBadge board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/edgebadge.svg)](https://crates.io/crates/edgebadge)
- `gemma_m0` - Board support for the [Gemma M0 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/gemma_m0.svg)](https://crates.io/crates/gemma_m0)
- `itsybitsy_m0` - Board support for the [ItsyBitsy M0 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/itsybitsy_m0.svg)](https://crates.io/crates/itsybitsy_m0)
- `itsybitsy_m4` - Board support for the [ItsyBitsy M4 Express board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/itsybitsy_m4.svg)](https://crates.io/crates/itsybitsy_m4)
- `trinket_m0` - Board support for the [Trinket M0 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/trinket_m0.svg)](https://crates.io/crates/trinket_m0)
- `neo_trinkey` - Board support for the [neo trinkey board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/neo_trinkey.svg)](https://crates.io/crates/neo_trinkey)
- `qt_py_m0` - Board support for the [QT Py board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/qt_py_m0.svg)](https://crates.io/crates/qt_py_m0)
- `neokey_trinkey` - Board support for the [neokey trinkey board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/neokey_trinkey.svg)](https://crates.io/crates/neokey_trinkey)
- `grand_central_m4` - Board support for the [grand central m4 board] in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/grand_central_m4.svg)](https://crates.io/crates/grand_central_m4)
-
Arduino
- `arduino_mkr1000` - Board support for the [MKR 1000 WiFi board](https://docs.arduino.cc/hardware/mkr-1000-wifi) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/arduino_mkr1000.svg)](https://crates.io/crates/arduino_mkr1000)
- `arduino_mkrvidor4000` - Board support for the [MKR Vidor board](https://store.arduino.cc/usa/mkr-vidor-4000) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/arduino_mkrvidor4000.svg)](https://crates.io/crates/arduino_mkrvidor4000)
- `arduino_mkrzero` - Board support for the [mkrzero board](https://store.arduino.cc/arduino-mkrzero) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/arduino_mkrzero.svg)](https://crates.io/crates/arduino_mkrzero)
- `arduino_nano33iot` - Board support for the [Arduino Nano 33 IoT](https://store.arduino.cc/products/arduino-nano-33-iot) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/arduino_nano33iot.svg)](https://crates.io/crates/arduino_nano33iot)
- `avr-hal` - Board support crate for several AVR-based boards including the Arduino Uno and the Arduino Leonardo
-
Nordic
- `dwm1001` - [Decawave DWM1001-DEV] - [![crates.io](https://img.shields.io/crates/v/dwm1001.svg)](https://crates.io/crates/dwm1001)
- `microbit` - [micro:bit] - [![crates.io](https://img.shields.io/crates/v/microbit.svg)](https://crates.io/crates/microbit)
- `nrf52840-dk-bsp` - [nrf52840-dk] - [![crates.io](https://img.shields.io/crates/v/nrf52840-dk-bsp.svg)](https://crates.io/crates/nrf52840-dk-bsp)
- `Thingy:91-nrf9160` - [thingy:91] - [![crates.io](https://img.shields.io/crates/v/thingy-91-nrf9160-bsp.svg)](https://crates.io/crates/thingy-91-nrf9160-bsp)
-
Sparkfun
- `samd21_mini` - Board support for the [SAMD21 Mini Breakout](https://www.sparkfun.com/products/13664) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/samd21_mini.svg)](https://crates.io/crates/samd21_mini)
- `sparkfun-pro-micro-rp2040` - Board Support Crate for the RP2040 based Sparkfun Pro Micro.
-
SeeedStudio
- ![crates.io - gd32v)
- `xiao_m0` - Board support for the [Seeed Studio Seeeduino XIAO](http://wiki.seeedstudio.com/Seeeduino-XIAO/) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/xiao_m0.svg)](https://crates.io/crates/xiao_m0)
- `wio_lite_mg126` - Board support for the [Seeed Studio wio_lite_mg126](https://wiki.seeedstudio.com/Wio-Lite-MG126) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/wio_lite_mg126.svg)](https://crates.io/crates/wio_lite_mg126)
- `wio_lite_w600` - Board support for the [Seeed Studio wio_lite_w600](https://wiki.seeedstudio.com/Wio-Lite-W600/) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/wio_lite_w600.svg)](https://crates.io/crates/wio_lite_w600)
- `wio_terminal` - Board support for the [Seeed Studio wio_terminal](https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/) in the [atsamd-rs] repo. It is an [atsamd-rs tier 1 support] board [![crates.io](https://img.shields.io/crates/v/wio_terminal.svg)](https://crates.io/crates/wio_terminal)
- `seedstudio-gd32v` - Board support crate for the [GD32 RISC-V Dev Board](https://www.seeedstudio.com/SeeedStudio-GD32-RISC-V-Dev-Board-p-4302.html)
-
Sipeed
- ![crates.io - nano)
- `longan-nano` - Board support package for the [Longan Nano board](https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V-GD32VF103CBT6-Development-Board-p-4205.html)
-
STMicroelectronics
- `f3` - [![crates.io](https://img.shields.io/crates/v/f3.svg)](https://crates.io/crates/f3)
- `solo-bsp` - [![crates.io](https://img.shields.io/crates/v/solo-bsp.svg)](https://crates.io/crates/solo-bsp)
- `stm32f407g-disc` - [![crates.io](https://img.shields.io/crates/v/stm32f407g-disc.svg)](https://crates.io/crates/stm32f407g-disc)
- `stm32f429i-disc` - [![crates.io](https://img.shields.io/crates/v/stm32f429i-disc.svg)](https://crates.io/crates/stm32f429i-disc)
- `stm32f3-discovery` - embedded.github.io/discovery/index.html) - [![crates.io](https://img.shields.io/crates/v/stm32f3-discovery)](https://crates.io/crates/stm32f3-discovery)
- `nucleo-f042k6` - [Nucleo-F042K6]
- `nucleo-f103rb` - [Nucleo-F103RB]
- `nucleo-f401re` - [Nucleo-F401RE] [![crates.io](https://img.shields.io/crates/v/nucleo-f401re.svg)](https://crates.io/crates/nucleo-f401re)
- `nucleo-h743zi` - oriented support crate for the Nucleo H743ZI and Nucleo H743ZI2
- `nucleo-h723zg`
-
Texas Instruments
- `stellaris-launchpad` - For the Texas Instruments Stellaris Launchpad and Tiva-C Launchpad [![crates.io](https://img.shields.io/crates/v/stellaris-launchpad.svg)](https://crates.io/crates/stellaris-launchpad)
- `tm4c129-launchpad` - For the Texas Instruments TM4C129-XL Launchpad board
- `monotron` - A 1980s home-computer style application for the Texas Instruments Stellaris Launchpad. PS/2 keyboard input, text output on a bit-bashed 800x600 VGA signal. Uses [menu], [vga-framebuffer] and [pc-keyboard].
-
Sodaq
- `sodaq_one` - Board support for the [Sodaq one board](https://shop.sodaq.com/sodaq-one-eu-rn2483-v3.html) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/sodaq_one.svg)](https://crates.io/crates/sodaq_one)
- `sodaq_sara_aff` - Board support for the [Sodaq sara aff board](https://shop.sodaq.com/sodaq-sara-sff-r410m.html) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/sodaq_sara_aff.svg)](https://crates.io/crates/sodaq_sara_aff)
-
Other
- `serpente` - Board support for the [serpente board](https://www.solder.party/docs/serpente/) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/serpente.svg)](https://crates.io/crates/serpente)
- `p1am_100` - Board support for the [p1am_100 board](https://facts-engineering.github.io) in the [atsamd-rs] repo. It is an [atsamd-rs tier 2 support] board. [![crates.io](https://img.shields.io/crates/v/p1am_100.svg)](https://crates.io/crates/p1am_100)
-
NXP
- `frdm-kw41z` - [FRDM-KW41Z] - [![crates.io](https://img.shields.io/crates/v/frdm-kw41z.svg)](https://crates.io/crates/frdm-kw41z)
-
Vorago
- `vorago-reb1` - ![crates.io](https://img.shields.io/crates/v/vorago-reb1.svg)
- Blogpost
- `vorago-reb1` - [![crates.io](https://img.shields.io/crates/v/vorago-reb1.svg)](https://crates.io/crates/vorago-reb1)
-
Sony
- `prussia` - SDK for the PlayStation 2.
-
SiFive
- `hifive1` - Board support crate for [HiFive1](https://www.sifive.com/boards/hifive1) and [LoFive](https://hackaday.io/project/26909-lofive) boards - [![crates.io](https://img.shields.io/crates/v/hifive.svg)](https://crates.io/crates/hifive)
-
Teensy
-
Special Purpose
- `betafpv-f3` - For the BetaFPV F3 drone flight controller
-
-
Real-time
-
Real-time Operating System (RTOS)
- Drone OS - time applications in Rust.
- RIOT-OS
- Tock - memory and low-power microcontrollers
- FreeRTOS.rs
- FreeRTOS-rust
- Hubris - time operating system built by Oxide Computer to run the Service Controller processor in the mainboards of their rack-mount servers.
-
Real-time tools
- cortex-m rtic - M microcontrollers
- msp430 rtfm
- RTIC v1.0 - Time Interrupt-driven Concurrency — A concurrency framework for building real-time systems:
-
-
Component abstraction crates
-
Other
- `embedded-nal` - [![crates.io](https://img.shields.io/crates/v/embedded-nal.svg)](https://crates.io/crates/embedded-nal)
- `switch-hal` - [![crates.io](https://img.shields.io/crates/v/switch-hal.svg)](https://crates.io/crates/switch-hal)
- `embedded-graphics` - graphics)
- `smart-leds`
- `atat` - [![crates.io](https://img.shields.io/crates/v/atat.svg)](https://crates.io/crates/atat)
- `radio` - Generic radio transceiver traits, mocks, and helpers - [![crates.io](https://img.shields.io/crates/v/radio.svg)](https://crates.io/crates/radio)
- `usb-device` - [![crates.io](https://img.shields.io/crates/v/usb-device.svg)](https://crates.io/crates/usb-device)
- `accelerometer` - Generic accelerometer support, including traits and types for taking readings from 2 or 3-axis accelerometers and tracking device orientations - [![crates.io](https://img.shields.io/crates/v/accelerometer.svg)](https://crates.io/crates/accelerometer)
- `atat` - [![crates.io](https://img.shields.io/crates/v/atat.svg)](https://crates.io/crates/atat)
- `embedded-storage`
-
-
Driver crates
-
Other
- embedded-dht-rs - dht-rs)
- MAX116xx-10bit - 10bit)
- MCP25LCXX - eeprom-25lcxx)
- MCP3008 - mcp3008)
- port-expander - expander)
- pwm-pca9685 - pca9685)
- rainbow-hat-rs - hat-rs)
- rotary-encoder-hal - encoder-hal)
- sega-controller - controller)
- shared-bus - bus)
- shift-register-driver - register-driver)
- Sx127x - sx127x)
- Sx128x - sx128x)
- TC72 - tc72r-rs)
- usbd-serial - serial)
- usbd-hid - hid)
- usbd-hid-device - hid-device)
- vl53l1x-uld - [![crates.io](https://img.shields.io/crates/v/vl53l1x-uld.svg)](https://crates.io/crates/vl53l1x-uld)
- i2c-multiplexer - multiplexer)
- AD983x
- adafruit-alphanum4 - alphanum4)
- ADE791x
- ADS1x1x
- ADXL313
- ADXL343
- ADXL355
- AFE4404
- AHT20-driver - driver)
- BlueNRG
- BMA400
- BNO055
- CD74HC4067
- dht-sensor - sensor)
- DRV8825
- DS1307
- ebyte-e32 - e32)
- EEPROM24x
- embedded-ccs811 - ccs811)
- embedded-sdmmc - sdmmc)
- ENC28J60
- HC-12 - at)
- HTS221
- IIS2MDC
- ISM330DHCX
- keypad
- KXCJ9
- L3GD20
- LSM303DLHC
- MAX6675 - hal)
- MAX6955
- MCP3425
- MCP794xx
- OPT300x
- PAC194X
- SGP30
- SH1106
- Si4703
- SRAM23x
- SSD1306
- SSD1309
- STSPIN220
- TCN75A
- TMP006
- TMP1x2
- TSIC
- TSL256X
- VEML6030/VEML7700
- VEML6075
- usbd-human-interface-device - human-interface-device)
- usbd-midi - midi)
- usbd-webusb - webusb)
- SHTCx
- ST7789
- DW1000
- Adafruit-7segment - 7segment)
- ST7565
- tb6612fng
- SHT31-rs
- AHT20 - [![crates.io](https://img.shields.io/crates/v/aht20.svg)](https://crates.io/crates/aht20)
- AnyLeaf - [![crates.io](https://img.shields.io/crates/v/anyleaf.svg)](https://crates.io/crates/anyleaf)
- on drive-rs - rs)) while we work to port everything across.
-
WIP
- BMP280 - ehal)
- epd-waveshare - waveshare)
- embedded-morse - morse)
- grove-matrix-led-my9221-rs - matrix-led-my9221-rs)
- HD44780-driver - driver)
- VEML6070
- AD9850
- APDS9960
- BME280
- bme680
- BMI160
- CC1101
- DS323x
- Ft6x36
- GridEYE
- HM11
- HRS3300
- HDC20xx
- hub75
- hzgrow-r502 - r502)
- INA260
- ISL29125
- IST7920
- LM75
- LSM303C
- LSM9DS1
- ltr-559 - 559)
- lvgl - ![crates.io](https://img.shields.io/crates/v/lvgl.svg)
- M95320
- MAX17048/9
- MAX3010x
- MAX31855
- MAX31865
- MAX44009
- MAX7219
- MCP4725
- MCP49xx
- MCP9808
- midi-port - port)
- MLX9061x
- MPU6050
- MPU9250
- MS5637
- OneWire - ![crates.io](https://img.shields.io/crates/v/onewire.svg)
- PCD8544_rich
- PCF857x
- SCD30
- SPL06-007 - 007)
- spi-memory - memory)
- SSD1320
- SSD1322
- SSD1351
- SSD1675
- st7032i
- ST7735-lcd - lcd)
- ST7920
- TCS3472
- TPA2016D2
- VEML6040
- VEML7700
- vesc-comm - comm.svg)
- VL53L0X
- w5500
- xCA9548A
- lvgl - [![crates.io](https://img.shields.io/crates/v/lvgl.svg)](https://crates.io/crates/lvgl)
- lp586x
- ad57xx
- LSM303AGR
- MAX170xx
- MCP4x
- MMA8x5x
- SSD1322_rs
- radio-at86rf212 - at86rf212)
-
-
no-std crates
-
WIP
- adskalman - Tung-Striebel smoothing implementation. ![crates.io](https://img.shields.io/crates/v/adskalman.svg)
- atomic
- bbqueue - ![crates.io](https://img.shields.io/crates/v/bbqueue.svg)
- bitmatch
- biquad
- bit_field - ![crates.io](https://img.shields.io/crates/v/bit_field.svg)
- bluetooth-hci - independent Bluetooth Host-Controller Interface implementation. ![crates.io](https://img.shields.io/crates/v/bluetooth-hci.svg)
- bounded-registers - assurance memory-mapped register code generation and interaction library. `bounded-registers` provides a Tock-like API for MMIO registers with the addition of type-based bounds checking. - ![crates.io](https://img.shields.io/crates/v/bounded-registers.svg)
- cam-geom - geom.svg)
- combine - ![crates.io](https://img.shields.io/crates/v/combine.svg)
- `cmim`
- dcmimu
- debouncr
- device-driver
- dummy-pin - pin.svg)
- embedded-crc-macros - time lookup table generation. ![crates.io](https://img.shields.io/crates/v/embedded-crc-macros.svg)
- embedded-websocket - websocket.svg)
- endian_codec
- fixed-fft - point Fast Fourier Transform - [![Crates.io](https://img.shields.io/crates/v/fixed-fft.svg)](https://crates.io/crates/fixed-fft)
- gdbstub - allocation, pure Rust implementation of the GDB Remote Serial Protocol - [![crates.io](https://img.shields.io/crates/v/gdbstub.svg)](https://crates.io/crates/gdbstub)
- heapless - size buffers - ![crates.io](https://img.shields.io/crates/v/heapless.svg)
- idsp - ![crates.io](https://img.shields.io/crates/v/idsp.svg)
- ieee802154 - ![crates.io](https://img.shields.io/crates/v/ieee802154.svg)
- infrared - ![crates.io](https://img.shields.io/crates/v/infrared.svg)
- intrusive-collections - allocating) singly/doubly linked lists and red-black trees - ![crates.io](https://img.shields.io/crates/v/intrusive-collections.svg)
- inverted-pin - pin.svg)
- irq - ![crates.io](https://img.shields.io/crates/v/irq.svg)
- lorawan-encoding
- lorawan-device - driven and async mode.
- managed - size buffers for `#![no_std]`. - ![crates.io](https://img.shields.io/crates/v/managed.svg)
- menu
- mqtt-sn - SN protocol - ![crates.io](https://img.shields.io/crates/v/mqtt-sn.svg)
- microfft - friendly (`no_std`, no-`alloc`) fast fourier transforms - ![crates.io](https://img.shields.io/crates/v/microfft.svg)
- minimq - ![crates.io](https://img.shields.io/crates/v/minimq.svg)
- nalgebra - purpose and low-dimensional linear algebra library - ![crates.io](https://img.shields.io/crates/v/nalgebra.svg)
- nom - ![crates.io](https://img.shields.io/crates/v/nom.svg)
- null-terminated - terminated arrays - ![crates.io](https://img.shields.io/crates/v/null-terminated.svg)
- num-format - ![crates.io](https://img.shields.io/crates/v/num-format.svg)
- `panic-persist`
- pc-keyboard
- qei - bit integer to a 64-bit integer. - ![crates.io](https://img.shields.io/crates/v/qei.svg)
- qemu-exit
- RampMaker - ![crates.io](https://img.shields.io/crates/v/ramp-maker.svg)
- scapegoat - only alternative to `BTreeSet` and `BTreeMap`. - [![crates.io](https://img.shields.io/crates/v/scapegoat.svg)](https://crates.io/crates/scapegoat)
- scroll - aware Read/Write traits for generic containers - ![crates.io](https://img.shields.io/crates/v/scroll.svg)
- Slint
- smbus-pec - pec.svg)
- smoltcp
- sntpc
- Stepper
- tinybmp - std, no-alloc BMP parser for embedded systems. [Introductory blog post](https://wapl.es/rust/2019/03/04/embedded-graphics-0.4.7-bmp-support.html) - ![crates.io](https://img.shields.io/crates/v/tinybmp.svg)
- wyhash
- adafruit-bluefruit-protocol
- console-traits - framebuffer]. ![crates.io](https://img.shields.io/crates/v/console-tratis.svg)
- `cmsis-dsp-sys` - software/CMSIS_5) math library - ![crates.io](https://img.shields.io/crates/v/cmsis-dsp-sys.svg)
- drogue-device
- crossbus - Less, Runtime-Less Actor Computing Model.
- ector
- embedded-update
- embedded-tls - std environment.
- ethercrab - ![crates.io](https://img.shields.io/crates/v/ethercrab.svg)
- gcode - std applications - [![crates.io](https://img.shields.io/crates/v/gcode.svg)](https://crates.io/crates/gcode)
- static-bytes - bytes.svg)](https://crates.io/crates/static-bytes)
- usb-pd - PD library, supports using the FUSB302B as a Sink driver, with Source functionality planned.
- light-cli
- OxCC
- Rubble - Rust embedded BLE stack ![crates.io](https://img.shields.io/crates/v/rubble.svg)
- moonboot
- register-rs - safe bitfield manipulation. `register-rs` is Tock registers with added support for CPU register definitions using the same API as for the MMIO registers. This enables homogeneous interfaces to registers of all kinds. - ![crates.io](https://img.shields.io/crates/v/register.svg)
- micropb - ![crates.io](https://img.shields.io/crates/v/micropb.svg)
- lorawan-device - driven and async mode.
- wtx
- embedded-cli - cli.svg)
- sized-dst - sized types (such as trait objects) backed by stack memory. - ![crates.io](https://img.shields.io/crates/v/sized-dst.svg)
- lakers - optimized [EDHOC](https://datatracker.ietf.org/doc/draft-ietf-lake-edhoc/) implementation, with bindings for C and Python - ![crates.io](https://img.shields.io/crates/v/lakers.svg)
- miniconf - ![crates.io](https://img.shields.io/crates/v/miniconf.svg)
- lorawan-encoding
-
-
Old books, blogs, and training materials
-
WIP
- Pragmatic Bare Metal Rust
- Using Rust in an Embedded Project: A Simple Example - compiling.
- Robigalia
- intermezzOS
- Fearless concurrency - M microcontroller with memory-safe concurrency.
- Internet of Streams
- Exploring Rust on Teensy
-
-
Community
-
Firmware projects
-
WIP
- rmk
- anne-key
- μLA
- air-gradient-pro-rs
- Stabilizer - time configuration
- Booster - time configuration
- Thermostat EEM - channel temperature controller used in physics experiments
- Card/IO ECG - card-sized ECG device with Wifi connectivity
- BillMock - on hardware to install on Korean arcade machines
- LuLuu - based display controller that streams animated images from a microSD card to a small LCD display.
- prinThor
-
Categories
Driver crates
154
Peripheral Access Crates
107
no-std crates
77
Board support crates
63
HAL implementation crates
45
Tools
29
Books, blogs, and training materials
26
Firmware projects
11
Component abstraction crates
10
Real-time
9
Old books, blogs, and training materials
7
Architecture support crates
5
Community
1
Sub Categories
WIP
168
Other
93
STMicroelectronics
35
Paid and commercially available materials
30
Nordic
20
Renesas
19
Adafruit
18
Silicon Labs
18
Free and public materials
16
NXP
12
Espressif
10
Community Chat Rooms
9
XMC
9
Microchip
9
GigaDevice
7
Vorago
7
Real-time Operating System (RTOS)
6
SeeedStudio
6
Texas Instruments
6
Arduino
5
MSP430
5
Ambiq Micro
4
Real-time tools
4
StarFive
4
SiFive
3
Raspberry Pi Silicon
2
MIPS
2
Sodaq
2
ARM
2
OS
2
Sipeed
2
Sparkfun
2
Special Purpose
1
RISC-V
1
1BitSquared
1
Teensy
1
Wiznet
1
Sony
1
Keywords
rust
34
embedded
19
cortex-m
10
rust-embedded
9
no-std
9
infineon
8
svd2rust
8
xmc
8
rust-lang
7
arm
7
esp32
5
firmware
5
ferrous-systems
5
bootloader
4
embedded-rust
4
bare-metal
3
stm32
3
async
3
embedded-hal
3
rp2040
2
freertos
2
rust-tools
2
espressif
2
keyboard
2
embedded-systems
2
iot
2
hal
2
uart
2
embedded-hal-driver
2
at-command
2
avr
2
drone
1
rust-embedd
1
hal-crates
1
arduino
1
esp-idf
1
drogue-device
1
lora
1
wifi
1
actor-model
1
asynchronous
1
platform-less
1
runtime-less
1
ethercat
1
ethercat-master
1
igh-ethercat-master
1
industrial-automation
1
soem
1
3d-printing
1
gcode
1