Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

  • 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

    • 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

    • Ambiq Micro

    • Vorago

      • `va108xx` - ![crates.io](https://img.shields.io/crates/v/va108xx.svg)
      • `va416xx` - ![crates.io](https://img.shields.io/crates/v/va416xx.svg)
      • `va416xx` - [![crates.io](https://img.shields.io/crates/v/va416xx.svg)](https://crates.io/crates/va416xx)
    • 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

    • 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

    • 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

  • 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

  • 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

  • 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

  • Community

  • Firmware projects