Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

awesome-embedded-rust


https://github.com/2lambda123/awesome-embedded-rust

  • Embedded WG
  • The Embedded Rust Book - An introductory book about using the Rust Programming Language on "Bare Metal" embedded systems, such as Microcontrollers.
  • The Rust on ESP Book - The goal of this book is to provide a comprehensive guide on using the Rust programming language with Espressif SoCs and modules.
  • Discovery - embedded — this book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language. Original author: @japaric
  • Cortex-M Quickstart
  • Writing an OS in rust
  • MicroRust
  • Physical Computing With Rust
  • 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' 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.
  • 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.
  • Ferrous Systems' Embedded Rust on Espressif - Training Material for learning to use Embedded Rust with the Espressif ESP32-C3.
  • 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.
  • Building a sailing starter board with Rust (RTIC)
  • 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.
  • 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))
  • xargo - default std libraries — build rust runtime for your own embedded system.
  • cargo-xbuild
  • svd2rust
  • edc2svd - ![crates.io](https://img.shields.io/crates/v/edc2svd.svg)
  • embedded-hal-mock
  • bindgen - ![crates.io](https://img.shields.io/crates/v/bindgen.svg)
  • cortex-m semihosting - M processors
  • bobbin-cli
  • ferros - based userland which also adds compile-time assurances to seL4 development.
  • cargo-flash - ![crates.io](https://img.shields.io/crates/v/cargo-flash.svg)
  • cargo-embed - flash with additional useful features like configuration file support, a RTT terminal or a GDB server. - ![crates.io](https://img.shields.io/crates/v/cargo-embed.svg)
  • cargo-hf2 - ![crates.io](https://img.shields.io/crates/v/cargo-hf2.svg)
  • cargo-bloat
  • cargo-call-stack
  • cargo-dfu
  • espflash - ![crates.io](https://img.shields.io/crates/v/espflash.svg)
  • espup - ![crates.io](https://img.shields.io/crates/v/espup.svg)
  • uf2 - ![crates.io](https://img.shields.io/crates/v/uf2.svg)
  • Knurling Tools
  • 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
  • embedded-hal-compat
  • Embassy start - rs/embassy). This particular template targets nRF hardware and networking using the Uarte for the purposes of illustration only.
  • Drone OS - time applications in Rust.
  • FreeRTOS.rs
  • FreeRTOS-rust
  • RIOT-OS
  • Tock - memory and low-power microcontrollers
  • Hubris - time operating systems built by Oxide Computer to run the Service Controller processor in the mainboards of their rack-mount servers.
  • RTIC v1.0 - Time Interrupt-driven Concurrency — A concurrency framework for building real time systems:
  • cortex-m rtic - M microcontrollers
  • msp430 rtfm
  • `svd2rust`
  • `atsamd11`
  • `atsamd21`
  • `atsamd51`
  • `atsame53`
  • `atsame54`
  • `avr-device`
  • `sam3x8e` - ![crates.io](https://img.shields.io/crates/v/sam3x8e.svg)
  • `pic32-pac` - ![crates.io](https://img.shields.io/crates/v/pic32mx2xx)
  • `nrf51` - ![crates.io](https://img.shields.io/crates/v/nrf51.svg)
  • `nrf52810-pac` - Peripheral access API for the nRF52810 microcontroller (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/nrf52810-pac.svg)
  • `nrf52811-pac` - Peripheral access API for the nRF52811 microcontroller (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/nrf52811-pac.svg)
  • `nrf52832-pac` - Peripheral access API for the nRF52832 microcontroller (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/nrf52832-pac.svg)
  • `nrf52833-pac` - Peripheral access API for the nRF52833 microcontroller (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/nrf52833-pac.svg)
  • `nrf52840-pac` - Peripheral access API for the nRF52840 microcontroller (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/nrf52840-pac.svg)
  • `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)
  • `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)
  • `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)
  • `k64` - ![crates.io](https://img.shields.io/crates/v/k64.svg)
  • `lpc11uxx` - ![crates.io](https://img.shields.io/crates/v/lpc11uxx.svg)
  • `lpc55s6x-pac` - ![crates.io](https://img.shields.io/crates/v/lpc55s6x-pac.svg)
  • `lpc82x-pac` - ![crates.io](https://img.shields.io/crates/v/lpc82x-pac.svg)
  • `lpc845-pac` - ![crates.io](https://img.shields.io/crates/v/lpc845-pac.svg)
  • `mkw41z` - ![crates.io](https://img.shields.io/crates/v/mkw41z.svg)
  • `imxrt-ral` - ![crates.io](https://img.shields.io/crates/v/imxrt-ral.svg)
  • `SKEAZN642` - ![crates.io](https://img.shields.io/crates/v/SKEAZN642.svg)
  • `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)
  • `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)
  • `efm32pg12-pac` - Peripheral access API for Silicon Labs EFM32PG12 microcontrollers - ![crates.io](https://img.shields.io/crates/v/efm32pg12-pac)
  • `efm32-rs`
  • `efm32g-pac` - ![crates.io](https://img.shields.io/crates/v/efm32g-pac)
  • `efm32gg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32gg-pac)
  • `efm32gg11b-pac` - ![crates.io](https://img.shields.io/crates/v/efm32gg11b-pac)
  • `efm32gg12b-pac` - ![crates.io](https://img.shields.io/crates/v/efm32gg12b-pac)
  • `efm32hg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32hg-pac)
  • `efm32jg1b-pac` - ![crates.io](https://img.shields.io/crates/v/efm32jg1b-pac)
  • `efm32jg12b-pac` - ![crates.io](https://img.shields.io/crates/v/efm32jg12b-pac)
  • `efm32lg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32lg-pac)
  • `efm32pg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32pg-pac)
  • `efm32pg22-pac` - ![crates.io](https://img.shields.io/crates/v/efm32pg22-pac)
  • `efm32pg23-pac` - ![crates.io](https://img.shields.io/crates/v/efm32pg23-pac)
  • `efm32tg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32tg-pac)
  • `efm32tg11b-pac` - ![crates.io](https://img.shields.io/crates/v/efm32tg11b-pac)
  • `efm32wg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32wg-pac)
  • `efm32zg-pac` - ![crates.io](https://img.shields.io/crates/v/efm32zg-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)
  • `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)
  • `stm32-rs`
  • `stm32f0` - ![crates.io](https://img.shields.io/crates/v/stm32f0.svg)
  • `stm32f1` - ![crates.io](https://img.shields.io/crates/v/stm32f1.svg)
  • `stm32f2` - ![crates.io](https://img.shields.io/crates/v/stm32f2.svg)
  • `stm32f3` - ![crates.io](https://img.shields.io/crates/v/stm32f3.svg)
  • `stm32f4` - ![crates.io](https://img.shields.io/crates/v/stm32f4.svg)
  • `stm32f7` - ![crates.io](https://img.shields.io/crates/v/stm32f7.svg)
  • `stm32g0` - ![crates.io](https://img.shields.io/crates/v/stm32g0.svg)
  • `stm32g4` - ![crates.io](https://img.shields.io/crates/v/stm32g4.svg)
  • `stm32h7` - ![crates.io](https://img.shields.io/crates/v/stm32h7.svg)
  • `stm32l0` - ![crates.io](https://img.shields.io/crates/v/stm32l0.svg)
  • `stm32l1` - ![crates.io](https://img.shields.io/crates/v/stm32l1.svg)
  • `stm32l4` - ![crates.io](https://img.shields.io/crates/v/stm32l4.svg)
  • `tm4c123x`
  • `tm4c129x`
  • `msp430g2553`
  • msp430 quickstart
  • `msp430fr2355`
  • `msp430fr6972` - ![Crates.io](https://img.shields.io/crates/v/msp430fr6972)
  • `esp32` - ![crates.io](https://img.shields.io/crates/v/esp32.svg)
  • `esp32c2` - ![crates.io](https://img.shields.io/crates/v/esp32c2.svg)
  • `esp32c3` - ![crates.io](https://img.shields.io/crates/v/esp32c3.svg)
  • `esp32c6` - ![crates.io](https://img.shields.io/crates/v/esp32c6.svg)
  • `esp32s2` - ![crates.io](https://img.shields.io/crates/v/esp32s2.svg)
  • `esp32s3` - ![crates.io](https://img.shields.io/crates/v/esp32s3.svg)
  • `esp8266` - ![crates.io](https://img.shields.io/crates/v/esp8266.svg)
  • `ambiq-apollo1-pac`
  • `ambiq-apollo2-pac`
  • `ambiq-apollo3-pac`
  • `ambiq-apollo3p-pac`
  • `gd32vf103-pac` - V microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/gd32vf103-pac.svg)
  • `gd32e2` - M23 microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/gd32e2.svg)
  • `gd32f1` - M3 microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/gd32f1.svg)
  • `gd32f2` - M3 microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/gd32f2.svg)
  • `xmc4100` - ![crates.io](https://img.shields.io/crates/v/xmc4100.svg)
  • `xmc4200` - ![crates.io](https://img.shields.io/crates/v/xmc4200.svg)
  • `xmc4300` - ![crates.io](https://img.shields.io/crates/v/xmc4300.svg)
  • `xmc4400` - ![crates.io](https://img.shields.io/crates/v/xmc4400.svg)
  • `xmc4500` - ![crates.io](https://img.shields.io/crates/v/xmc4500.svg)
  • `xmc4700` - ![crates.io](https://img.shields.io/crates/v/xmc4700.svg)
  • `xmc4800` - ![crates.io](https://img.shields.io/crates/v/xmc4800.svg)
  • `va108xx` - ![crates.io](https://img.shields.io/crates/v/va108xx.svg)
  • `va416xx` - ![crates.io](https://img.shields.io/crates/v/va416xx.svg)
  • `w7500x-pac` - ![crates.io](https://img.shields.io/crates/v/w7500x-pac.svg)
  • `ra2a1` - ![crates.io](https://img.shields.io/crates/v/ra2a1.svg)
  • `ra2e1` - ![crates.io](https://img.shields.io/crates/v/ra2e1.svg)
  • `ra2e2` - ![crates.io](https://img.shields.io/crates/v/ra2e2.svg)
  • `ra2l1` - ![crates.io](https://img.shields.io/crates/v/ra2l1.svg)
  • `ra4e1` - ![crates.io](https://img.shields.io/crates/v/ra4e1.svg)
  • `ra4m1` - ![crates.io](https://img.shields.io/crates/v/ra4m1.svg)
  • `ra4m2` - ![crates.io](https://img.shields.io/crates/v/ra4m2.svg)
  • `ra4m3` - ![crates.io](https://img.shields.io/crates/v/ra4m3.svg)
  • `ra4w1` - ![crates.io](https://img.shields.io/crates/v/ra4w1.svg)
  • `ra6e1` - ![crates.io](https://img.shields.io/crates/v/ra6e1.svg)
  • `ra6m1` - ![crates.io](https://img.shields.io/crates/v/ra6m1.svg)
  • `ra6m2` - ![crates.io](https://img.shields.io/crates/v/ra6m2.svg)
  • `ra6m3` - ![crates.io](https://img.shields.io/crates/v/ra6m3.svg)
  • `ra6m4` - ![crates.io](https://img.shields.io/crates/v/ra6m4.svg)
  • `ra6t1` - ![crates.io](https://img.shields.io/crates/v/ra6t1.svg)
  • `ra6t2` - ![crates.io](https://img.shields.io/crates/v/ra6t2.svg)
  • `da14531` - Low Power BT 5.1 System-on-Chip - ![crates.io](https://img.shields.io/crates/v/da14531.svg)
  • `embedded-hal`
  • `da14531-hal` - Low Power BT 5.1 System-on-Chip - ![crates.io](https://img.shields.io/crates/v/da14531-hal.svg)
  • `linux-embedded-hal`
  • `freebsd-embedded-hal` - ![crates.io](https://img.shields.io/crates/v/freebsd-embedded-hal.svg)
  • `atsam4-hal` - HAL for SAM4E, SAM4N and SAM4S - ![crates.io](https://img.shields.io/crates/v/atsam4-hal.svg)
  • `atsamd-hal` - HAL for SAMD11, SAMD21, SAMD51 and SAME54 - ![crates.io](https://img.shields.io/crates/v/atsamd-hal.svg)
  • `avr-hal` - Board support crate for several AVR-based boards including the Arduino Uno and the Arduino Leonardo
  • `pic32-hal` - HAL for PIC32MX - ![crates.io](https://img.shields.io/crates/v/pic32-hal.svg)
  • `nrf51-hal` - ![crates.io](https://img.shields.io/crates/v/nrf51-hal.svg)
  • `nrf52810-hal` - ![crates.io](https://img.shields.io/crates/v/nrf52810-hal.svg)
  • `nrf52811-hal` - ![crates.io](https://img.shields.io/crates/v/nrf52811-hal.svg)
  • `nrf52832-hal` - ![crates.io](https://img.shields.io/crates/v/nrf52832-hal.svg)
  • `nrf52833-hal` - ![crates.io](https://img.shields.io/crates/v/nrf52833-hal.svg)
  • `nrf52840-hal` - ![crates.io](https://img.shields.io/crates/v/nrf52840-hal.svg)
  • `nrf9160-hal` - ![crates.io](https://img.shields.io/crates/v/nrf9160-hal.svg)
  • `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)
  • `imxrt-hal` - HAL for i.MX RT series. - ![crates.io](https://img.shields.io/crates/v/imxrt-hal.svg)
  • `rp2040-hal` - HAL for the RP2040 dual-core system-on-chip - ![crates.io](https://img.shields.io/crates/v/rp2040-hal.svg)
  • `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)
  • `stm32f0xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)
  • `stm32f1xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)
  • `stm32f3xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)
  • `stm32f4xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)
  • `stm32f7xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)
  • `stm32g0xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)
  • `stm32h7xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)
  • `stm32l0xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)
  • `stm32l1xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)
  • `stm32l151-hal` - ![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)
  • `stm32l4xx-hal` - ![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)
  • `stm32-hal` - ![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)
  • `tm4c123x-hal`
  • `msp430fr2x5x-hal`
  • `esp-idf-hal`
  • `esp-hal`
  • `tomu-hal`
  • `xmc1100-hal` - ![crates.io](https://img.shields.io/crates/v/xmc1100-hal.svg)
  • `xmc4-hal` - ![crates.io](https://img.shields.io/crates/v/xmc4-hal.svg)
  • `gd32vf103xx-hal` - ![crates.io](https://img.shields.io/crates/v/gd32vf103xx-hal.svg)
  • `gd32vf103-hal` - ![crates.io](https://img.shields.io/crates/v/gd32vf103-hal.svg)
  • `gd32f1x0-hal` - ![crates.io](https://img.shields.io/crates/v/gd32f1x0-hal.svg)
  • `va108xx-hal` - ![crates.io](https://img.shields.io/crates/v/va108xx-hal.svg)
  • Blogpost
  • `cortex-a` - A processors (early state) - ![crates.io](https://img.shields.io/crates/v/cortex-a.svg)
  • `cortex-m` - M processors - ![crates.io](https://img.shields.io/crates/v/cortex-m.svg)
  • `riscv` - V processors - ![crates.io](https://img.shields.io/crates/v/riscv.svg)
  • `mips` - ![crates.io](https://img.shields.io/crates/v/mips.svg)
  • `mips-mcu` - ![crates.io](https://img.shields.io/crates/v/mips-mcu.svg)
  • `onebitsy` - Board support crate for the [1bitsy] STM32F4-based board - ![crates.io](https://img.shields.io/crates/v/onebitsy.svg)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `feather-f405` - Board support for the [Feather STM32F405 Express]. ![crates.io](https://img.shields.io/crates/v/feather-f405.svg)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `adafruit-feather-rp2040` - Board Support Crate for the [Adafruit Feather RP2040] ![crates.io](https://img.shields.io/crates/v/adafruit-feather-rp2040.svg)
  • `adafruit-itsy-bitsy-rp2040` - Board Support Crate for the [Adafruit ItsyBitsy RP2040] ![crates.io](https://img.shields.io/crates/v/adafruit-itsy-bitsy-rp2040.svg)
  • `adafruit-kb2040` - Board Support Crate for the [Adafruit KB2040] ![crates.io](https://img.shields.io/crates/v/adafruit-kb2040.svg)
  • `adafruit-macropad` - Board Support Crate for the [Adafruit Macropad] ![crates.io](https://img.shields.io/crates/v/adafruit-macropad.svg)
  • `adafruit-qt-py-rp2040` - Board Support Crate for the [Adafruit QT Py RP2040] ![crates.io](https://img.shields.io/crates/v/adafruit-qt-py-rp2040.svg)
  • `avr-hal` - Board support crate for several AVR-based boards including the Arduino Uno and the Arduino Leonardo
  • `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)
  • `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)
  • `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)
  • `arduino_nano33iot` - Board support for the [Arduino Nano 33 IoT](https://store.arduino.cc/usa/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)
  • `dwm1001` - [Decawave DWM1001-DEV] - ![crates.io](https://img.shields.io/crates/v/dwm1001.svg)
  • `microbit` - [micro:bit] - ![crates.io](https://img.shields.io/crates/v/microbit.svg)
  • `nrf52840-dk-bsp` - [nrf52840-dk] - ![crates.io](https://img.shields.io/crates/v/nrf52840-dk-bsp.svg)
  • `Thingy:91-nrf9160` - [thingy:91] - ![crates.io](https://img.shields.io/crates/v/thingy-91-nrf9160-bsp.svg)
  • `frdm-kw41z` - [FRDM-KW41Z] - ![crates.io](https://img.shields.io/crates/v/frdm-kw41z.svg)
  • `pimoroni-pico-explorer` - Board Support for the [Pimoroni Pico Explorer]
  • `pimoroni-pico-lipo-16mb` - Board Support for the [Pimoroni Pico Lipo 16MB]
  • `rp-pico` - Board Support Crate for the RP2040 based Raspberry Pi Pico.
  • `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)
  • `sparkfun-pro-micro-rp2040` - Board Support Crate for the RP2040 based Sparkfun Pro Micro.
  • `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)
  • crates.io
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • crates.io
  • `prussia` - SDK for the PlayStation 2.
  • `f3` - ![crates.io](https://img.shields.io/crates/v/f3.svg)
  • `nucleo-f042k6` - [Nucleo-F042K6]
  • `nucleo-f103rb` - [Nucleo-F103RB]
  • `nucleo-f401re` - [Nucleo-F401RE] ![crates.io](https://img.shields.io/crates/v/nucleo-f401re.svg)
  • `nucleo-h743zi` - oriented support crate for the Nucleo H743ZI and Nucleo H743ZI2
  • `nucleo-h723zg`
  • `solo-bsp` - ![crates.io](https://img.shields.io/crates/v/solo-bsp.svg)
  • `stm32f407g-disc` - ![crates.io](https://img.shields.io/crates/v/stm32f407g-disc.svg)
  • `stm32f429i-disc` - ![crates.io](https://img.shields.io/crates/v/stm32f429i-disc.svg)
  • `stm32f3-discovery` - embedded.github.io/discovery/index.html) - ![crates.io](https://img.shields.io/crates/v/stm32f3-discovery)
  • `teensy4-rs`
  • `vorago-reb1` - ![crates.io](https://img.shields.io/crates/v/vorago-reb1.svg)
  • Blogpost
  • `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].
  • `stellaris-launchpad` - For the Texas Instruments Stellaris Launchpad and Tiva-C Launchpad ![crates.io](https://img.shields.io/crates/v/stellaris-launchpad.svg)
  • `tm4c129-launchpad` - For the Texas Instruments TM4C129-XL Launchpad board
  • `betafpv-f3` - For the BetaFPV F3 drone flight controller
  • `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)
  • `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)
  • `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)
  • `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)
  • `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)
  • `embedded-graphics`
  • `radio` - Generic radio transceiver traits, mocks, and helpers - ![crates.io](https://img.shields.io/crates/v/radio.svg)
  • `smart-leds`
  • `usb-device` - ![crates.io](https://img.shields.io/crates/v/usb-device.svg)
  • `atat` - ![crates.io](https://img.shields.io/crates/v/atat.svg)
  • `embedded-nal` - ![crates.io](https://img.shields.io/crates/v/embedded-nal.svg)
  • `embedded-storage`
  • `switch-hal` - ![crates.io](https://img.shields.io/crates/v/switch-hal.svg)
  • AD983x
  • adafruit-alphanum4
  • ADE791x
  • ADS1x1x
  • ADXL313
  • ADXL343
  • ADXL355
  • AFE4404
  • AHT20 - ![crates.io](https://img.shields.io/crates/v/aht20.svg)
  • AHT20-driver
  • AnyLeaf - ![crates.io](https://img.shields.io/crates/v/anyleaf.svg)
  • AT86RF212
  • BlueNRG
  • BMA400
  • BNO055
  • CD74HC4067
  • dht-sensor
  • DRV8825
  • DS1307
  • ebyte-e32
  • EEPROM24x
  • embedded-ccs811
  • embedded-sdmmc
  • ENC28J60
  • HC-12
  • HTS221
  • IIS2MDC
  • ISM330DHCX
  • keypad
  • KXCJ9
  • L3GD20
  • LSM303DLHC
  • MAX6955
  • MAX116xx-10bit
  • MCP25LCXX
  • MCP3008
  • MCP3425
  • MCP794xx
  • OPT300x
  • PAC194X
  • port-expander
  • pwm-pca9685
  • rainbow-hat-rs
  • rotary-encoder-hal
  • sega-controller
  • SGP30
  • SH1106
  • shared-bus
  • shift-register-driver
  • Si4703
  • SRAM23x
  • SSD1306
  • SSD1309
  • STSPIN220
  • Sx127x
  • Sx128x
  • TC72
  • TCN75A
  • TMP006
  • TMP1x2
  • TSIC
  • TSL256X
  • VEML6030/VEML7700
  • VEML6075
  • usbd-serial
  • usbd-hid
  • usbd-hid-device
  • usbd-human-interface-device
  • usbd-midi
  • usbd-webusb
  • SHTCx
  • ST7789
  • DW1000
  • Adafruit-7segment
  • ST7565
  • tb6612fng
  • vl53l1x-uld - ![crates.io](https://img.shields.io/crates/v/vl53l1x-uld.svg)
  • i2c-multiplexer
  • SHT31-rs
  • AD9850
  • APDS9960
  • BME280
  • bme680
  • BMI160
  • BMP280
  • CC1101
  • DS323x
  • epd-waveshare
  • embedded-morse
  • Ft6x36
  • grove-matrix-led-my9221-rs
  • GridEYE
  • HD44780-driver
  • HM11
  • HRS3300
  • HDC20xx
  • hub75
  • hzgrow-r502
  • INA260
  • ISL29125
  • IST7920
  • LM75
  • LSM303C
  • LSM9DS1
  • ltr-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
  • MLX9061x
  • MPU6050
  • MPU9250
  • OneWire - ![crates.io](https://img.shields.io/crates/v/onewire.svg)
  • PCD8544_rich
  • PCF857x
  • radio-at86rf212
  • SCD30
  • SPL06-007
  • spi-memory
  • SSD1320
  • SSD1322
  • SSD1351
  • SSD1675
  • st7032i
  • ST7735-lcd
  • ST7920
  • TCS3472
  • TPA2016D2
  • VEML6040
  • VEML6070
  • VEML7700
  • vesc-comm - comm.svg)
  • VL53L0X
  • w5500
  • xCA9548A
  • 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)
  • console-traits - framebuffer]. ![crates.io](https://img.shields.io/crates/v/console-tratis.svg)
  • `cmim`
  • `cmsis-dsp-sys` - software/CMSIS_5) math library - ![crates.io](https://img.shields.io/crates/v/cmsis-dsp-sys.svg)
  • dcmimu
  • debouncr
  • device-driver
  • drogue-device
  • dummy-pin - pin.svg)
  • crossbus - Less, Runtime-Less Actor Computing Model.
  • ector
  • embedded-crc-macros - time lookup table generation. ![crates.io](https://img.shields.io/crates/v/embedded-crc-macros.svg)
  • embedded-update
  • embedded-tls - std environment.
  • embedded-websocket - websocket.svg)
  • endian_codec
  • ethercrab - ![crates.io](https://img.shields.io/crates/v/ethercrab.svg)
  • fixed-fft - point Fast Fourier Transform - [![Crates.io](https://img.shields.io/crates/v/fixed-fft.svg)](https://crates.io/crates/fixed-fft)
  • gcode - std applications - [![crates.io](https://img.shields.io/crates/v/gcode.svg)](https://crates.io/crates/gcode)
  • 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
  • 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)
  • micromath - ![crates.io](https://img.shields.io/crates/v/micromath.svg)
  • minimq - ![crates.io](https://img.shields.io/crates/v/minimq.svg)
  • moonboot
  • 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 - ![crates.io](https://img.shields.io/crates/v/qei.svg)
  • qemu-exit
  • RampMaker - ![crates.io](https://img.shields.io/crates/v/ramp-maker.svg)
  • 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)
  • 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
  • static-bytes - bytes.svg)](https://crates.io/crates/static-bytes)
  • 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)
  • vga-framebuffer - framebuffer.svg)
  • usb-pd - PD library, supports using the FUSB302B as a Sink driver, with Source functionality planned.
  • wyhash
  • adafruit-bluefruit-protocol
  • light-cli
  • OxCC
  • Rubble - Rust embedded BLE stack ![crates.io](https://img.shields.io/crates/v/rubble.svg)
  • 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
  • BillMcok - on hardware to install on Korean arcade machines
  • LuLuu - based display controller which streams animated images from a microSD card to a small LCD display.
  • Exploring Rust on Teensy
  • 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
  • Ferrous Systems' Embedded Training Courses: 2019 edition - on training course for beginner and advanced learners of Embedded Rust, based on Nordic Semiconductor's nRF52 and Decawave's DWM1001-DEV hardware. This training was given at Oxidize Conferences and by Ferrous Systems to corporate customers.