{"slug": "rust-embedded--awesome-embedded-rust", "title": "Awesome Embedded Rust", "description": "Curated list of resources for Embedded and Low-level development in the Rust programming language", "github_url": "https://github.com/rust-embedded/awesome-embedded-rust", "stars": "7.7K", "tag": "Programming Languages", "entry_count": 328, "subcategory_count": 63, "subcategories": [{"name": "Table of Contents", "parent": "", "entries": [{"name": "Embedded Rust", "url": "#embedded-rust", "description": ""}, {"name": "Embedded WG", "url": "https://github.com/rust-embedded/wg/", "description": "", "stars": "2.1k"}]}, {"name": "Community Chat Rooms", "parent": "Community", "entries": []}, {"name": "Free and public materials", "parent": "Books, blogs, and training materials", "entries": [{"name": "The Embedded Rust Book", "url": "https://rust-embedded.github.io/book/", "description": "An introductory book about using the Rust Programming Language on \"Bare Metal\" embedded systems, such as Microcontrollers."}, {"name": "The Rust on ESP Book", "url": "https://esp-rs.github.io/book/", "description": "This book aims to provide a comprehensive guide on using the Rust programming language with Espressif SoCs and modules."}, {"name": "Embedded Rust (no\\_std) on Espressif", "url": "https://docs.esp-rs.org/no_std-training/", "description": "Training for Rust using no\\_std approach development on ESP32-C3."}, {"name": "Embedded Rust (std) on Espressif", "url": "https://docs.esp-rs.org/std-training/", "description": "Training for Rust using std approach development on ESP32-C3 by Ferrous Systems."}, {"name": "Discovery", "url": "https://rust-embedded.github.io/discovery", "description": ""}, {"name": "Cortex-M Quickstart", "url": "https://docs.rs/cortex-m-quickstart/0.3.1/cortex_m_quickstart/", "description": ""}, {"name": "Writing an OS in Rust", "url": "https://os.phil-opp.com/", "description": ""}, {"name": "MicroRust", "url": "https://droogmic.github.io/microrust/", "description": ""}, {"name": "Physical Computing With Rust", "url": "https://rahul-thakoor.github.io/physical-computing-rust/", "description": ""}, {"name": "Writing an embedded OS in Rust on the Raspberry Pi", "url": "https://github.com/rust-embedded/rust-raspi3-OS-tutorials", "description": "", "stars": "15k"}, {"name": "Writing embedded drivers in Rust isn't that hard", "url": "https://hboeving.dev/blog/rust-2c-driver-p1/", "description": ""}, {"name": "Ferrous Systems' Embedded Training Courses: 2020-current edition", "url": "https://github.com/ferrous-systems/embedded-trainings-2020", "description": "", "stars": "258"}, {"name": "Ferrous Systems' Knurling Sessions", "url": "https://knurling.ferrous-systems.com/sessions/", "description": ""}, {"name": "DSP on STM32F407G-DISC1", "url": "https://github.com/jacobrosenthal/dsp-discoveryf4-rust/", "description": "", "stars": "34"}, {"name": "Building a sailing starter board with Rust (RTIC)", "url": "https://gill.net.in/posts/stm32-pcb-sailing-and-rust/", "description": ""}, {"name": "STM32F4xx with Embedded Rust at the HAL", "url": "https://apollolabsblog.hashnode.dev/series/stm32f4-embedded-rust-hal", "description": ""}, {"name": "Embedded Rust programming playlist", "url": "https://www.youtube.com/playlist?list=PLP_X41VhYn5X6Wwjnm0bRwI3n2pdaszxU", "description": ""}, {"name": "ESP32-C3 Rust Tutorials", "url": "https://youtube.com/playlist?list=PLkch9g9DEE0Lkm1LqcD7pZNDmXEczOo-a", "description": ""}, {"name": "Tweede golf's workshop", "url": "https://workshop.tweede.golf", "description": "A full workshop about Rust and embedded Rust. The embedded parts use the nRF52840-DK and a LIS3DH breakout board. ([github source (⭐30)](https://github.com/tweedegolf/rust-workshop))"}, {"name": "impl Rust on ESP32 Book", "url": "https://esp32.implrust.com/", "description": "A hands-on guide that uses the ESP32 DevKit V1 to demonstrate how to work with various modules and sensors. ([github source (⭐189)](https://github.com/ImplFerris/esp32-book))"}, {"name": "Pico Pico Book", "url": "https://pico.implrust.com/", "description": "A hands-on guide that uses the Pico 2 (RP2350) to demonstrate how to work with various modules and sensors. ([github source (⭐128)](https://github.com/ImplFerris/pico-pico))"}]}, {"name": "Paid and commercially available materials", "parent": "Books, blogs, and training materials", "entries": [{"name": "Simplified Embedded Rust: Standard Library Edition", "url": "https://www.theembeddedrustacean.com/c/ser-std", "description": "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."}, {"name": "Simplified Embedded Rust: Core Library Edition", "url": "https://www.theembeddedrustacean.com/c/ser-no-std", "description": "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."}, {"name": "xargo", "url": "https://github.com/japaric/xargo", "description": "", "stars": "1.1k"}, {"name": "svd2rust", "url": "https://github.com/japaric/svd2rust", "description": "", "stars": "826"}, {"name": "edc2svd", "url": "https://github.com/kiffie/edc2svd", "description": "", "stars": "7"}, {"name": "embedded-hal-mock] Mock implementation of `embedded-hal` traits for testing without accessing real hardware. - [![crates.io", "url": "https://img.shields.io/crates/v/embedded-hal-mock.svg", "description": ""}, {"name": "bindgen", "url": "https://crates.io/crates/bindgen", "description": ""}, {"name": "cortex-m semihosting", "url": "https://github.com/japaric/cortex-m-semihosting", "description": "", "stars": "0"}, {"name": "bobbin-cli", "url": "https://github.com/bobbin-rs/bobbin-cli", "description": "", "stars": "114"}, {"name": "ferros", "url": "https://github.com/auxoncorp/ferros", "description": "", "stars": "120"}, {"name": "cargo-flash", "url": "https://probe.rs/docs/tools/cargo-flash/", "description": ""}, {"name": "cargo-embed", "url": "https://probe.rs/docs/tools/cargo-embed/", "description": ""}, {"name": "cargo-hf2", "url": "https://github.com/jacobrosenthal/hf2-rs", "description": "", "stars": "55"}, {"name": "cargo-bloat", "url": "https://github.com/RazrFalcon/cargo-bloat", "description": "", "stars": "2.7k"}, {"name": "cargo-call-stack", "url": "https://crates.io/crates/cargo-call-stack", "description": ""}, {"name": "cargo-dfu", "url": "https://crates.io/crates/cargo-dfu", "description": ""}, {"name": "espflash", "url": "https://github.com/esp-rs/espflash", "description": "", "stars": "664"}, {"name": "espup", "url": "https://github.com/esp-rs/espup", "description": "", "stars": "393"}, {"name": "uf2", "url": "https://github.com/sajattack/uf2conv-rs", "description": "", "stars": "32"}, {"name": "probe-rs", "url": "https://github.com/probe-rs/probe-rs", "description": "", "stars": "2.6k"}, {"name": "embedded-test", "url": "https://github.com/probe-rs/embedded-test", "description": "", "stars": "159"}, {"name": "Knurling Tools", "url": "https://knurling.ferrous-systems.com/tools/", "description": ""}, {"name": "embedded-hal-compat", "url": "https://github.com/ryankurte/embedded-hal-compat", "description": "", "stars": "19"}, {"name": "Embassy start", "url": "https://github.com/titanclass/embassy-start", "description": "", "stars": "27"}, {"name": "svd-generator", "url": "https://codeberg.org/weathered-steel/svd-generator", "description": ""}, {"name": "rumbac", "url": "https://github.com/akavel/rumbac", "description": "", "stars": "3"}, {"name": "commitment-issues", "url": "https://github.com/dysonltd/commitment-issues", "description": "", "stars": "14"}]}, {"name": "Real-time Operating System (RTOS)", "parent": "Real-time", "entries": [{"name": "Drone OS", "url": "https://drone-os.github.io", "description": ""}, {"name": "FreeRTOS.rs", "url": "https://github.com/hashmismatch/freertos.rs", "description": "", "stars": "240"}, {"name": "FreeRTOS-rust", "url": "https://github.com/lobaro/FreeRTOS-rust", "description": "", "stars": "473"}, {"name": "RIOT-OS", "url": "https://doc.riot-os.org/using-rust.html", "description": ""}, {"name": "Tock", "url": "https://www.tockos.org", "description": ""}, {"name": "Hubris", "url": "https://github.com/oxidecomputer/hubris", "description": "", "stars": "3.4k"}, {"name": "Zephyr", "url": "https://docs.zephyrproject.org/latest/develop/languages/rust/index.html", "description": ""}, {"name": "Ariel OS", "url": "https://ariel-os.org/", "description": ""}]}, {"name": "Real-time tools", "parent": "Real-time", "entries": [{"name": "RTIC v1.0", "url": "https://rtic.rs/1/book/en/", "description": ""}, {"name": "`cortex-m-rt`", "url": "https://crates.io/crates/cortex-m-rt", "description": ""}, {"name": "`cortex-a-rt`", "url": "https://crates.io/crates/cortex-a-rt", "description": ""}, {"name": "`cortex-r-rt`", "url": "https://crates.io/crates/cortex-r-rt", "description": ""}, {"name": "`riscv-rt`", "url": "https://crates.io/crates/riscv-rt", "description": ""}, {"name": "`esp-riscv-rt`", "url": "https://crates.io/crates/esp-riscv-rt", "description": ""}, {"name": "`xtensa-lx-rt`", "url": "https://crates.io/crates/xtensa-lx-rt", "description": ""}, {"name": "`mips-rt`", "url": "https://crates.io/crates/mips-rt", "description": ""}, {"name": "`msp430-rt`", "url": "https://crates.io/crates/msp430-rt", "description": ""}]}, {"name": "Microchip", "parent": "Peripheral Access Crates", "entries": [{"name": "`atsamd11`", "url": "https://github.com/atsamd-rs/atsamd", "description": ""}, {"name": "`atsamd21`", "url": "https://github.com/atsamd-rs/atsamd", "description": ""}, {"name": "`atsamd51`", "url": "https://github.com/atsamd-rs/atsamd", "description": ""}, {"name": "`atsame53`", "url": "https://github.com/atsamd-rs/atsamd", "description": ""}, {"name": "`atsame54`", "url": "https://github.com/atsamd-rs/atsamd", "description": ""}, {"name": "`atsamx7x-rust`", "url": "https://github.com/atsams-rs/atsamx7x-rust", "description": ""}, {"name": "`avr-device`", "url": "https://github.com/Rahix/avr-device", "description": ""}, {"name": "`sam3x8e`", "url": "https://crates.io/crates/sam3x8e", "description": ""}, {"name": "`pic32-pac`", "url": "https://crates.io/crates/pic32mx2xx", "description": ""}]}, {"name": "Nordic", "parent": "Peripheral Access Crates", "entries": [{"name": "`nrf51`", "url": "https://crates.io/crates/nrf51", "description": ""}, {"name": "`nrf52810-pac`", "url": "https://crates.io/crates/nrf52810-pac", "description": "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)"}, {"name": "`nrf52811-pac`", "url": "https://crates.io/crates/nrf52811-pac", "description": "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)"}, {"name": "`nrf52832-pac`", "url": "https://crates.io/crates/nrf52832-pac", "description": "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)"}, {"name": "`nrf52833-pac`", "url": "https://crates.io/crates/nrf52833-pac", "description": "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)"}, {"name": "`nrf52840-pac`", "url": "https://crates.io/crates/nrf52840-pac", "description": "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)"}, {"name": "`nrf5340-app-pac`", "url": "https://crates.io/crates/nrf5340-app-pac", "description": "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)"}, {"name": "`nrf5340-net-pac`", "url": "https://crates.io/crates/nrf5340-net-pac", "description": "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)"}, {"name": "`nrf9160-pac`", "url": "https://crates.io/crates/nrf9160-pac", "description": "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)"}]}, {"name": "NXP", "parent": "Peripheral Access Crates", "entries": [{"name": "`k64`", "url": "https://crates.io/crates/k64", "description": "[![crates.io](https://img.shields.io/crates/v/k64.svg)](https://crates.io/crates/k64)"}, {"name": "`lpc11uxx`", "url": "https://crates.io/crates/lpc11uxx", "description": "[![crates.io](https://img.shields.io/crates/v/lpc11uxx.svg)](https://crates.io/crates/lpc11uxx)"}, {"name": "`lpc55s6x-pac`", "url": "https://crates.io/crates/lpc55s6x-pac", "description": "[![crates.io](https://img.shields.io/crates/v/lpc55s6x-pac.svg)](https://crates.io/crates/lpc55s6x-pac)"}, {"name": "`lpc82x-pac`", "url": "https://crates.io/crates/lpc82x-pac", "description": "[![crates.io](https://img.shields.io/crates/v/lpc82x-pac.svg)](https://crates.io/crates/lpc82x-pac)"}, {"name": "`lpc845-pac`", "url": "https://crates.io/crates/lpc845-pac", "description": "[![crates.io](https://img.shields.io/crates/v/lpc845-pac.svg)](https://crates.io/crates/lpc845-pac)"}, {"name": "`mkw41z`", "url": "https://crates.io/crates/mkw41z", "description": "[![crates.io](https://img.shields.io/crates/v/mkw41z.svg)](https://crates.io/crates/mkw41z)"}, {"name": "`imxrt-ral`", "url": "https://github.com/imxrt-rs/imxrt-rs", "description": ""}, {"name": "`SKEAZN642`", "url": "https://crates.io/crates/SKEAZN642", "description": ""}, {"name": "`mcx-pac`", "url": "https://github.com/mcx-rs/mcx-pac", "description": ""}]}, {"name": "Raspberry Pi Silicon", "parent": "Peripheral Access Crates", "entries": [{"name": "`rp2040-pac`", "url": "https://crates.io/crates/rp2040-pac", "description": "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)"}, {"name": "`rp235x-pac`", "url": "https://crates.io/crates/rp235x-pac", "description": "Peripheral access API for the RP2350 family of dual-core microcontrollers - [![crates.io](https://img.shields.io/crates/v/rp235x-pac.svg)](https://crates.io/crates/rp235x-pac)"}]}, {"name": "SiFive", "parent": "Peripheral Access Crates", "entries": [{"name": "`e310x`", "url": "https://github.com/riscv-rust/e310x", "description": "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)"}]}, {"name": "Silicon Labs", "parent": "Peripheral Access Crates", "entries": [{"name": "`efm32pg12-pac`", "url": "https://crates.io/crates/efm32pg12-pac", "description": "Peripheral access API for Silicon Labs EFM32PG12 microcontrollers - [![crates.io](https://img.shields.io/crates/v/efm32pg12-pac)](https://crates.io/crates/efm32pg12-pac)"}, {"name": "`efm32g-pac`", "url": "https://crates.io/crates/efm32g-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32g-pac)](https://crates.io/crates/efm32g-pac)"}, {"name": "`efm32gg-pac`", "url": "https://crates.io/crates/efm32gg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32gg-pac)](https://crates.io/crates/efm32gg-pac)"}, {"name": "`efm32gg11b-pac`", "url": "https://crates.io/crates/efm32gg11b-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32gg11b-pac)](https://crates.io/crates/efm32gg11b-pac)"}, {"name": "`efm32gg12b-pac`", "url": "https://crates.io/crates/efm32gg12b-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32gg12b-pac)](https://crates.io/crates/efm32gg12b-pac)"}, {"name": "`efm32hg-pac`", "url": "https://crates.io/crates/efm32hg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32hg-pac)](https://crates.io/crates/efm32hg-pac)"}, {"name": "`efm32jg1b-pac`", "url": "https://crates.io/crates/efm32jg1b-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32jg1b-pac)](https://crates.io/crates/efm32jg1b-pac)"}, {"name": "`efm32jg12b-pac`", "url": "https://crates.io/crates/efm32jg12b-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32jg12b-pac)](https://crates.io/crates/efm32jg12b-pac)"}, {"name": "`efm32lg-pac`", "url": "https://crates.io/crates/efm32lg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32lg-pac)](https://crates.io/crates/efm32lg-pac)"}, {"name": "`efm32pg-pac`", "url": "https://crates.io/crates/efm32pg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32pg-pac)](https://crates.io/crates/efm32pg-pac)"}, {"name": "`efm32pg22-pac`", "url": "https://crates.io/crates/efm32pg22-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32pg22-pac)](https://crates.io/crates/efm32pg22-pac)"}, {"name": "`efm32pg23-pac`", "url": "https://crates.io/crates/efm32pg23-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32pg23-pac)](https://crates.io/crates/efm32pg23-pac)"}, {"name": "`efm32tg-pac`", "url": "https://crates.io/crates/efm32tg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32tg-pac)](https://crates.io/crates/efm32tg-pac)"}, {"name": "`efm32tg11b-pac`", "url": "https://crates.io/crates/efm32tg11b-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32tg11b-pac)](https://crates.io/crates/efm32tg11b-pac)"}, {"name": "`efm32wg-pac`", "url": "https://crates.io/crates/efm32wg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32wg-pac)](https://crates.io/crates/efm32wg-pac)"}, {"name": "`efm32zg-pac`", "url": "https://crates.io/crates/efm32zg-pac", "description": "[![crates.io](https://img.shields.io/crates/v/efm32zg-pac)](https://crates.io/crates/efm32zg-pac)"}]}, {"name": "StarFive", "parent": "Peripheral Access Crates", "entries": [{"name": "`j71xx-pac`", "url": "https://crates.io/crates/jh71xx-pac", "description": "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)"}]}, {"name": "STMicroelectronics", "parent": "Peripheral Access Crates", "entries": [{"name": "`stm32f0`", "url": "https://crates.io/crates/stm32f0", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f0.svg)](https://crates.io/crates/stm32f0)"}, {"name": "`stm32f1`", "url": "https://crates.io/crates/stm32f1", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f1.svg)](https://crates.io/crates/stm32f1)"}, {"name": "`stm32f2`", "url": "https://crates.io/crates/stm32f2", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f2.svg)](https://crates.io/crates/stm32f2)"}, {"name": "`stm32f3`", "url": "https://crates.io/crates/stm32f3", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f3.svg)](https://crates.io/crates/stm32f3)"}, {"name": "`stm32f4`", "url": "https://crates.io/crates/stm32f4", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f4.svg)](https://crates.io/crates/stm32f4)"}, {"name": "`stm32f7`", "url": "https://crates.io/crates/stm32f7", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f7.svg)](https://crates.io/crates/stm32f7)"}, {"name": "`stm32g0`", "url": "https://crates.io/crates/stm32g0", "description": "[![crates.io](https://img.shields.io/crates/v/stm32g0.svg)](https://crates.io/crates/stm32g0)"}, {"name": "`stm32g4`", "url": "https://crates.io/crates/stm32g4", "description": "[![crates.io](https://img.shields.io/crates/v/stm32g4.svg)](https://crates.io/crates/stm32g4)"}, {"name": "`stm32h7`", "url": "https://crates.io/crates/stm32h5", "description": "[![crates.io](https://img.shields.io/crates/v/stm32h5.svg)](https://crates.io/crates/stm32h5)"}, {"name": "`stm32h7`", "url": "https://crates.io/crates/stm32h7", "description": "[![crates.io](https://img.shields.io/crates/v/stm32h7.svg)](https://crates.io/crates/stm32h7)"}, {"name": "`stm32l0`", "url": "https://crates.io/crates/stm32l0", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l0.svg)](https://crates.io/crates/stm32l0)"}, {"name": "`stm32l1`", "url": "https://crates.io/crates/stm32l1", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l1.svg)](https://crates.io/crates/stm32l1)"}, {"name": "`stm32l4`", "url": "https://crates.io/crates/stm32l4", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l4.svg)](https://crates.io/crates/stm32l4)"}]}, {"name": "Texas Instruments", "parent": "Peripheral Access Crates", "entries": [{"name": "`tm4c123x`", "url": "https://crates.io/crates/tm4c123x", "description": ""}, {"name": "`tm4c129x`", "url": "https://crates.io/crates/tm4c129x", "description": ""}, {"name": "`mspm0-metapac`", "url": "https://github.com/mspm0-rs/mspm0-data", "description": ""}]}, {"name": "MSP430", "parent": "Peripheral Access Crates", "entries": [{"name": "`msp430g2553`", "url": "https://github.com/pftbest/msp430g2553", "description": ""}, {"name": "`msp430fr2355`", "url": "https://crates.io/crates/msp430fr2355", "description": ""}, {"name": "`msp430fr6972`", "url": "https://crates.io/crates/msp430fr6972", "description": "[![crates.io](https://img.shields.io/crates/v/msp430fr6972)](https://crates.io/crates/msp430fr6972)"}]}, {"name": "Espressif", "parent": "Peripheral Access Crates", "entries": [{"name": "`esp32`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32", "description": "[![crates.io](https://img.shields.io/crates/v/esp32.svg)](https://crates.io/crates/esp32)"}, {"name": "`esp32c2`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32c2", "description": "[![crates.io](https://img.shields.io/crates/v/esp32c2.svg)](https://crates.io/crates/esp32c2)"}, {"name": "`esp32c3`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32c3", "description": "[![crates.io](https://img.shields.io/crates/v/esp32c3.svg)](https://crates.io/crates/esp32c3)"}, {"name": "`esp32c6`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32c6", "description": "[![crates.io](https://img.shields.io/crates/v/esp32c6.svg)](https://crates.io/crates/esp32c6)"}, {"name": "`esp32h2`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32h2", "description": "[![crates.io](https://img.shields.io/crates/v/esp32h2.svg)](https://crates.io/crates/esp32h2)"}, {"name": "`esp32s2`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32s2", "description": "[![crates.io](https://img.shields.io/crates/v/esp32s2.svg)](https://crates.io/crates/esp32s2)"}, {"name": "`esp32s3`", "url": "https://github.com/esp-rs/esp-pacs/tree/main/esp32s3", "description": "[![crates.io](https://img.shields.io/crates/v/esp32s3.svg)](https://crates.io/crates/esp32s3)"}, {"name": "`esp8266`", "url": "https://github.com/esp-rs/esp8266", "description": "[![crates.io](https://img.shields.io/crates/v/esp8266.svg)](https://crates.io/crates/esp8266) *note: esp8266 is archived, no further development planned*"}]}, {"name": "Ambiq Micro", "parent": "Peripheral Access Crates", "entries": [{"name": "`ambiq-apollo1-pac`", "url": "https://crates.io/crates/ambiq-apollo1-pac", "description": ""}, {"name": "`ambiq-apollo2-pac`", "url": "https://crates.io/crates/ambiq-apollo2-pac", "description": ""}, {"name": "`ambiq-apollo3-pac`", "url": "https://crates.io/crates/ambiq-apollo3-pac", "description": ""}, {"name": "`ambiq-apollo3p-pac`", "url": "https://crates.io/crates/ambiq-apollo3p-pac", "description": ""}]}, {"name": "GigaDevice", "parent": "Peripheral Access Crates", "entries": [{"name": "`gd32vf103-pac`", "url": "https://github.com/riscv-rust/gd32vf103-pac", "description": ""}, {"name": "`gd32e2`", "url": "https://crates.io/crates/gd32e2", "description": ""}, {"name": "`gd32f1`", "url": "https://crates.io/crates/gd32f1", "description": ""}, {"name": "`gd32f2`", "url": "https://crates.io/crates/gd32f2", "description": ""}]}, {"name": "XMC", "parent": "Peripheral Access Crates", "entries": [{"name": "`xmc4100`", "url": "https://github.com/xmc-rs/xmc4100", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4100.svg)](https://crates.io/crates/xmc4100)"}, {"name": "`xmc4200`", "url": "https://github.com/xmc-rs/xmc4200", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4200.svg)](https://crates.io/crates/xmc4200)"}, {"name": "`xmc4300`", "url": "https://github.com/xmc-rs/xmc4300", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4300.svg)](https://crates.io/crates/xmc4300)"}, {"name": "`xmc4400`", "url": "https://github.com/xmc-rs/xmc4400", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4400.svg)](https://crates.io/crates/xmc4400)"}, {"name": "`xmc4500`", "url": "https://github.com/xmc-rs/xmc4500", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4500.svg)](https://crates.io/crates/xmc4500)"}, {"name": "`xmc4700`", "url": "https://github.com/xmc-rs/xmc4700", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4700.svg)](https://crates.io/crates/xmc4700)"}, {"name": "`xmc4800`", "url": "https://github.com/xmc-rs/xmc4800", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4800.svg)](https://crates.io/crates/xmc4800)"}]}, {"name": "Vorago", "parent": "Peripheral Access Crates", "entries": [{"name": "`va108xx`", "url": "https://egit.irs.uni-stuttgart.de/rust/va108xx-rs", "description": "[![crates.io](https://img.shields.io/crates/v/va108xx.svg)](https://crates.io/crates/va108xx)"}, {"name": "`va416xx`", "url": "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs", "description": "[![crates.io](https://img.shields.io/crates/v/va416xx.svg)](https://crates.io/crates/va416xx)"}]}, {"name": "Wiznet", "parent": "Peripheral Access Crates", "entries": [{"name": "`w7500x-pac`", "url": "https://crates.io/crates/w7500x-pac", "description": ""}]}, {"name": "Renesas", "parent": "Peripheral Access Crates", "entries": [{"name": "`ra2a1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra2a1", "description": ""}, {"name": "`ra2e1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra2e1", "description": ""}, {"name": "`ra2e2`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra2e2", "description": ""}, {"name": "`ra2l1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra2l1", "description": ""}, {"name": "`ra4e1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra4e1", "description": ""}, {"name": "`ra4m1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra4m1", "description": ""}, {"name": "`ra4m2`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra4m2", "description": ""}, {"name": "`ra4m3`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra4m3", "description": ""}, {"name": "`ra4w1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra4w1", "description": ""}, {"name": "`ra6e1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6e1", "description": ""}, {"name": "`ra6m1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6m1", "description": ""}, {"name": "`ra6m2`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6m2", "description": ""}, {"name": "`ra6m3`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6m3", "description": ""}, {"name": "`ra6m4`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6m4", "description": ""}, {"name": "`ra6t1`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6t1", "description": ""}, {"name": "`ra6t2`", "url": "https://github.com/ra-rs/ra/tree/main/pac/ra6t2", "description": ""}, {"name": "`da14531`", "url": "https://crates.io/crates/da14531", "description": ""}]}, {"name": "OS", "parent": "HAL implementation crates", "entries": [{"name": "`linux-embedded-hal`] for embedded Linux systems like the Raspberry Pi. - [![crates.io", "url": "https://img.shields.io/crates/v/linux-embedded-hal.svg", "description": ""}, {"name": "`freebsd-embedded-hal`] for embedded (or [not", "url": "https://www.freebsd.org/cgi/man.cgi?query=cp2112\\&sektion=4", "description": ""}]}, {"name": "Microchip", "parent": "HAL implementation crates", "entries": [{"name": "`atsam4-hal`", "url": "https://crates.io/crates/atsam4-hal", "description": "HAL for SAM4E, SAM4N and SAM4S - [![crates.io](https://img.shields.io/crates/v/atsam4-hal.svg)](https://crates.io/crates/atsam4-hal)"}, {"name": "`atsamd-hal`", "url": "https://crates.io/crates/atsamd-hal", "description": "HAL for SAMD11, SAMD21, SAMD51 and SAME54 - [![crates.io](https://img.shields.io/crates/v/atsamd-hal.svg)](https://crates.io/crates/atsamd-hal)"}, {"name": "`atsamx7x-hal`", "url": "https://crates.io/crates/atsamx7x-hal", "description": "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)"}, {"name": "`avr-hal`", "url": "https://github.com/Rahix/avr-hal", "description": "HAL for AVR microcontroller family and AVR-based boards"}, {"name": "`pic32-hal`", "url": "https://crates.io/crates/pic32-hal", "description": "HAL for PIC32MX - [![crates.io](https://img.shields.io/crates/v/pic32-hal.svg)](https://crates.io/crates/pic32-hal)"}]}, {"name": "Nordic", "parent": "HAL implementation crates", "entries": [{"name": "`nrf51-hal`", "url": "https://crates.io/crates/nrf51-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf51-hal.svg)](https://crates.io/crates/nrf51-hal)"}, {"name": "`nrf52810-hal`", "url": "https://crates.io/crates/nrf52810-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf52810-hal.svg)](https://crates.io/crates/nrf52810-hal)"}, {"name": "`nrf52811-hal`", "url": "https://crates.io/crates/nrf52811-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf52811-hal.svg)](https://crates.io/crates/nrf52811-hal)"}, {"name": "`nrf52832-hal`", "url": "https://crates.io/crates/nrf52832-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf52832-hal.svg)](https://crates.io/crates/nrf52832-hal)"}, {"name": "`nrf52833-hal`", "url": "https://crates.io/crates/nrf52833-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf52833-hal.svg)](https://crates.io/crates/nrf52833-hal)"}, {"name": "`nrf52840-hal`", "url": "https://crates.io/crates/nrf52840-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf52840-hal.svg)](https://crates.io/crates/nrf52840-hal)"}, {"name": "`nrf9160-hal`", "url": "https://crates.io/crates/nrf9160-hal", "description": "[![crates.io](https://img.shields.io/crates/v/nrf9160-hal.svg)](https://crates.io/crates/nrf9160-hal)"}]}, {"name": "NXP", "parent": "HAL implementation crates", "entries": [{"name": "`lpc55s6x-hal`", "url": "https://crates.io/crates/lpc55s6x-hal", "description": "[![crates.io](https://img.shields.io/crates/v/lpc55s6x-hal.svg)](https://crates.io/crates/lpc55s6x-hal)"}, {"name": "`lpc8xx-hal`", "url": "https://crates.io/crates/lpc8xx-hal", "description": "HAL for lpc82x and lpc845 - [![crates.io](https://img.shields.io/crates/v/lpc8xx-hal.svg)](https://crates.io/crates/lpc8xx-hal)"}, {"name": "`mkw41z-hal`", "url": "https://crates.io/crates/mkw41z-hal", "description": "[![crates.io](https://img.shields.io/crates/v/mkw41z-hal.svg)](https://crates.io/crates/mkw41z-hal)"}, {"name": "`imxrt-hal`", "url": "https://github.com/imxrt-rs/imxrt-rs", "description": "HAL for i.MX RT series. - [![crates.io](https://img.shields.io/crates/v/imxrt-hal.svg)](https://crates.io/crates/imxrt-hal)"}]}, {"name": "Raspberry Pi Silicon", "parent": "HAL implementation crates", "entries": [{"name": "`rp2040-hal`", "url": "https://crates.io/crates/rp2040-hal", "description": "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)"}, {"name": "`rp235x-hal`", "url": "https://crates.io/crates/rp235x-hal", "description": "HAL for the RP2350 family of dual-core microcontrollers (used in the Raspberry Pi Pico 2 etc.) - [![crates.io](https://img.shields.io/crates/v/rp235x-hal.svg)](https://crates.io/crates/rp235x-hal)"}]}, {"name": "SiFive", "parent": "HAL implementation crates", "entries": [{"name": "`e310x-hal`", "url": "https://github.com/riscv-rust/e310x-hal", "description": "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)"}]}, {"name": "STMicroelectronics", "parent": "HAL implementation crates", "entries": [{"name": "`stm32f0xx-hal`", "url": "https://crates.io/crates/stm32f0xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)](https://crates.io/crates/stm32f0xx-hal)"}, {"name": "`stm32f1xx-hal`", "url": "https://github.com/stm32-rs/stm32f1xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)](https://crates.io/crates/stm32f1xx-hal)"}, {"name": "`stm32f3xx-hal`", "url": "https://crates.io/crates/stm32f3xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)](https://crates.io/crates/stm32f3xx-hal)"}, {"name": "`stm32f4xx-hal`", "url": "https://crates.io/crates/stm32f4xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)](https://crates.io/crates/stm32f4xx-hal)"}, {"name": "`stm32f7xx-hal`", "url": "https://crates.io/crates/stm32f7xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)](https://crates.io/crates/stm32f7xx-hal)"}, {"name": "`stm32g0xx-hal`", "url": "https://crates.io/crates/stm32g0xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)](https://crates.io/crates/stm32g0xx-hal)"}, {"name": "`stm32h7xx-hal`", "url": "https://crates.io/crates/stm32h7xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)](https://crates.io/crates/stm32h7xx-hal)"}, {"name": "`stm32l0xx-hal`", "url": "https://crates.io/crates/stm32l0xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)](https://crates.io/crates/stm32l0xx-hal)"}, {"name": "`stm32l1xx-hal`", "url": "https://crates.io/crates/stm32l1xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)](https://crates.io/crates/stm32l1xx-hal)"}, {"name": "`stm32l151-hal`", "url": "https://crates.io/crates/stm32l151-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)](https://crates.io/crates/stm32l151-hal)"}, {"name": "`stm32l4xx-hal`", "url": "https://crates.io/crates/stm32l4xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)](https://crates.io/crates/stm32l4xx-hal)"}, {"name": "`stm32-hal`", "url": "https://crates.io/crates/stm32-hal2", "description": "[![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)](https://crates.io/crates/stm32-hal2)"}]}, {"name": "Texas Instruments", "parent": "HAL implementation crates", "entries": [{"name": "`tm4c123x-hal`", "url": "https://github.com/rust-embedded-community/tm4c-hal/", "description": ""}, {"name": "`embassy-mspm0`", "url": "https://github.com/embassy-rs/embassy/tree/main/embassy-mspm0", "description": ""}]}, {"name": "MSP430", "parent": "HAL implementation crates", "entries": [{"name": "`msp430fr2x5x-hal`", "url": "https://crates.io/crates/msp430fr2x5x-hal", "description": ""}]}, {"name": "Espressif", "parent": "HAL implementation crates", "entries": [{"name": "`esp-idf-hal`", "url": "https://github.com/esp-rs/esp-idf-hal", "description": ""}, {"name": "`esp-hal`", "url": "https://github.com/esp-rs/esp-hal", "description": ""}]}, {"name": "Silicon Labs", "parent": "HAL implementation crates", "entries": [{"name": "`tomu-hal`", "url": "https://github.com/fudanchii/imtomu-rs", "description": ""}]}, {"name": "XMC", "parent": "HAL implementation crates", "entries": [{"name": "`xmc1100-hal`", "url": "https://github.com/david-sawatzke/xmc1100-hal", "description": "[![crates.io](https://img.shields.io/crates/v/xmc1100-hal.svg)](https://crates.io/crates/xmc1100-hal)"}, {"name": "`xmc4-hal`", "url": "https://github.com/xmc-rs/xmc4-hal", "description": "[![crates.io](https://img.shields.io/crates/v/xmc4-hal.svg)](https://crates.io/crates/xmc4-hal)"}]}, {"name": "GigaDevice", "parent": "HAL implementation crates", "entries": [{"name": "`gd32vf103xx-hal`", "url": "https://github.com/riscv-rust/gd32vf103xx-hal", "description": "[![crates.io](https://img.shields.io/crates/v/gd32vf103xx-hal.svg)](https://crates.io/crates/gd32vf103xx-hal)"}, {"name": "`gd32vf103-hal`", "url": "https://github.com/luojia65/gd32vf103-hal", "description": "[![crates.io](https://img.shields.io/crates/v/gd32vf103-hal.svg)](https://crates.io/crates/gd32vf103-hal)"}, {"name": "`gd32f1x0-hal`", "url": "https://crates.io/crates/gd32f1x0-hal", "description": "[![crates.io](https://img.shields.io/crates/v/gd32f1x0-hal.svg)](https://crates.io/crates/gd32f1x0-hal)"}]}, {"name": "Vorago", "parent": "HAL implementation crates", "entries": [{"name": "`va108xx-hal`", "url": "https://egit.irs.uni-stuttgart.de/rust/va108xx-rs", "description": "[![crates.io](https://img.shields.io/crates/v/va108xx-hal.svg)](https://crates.io/crates/va108xx-hal)"}]}, {"name": "Renesas", "parent": "HAL implementation crates", "entries": [{"name": "`da14531-hal`", "url": "https://crates.io/crates/da14531-hal", "description": ""}]}, {"name": "StarFive", "parent": "HAL implementation crates", "entries": [{"name": "`j71xx-hal`", "url": "https://crates.io/crates/jh71xx-hal", "description": "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)"}]}, {"name": "ARM", "parent": "Architecture support crates", "entries": [{"name": "`cortex-a`", "url": "https://github.com/andre-richter/cortex-a", "description": ""}, {"name": "`cortex-m`", "url": "https://github.com/japaric/cortex-m", "description": ""}]}, {"name": "RISC-V", "parent": "Architecture support crates", "entries": [{"name": "`riscv`", "url": "https://github.com/rust-embedded/riscv", "description": ""}]}, {"name": "MIPS", "parent": "Architecture support crates", "entries": [{"name": "`mips`", "url": "https://github.com/Harry-Chen/rust-mips", "description": ""}, {"name": "`mips-mcu`", "url": "https://github.com/kiffie/pic32-rs/tree/master/mips-mcu", "description": ""}]}, {"name": "1BitSquared", "parent": "Board support crates", "entries": [{"name": "`onebitsy`", "url": "https://crates.io/crates/onebitsy", "description": "Board support crate for the [1bitsy] STM32F4-based board - [![crates.io](https://img.shields.io/crates/v/onebitsy.svg)](https://crates.io/crates/onebitsy)"}]}, {"name": "Adafruit", "parent": "Board support crates", "entries": [{"name": "`metro_m0`", "url": "https://crates.io/crates/metro_m0", "description": "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)"}, {"name": "`metro_m4`", "url": "https://crates.io/crates/metro_m4", "description": "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)"}, {"name": "`pyportal`", "url": "https://crates.io/crates/pyportal", "description": "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)"}, {"name": "`pygamer`", "url": "https://crates.io/crates/pygamer", "description": "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)"}, {"name": "`trellis_m4`", "url": "https://crates.io/crates/trellis_m4", "description": "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)"}, {"name": "`feather-f405`", "url": "https://crates.io/crates/feather-f405", "description": "Board support for the [Feather STM32F405 Express]. [![crates.io](https://img.shields.io/crates/v/feather-f405.svg)](https://crates.io/crates/feather-f405)"}, {"name": "`feather_m0`", "url": "https://crates.io/crates/feather_m0", "description": "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)"}, {"name": "`feather_m4`", "url": "https://crates.io/crates/feather_m4", "description": "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)"}, {"name": "`circuit_playground_express`", "url": "https://crates.io/crates/circuit_playground_express", "description": "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)"}, {"name": "`edgebadge`", "url": "https://crates.io/crates/edgebadge", "description": "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)"}, {"name": "`gemma_m0`", "url": "https://crates.io/crates/gemma_m0", "description": "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)"}, {"name": "`itsybitsy_m0`", "url": "https://crates.io/crates/itsybitsy_m0", "description": "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)"}, {"name": "`itsybitsy_m4`", "url": "https://crates.io/crates/itsybitsy_m4", "description": "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)"}, {"name": "`trinket_m0`", "url": "https://crates.io/crates/trinket_m0", "description": "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)"}, {"name": "`neo_trinkey`", "url": "https://crates.io/crates/neo_trinkey", "description": "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)"}, {"name": "`neokey_trinkey`", "url": "https://crates.io/crates/neokey_trinkey", "description": "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)"}, {"name": "`grand_central_m4`", "url": "https://crates.io/crates/grand_central_m4", "description": "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)"}, {"name": "`qt_py_m0`", "url": "https://crates.io/crates/qt_py_m0", "description": "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)"}, {"name": "`adafruit-feather-rp2040`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the [Adafruit Feather RP2040] [![crates.io](https://img.shields.io/crates/v/adafruit-feather-rp2040.svg)](https://crates.io/crates/adafruit-feather-rp2040)"}, {"name": "`adafruit-itsy-bitsy-rp2040`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the [Adafruit ItsyBitsy RP2040] [![crates.io](https://img.shields.io/crates/v/adafruit-itsy-bitsy-rp2040.svg)](https://crates.io/crates/adafruit-itsy-bitsy-rp2040)"}, {"name": "`adafruit-kb2040`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the [Adafruit KB2040] [![crates.io](https://img.shields.io/crates/v/adafruit-kb2040.svg)](https://crates.io/crates/adafruit-kb2040)"}, {"name": "`adafruit-macropad`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the [Adafruit Macropad] [![crates.io](https://img.shields.io/crates/v/adafruit-macropad.svg)](https://crates.io/crates/adafruit-macropad)"}, {"name": "`adafruit-qt-py-rp2040`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the [Adafruit QT Py RP2040] [![crates.io](https://img.shields.io/crates/v/adafruit-qt-py-rp2040.svg)](https://crates.io/crates/adafruit-qt-py-rp2040)"}]}, {"name": "Arduino", "parent": "Board support crates", "entries": [{"name": "`avr-hal`", "url": "https://github.com/Rahix/avr-hal", "description": "Board support crate for several AVR-based boards including the Arduino Uno and the Arduino Leonardo"}, {"name": "`arduino_mkr1000`", "url": "https://crates.io/crates/arduino_mkr1000", "description": "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)"}, {"name": "`arduino_mkrvidor4000`", "url": "https://crates.io/crates/arduino_mkrvidor4000", "description": "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)"}, {"name": "`arduino_mkrzero`", "url": "https://crates.io/crates/arduino_mkrzero", "description": "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)"}, {"name": "`arduino_nano33iot`", "url": "https://crates.io/crates/arduino_nano33iot", "description": "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)"}]}, {"name": "Nordic", "parent": "Board support crates", "entries": [{"name": "`dwm1001`", "url": "https://crates.io/crates/dwm1001", "description": "[Decawave DWM1001-DEV] - [![crates.io](https://img.shields.io/crates/v/dwm1001.svg)](https://crates.io/crates/dwm1001)"}, {"name": "`microbit`", "url": "https://crates.io/crates/microbit", "description": "[micro:bit] - [![crates.io](https://img.shields.io/crates/v/microbit.svg)](https://crates.io/crates/microbit)"}, {"name": "`nrf52840-dk-bsp`", "url": "https://crates.io/crates/nrf52840-dk-bsp", "description": "[nrf52840-dk] - [![crates.io](https://img.shields.io/crates/v/nrf52840-dk-bsp.svg)](https://crates.io/crates/nrf52840-dk-bsp)"}, {"name": "`Thingy:91-nrf9160`", "url": "https://crates.io/crates/thingy-91-nrf9160-bsp", "description": "[thingy:91] - [![crates.io](https://img.shields.io/crates/v/thingy-91-nrf9160-bsp.svg)](https://crates.io/crates/thingy-91-nrf9160-bsp)"}]}, {"name": "NXP", "parent": "Board support crates", "entries": [{"name": "`frdm-kw41z`", "url": "https://crates.io/crates/frdm-kw41z", "description": "[FRDM-KW41Z] - [![crates.io](https://img.shields.io/crates/v/frdm-kw41z.svg)](https://crates.io/crates/frdm-kw41z)"}]}, {"name": "Pimoroni", "parent": "Board support crates", "entries": [{"name": "`pimoroni-pico-explorer`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support for the [Pimoroni Pico Explorer]"}, {"name": "`pimoroni-pico-lipo-16mb`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support for the [Pimoroni Pico Lipo 16MB]"}]}, {"name": "Raspberry Pi", "parent": "Board support crates", "entries": [{"name": "`rp-pico`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the RP2040-based Raspberry Pi Pico."}]}, {"name": "Sparkfun", "parent": "Board support crates", "entries": [{"name": "`samd21_mini`", "url": "https://crates.io/crates/samd21_mini", "description": "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)"}, {"name": "`sparkfun-pro-micro-rp2040`", "url": "https://github.com/rp-rs/rp-hal-boards", "description": "Board Support Crate for the RP2040 based Sparkfun Pro Micro."}]}, {"name": "SeeedStudio", "parent": "Board support crates", "entries": [{"name": "`seedstudio-gd32v`", "url": "https://github.com/riscv-rust/seedstudio-gd32v", "description": "Board support crate for the [GD32 RISC-V Dev Board](https://www.seeedstudio.com/SeeedStudio-GD32-RISC-V-Dev-Board-p-4302.html)"}, {"name": "`xiao_m0`", "url": "https://crates.io/crates/xiao_m0", "description": "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)"}, {"name": "`wio_lite_mg126`", "url": "https://crates.io/crates/wio_lite_mg126", "description": "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)"}, {"name": "`wio_lite_w600`", "url": "https://crates.io/crates/wio_lite_w600", "description": "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)"}, {"name": "`wio_terminal`", "url": "https://crates.io/crates/wio_terminal", "description": "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)"}]}, {"name": "SiFive", "parent": "Board support crates", "entries": [{"name": "`hifive1`", "url": "https://github.com/riscv-rust/hifive1", "description": "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)"}]}, {"name": "Sipeed", "parent": "Board support crates", "entries": [{"name": "`longan-nano`", "url": "https://github.com/riscv-rust/longan-nano", "description": "Board support package for the [Longan Nano board](https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V-GD32VF103CBT6-Development-Board-p-4205.html)"}]}, {"name": "Sony", "parent": "Board support crates", "entries": [{"name": "`prussia`", "url": "https://github.com/ZirconiumX/prussia", "description": "SDK for the PlayStation 2."}]}, {"name": "STMicroelectronics", "parent": "Board support crates", "entries": [{"name": "`f3`", "url": "https://crates.io/crates/f3", "description": ""}, {"name": "`nucleo-f042k6`", "url": "https://github.com/therealprof/nucleo-f042k6.git", "description": "[Nucleo-F042K6]"}, {"name": "`nucleo-f103rb`", "url": "https://github.com/therealprof/nucleo-f103rb.git", "description": "[Nucleo-F103RB]"}, {"name": "`nucleo-f401re`", "url": "https://github.com/jkristell/nucleo-f401re.git", "description": "[Nucleo-F401RE] [![crates.io](https://img.shields.io/crates/v/nucleo-f401re.svg)](https://crates.io/crates/nucleo-f401re)"}, {"name": "`nucleo-h743zi`", "url": "https://github.com/astraw/nucleo-h743zi", "description": ""}, {"name": "`nucleo-h723zg`", "url": "https://github.com/jlogan03/nucleo-h723zg", "description": ""}, {"name": "`solo-bsp`", "url": "https://crates.io/crates/solo-bsp", "description": ""}, {"name": "`stm32f407g-disc`", "url": "https://crates.io/crates/stm32f407g-disc", "description": ""}, {"name": "`stm32f429i-disc`", "url": "https://crates.io/crates/stm32f429i-disc", "description": ""}, {"name": "`stm32f3-discovery`", "url": "https://crates.io/crates/stm32f3-discovery", "description": ""}]}, {"name": "Teensy", "parent": "Board support crates", "entries": [{"name": "`teensy4-rs`", "url": "https://github.com/mciantyre/teensy4-rs", "description": ""}]}, {"name": "Vorago", "parent": "Board support crates", "entries": [{"name": "`vorago-reb1`", "url": "https://egit.irs.uni-stuttgart.de/rust/va108xx-rs", "description": "[![crates.io](https://img.shields.io/crates/v/vorago-reb1.svg)](https://crates.io/crates/vorago-reb1)"}]}, {"name": "Texas Instruments", "parent": "Board support crates", "entries": [{"name": "`monotron`", "url": "https://github.com/thejpster/monotron", "description": "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]."}, {"name": "`stellaris-launchpad`", "url": "https://crates.io/crates/stellaris-launchpad", "description": "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)"}, {"name": "`tm4c129-launchpad`", "url": "https://github.com/jlogan03/tm4c129-launchpad", "description": "For the Texas Instruments TM4C129-XL Launchpad board"}]}, {"name": "Special Purpose", "parent": "Board support crates", "entries": [{"name": "`betafpv-f3`", "url": "https://github.com/JoshMcguigan/betafpv-f3", "description": "For the BetaFPV F3 drone flight controller"}]}, {"name": "Sodaq", "parent": "Board support crates", "entries": [{"name": "`sodaq_one`", "url": "https://crates.io/crates/sodaq_one", "description": "Board support for the [Sodaq one board](https://support.sodaq.com/Boards/One/) 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)"}, {"name": "`sodaq_sara_aff`", "url": "https://crates.io/crates/sodaq_sara_aff", "description": "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)"}]}, {"name": "Other", "parent": "Board support crates", "entries": [{"name": "`serpente`", "url": "https://crates.io/crates/serpente", "description": "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)"}, {"name": "`p1am_100`", "url": "https://crates.io/crates/p1am_100", "description": "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)"}, {"name": "`accelerometer`", "url": "https://github.com/NeoBirth/accelerometer.rs", "description": "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)"}, {"name": "`embedded-graphics`]: 2D drawing library for any size display - [![crates.io", "url": "https://img.shields.io/crates/v/embedded-graphics.svg", "description": ""}, {"name": "`radio`", "url": "https://github.com/ryankurte/rust-radio", "description": "Generic radio transceiver traits, mocks, and helpers - [![crates.io](https://img.shields.io/crates/v/radio.svg)](https://crates.io/crates/radio)"}, {"name": "`smart-leds`", "url": "https://github.com/smart-leds-rs", "description": ""}, {"name": "`usb-device`", "url": "https://github.com/mvirkkunen/usb-device", "description": ""}, {"name": "`atat`", "url": "https://github.com/BlackbirdHQ/atat", "description": ""}, {"name": "`embedded-nal`", "url": "https://github.com/rust-embedded-community/embedded-nal", "description": ""}, {"name": "`embedded-storage`", "url": "https://github.com/rust-embedded-community/embedded-storage", "description": ""}, {"name": "`switch-hal`", "url": "https://github.com/rubberduck203/switch-hal", "description": ""}]}, {"name": "WIP", "parent": "Driver crates", "entries": []}, {"name": "WIP", "parent": "no-std crates", "entries": [{"name": "light-cli", "url": "https://github.com/rudihorn/light-cli", "description": "", "stars": "16"}, {"name": "OxCC", "url": "https://github.com/jonlamb-gh/oxcc", "description": "", "stars": "23"}, {"name": "Rubble", "url": "https://github.com/jonas-schievink/rubble", "description": "", "stars": "405"}, {"name": "post-haste", "url": "https://github.com/petekubiak/post-haste", "description": "", "stars": "7"}, {"name": "rmk", "url": "https://github.com/HaoboGu/rmk", "description": "", "stars": "1.5k"}, {"name": "anne-key", "url": "https://github.com/ah-/anne-key", "description": "", "stars": "573"}, {"name": "μLA", "url": "https://github.com/dotcypress/ula", "description": "", "stars": "912"}, {"name": "air-gradient-pro-rs", "url": "https://github.com/jonlamb-gh/air-gradient-pro-rs", "description": "", "stars": "12"}, {"name": "Stabilizer", "url": "https://github.com/quartiq/stabilizer", "description": "", "stars": "138"}, {"name": "Booster", "url": "https://github.com/quartiq/booster", "description": "", "stars": "13"}, {"name": "Thermostat EEM", "url": "https://github.com/quartiq/thermostat-eem", "description": "", "stars": "8"}, {"name": "Card/IO ECG", "url": "https://github.com/card-io-ecg/card-io-fw", "description": "", "stars": "51"}, {"name": "BillMock", "url": "https://github.com/pmnxis/billmock-app-rs", "description": "", "stars": "16"}, {"name": "LuLuu", "url": "https://github.com/fu5ha/luluu", "description": "", "stars": "9"}, {"name": "prinThor", "url": "https://github.com/cbruiz/printhor", "description": "", "stars": "210"}, {"name": "Exploring Rust on Teensy", "url": "https://branan.github.io/teensy/", "description": ""}, {"name": "Pragmatic Bare Metal Rust", "url": "http://www.hashmismatch.net/pragmatic-bare-metal-rust/", "description": ""}, {"name": "Using Rust in an Embedded Project: A Simple Example", "url": "https://spin.atomicobject.com/2016/07/08/rust-embedded-project-example/#.V3-os-6qlZw.hackernews", "description": ""}, {"name": "Robigalia", "url": "https://robigalia.org", "description": ""}, {"name": "intermezzOS", "url": "http://intermezzos.github.io", "description": ""}, {"name": "Fearless concurrency", "url": "http://blog.japaric.io/fearless-concurrency/", "description": ""}, {"name": "Internet of Streams", "url": "https://www.youtube.com/playlist?list=PLX44HkctSkTewrL9frlUz0yeKLKecebT1", "description": ""}, {"name": "Ferrous Systems' Embedded Training Courses: 2019 edition", "url": "https://github.com/ferrous-systems/embedded-trainings/", "description": "", "stars": "118"}, {"name": "CC0 1.0 Universal License", "url": "https://creativecommons.org/publicdomain/zero/1.0/legalcode", "description": ""}]}]}