awesome-embedded-rust

Embedded development toolkit

A curated collection of resources and tools for developing embedded software in Rust

Curated list of resources for Embedded and Low-level development in the Rust programming language

GitHub

6k stars
172 watching
392 forks
last commit: 14 days ago
Linked from 2 awesome lists

awesomeawesome-listembeddedembedded-systemslibrariesrust

Embedded Rust / Community

Embedded WG 1,926 about 1 month ago , including newsletters with progress updates

Embedded Rust / Community / Community Chat Rooms

#rust-embedded:matrix.org Matrix room You can usually find community members (including embedded WG members) in the official
#rust-embedded-space:matrix.org Most Embedded Rust related Matrix rooms are in the Rust Embedded Space
embedded.rs-wasm-iot English Telegram chat about Rust and WASM for microcontrollers and IoT
embedded.rs Telegram chat about Rust for microcontrollers in the Russian language
#avr-rust:gitter.im For discussion of using Embedded Rust on AVR devices
#esp-rs:matrix.org For discussion of using Embedded Rust on Espressif devices
#nrf-rs:matrix.org For discussion of using Embedded Rust on Nordic Semiconductor devices
#probe-rs:matrix.org For discussion of the Probe-rs debugging toolkit
#rp-rs:matrix.org For discussion of using Embedded Rust on RP2040 based devices
#rtic-rs:matrix.org For discussion of the Real-Time Interrupt-driven Concurrency framework
#rust-embedded-graphics:matrix.org For discussion of the crate and ecosystem
#stm32-rs:matrix.org For discussion of using Embedded Rust on STM32 based devices
#atsamd-rs:gitter.im For discussions of using Embedded Rust on ATSAMD devices
#ethercrab:matrix.org For discussion of general EtherCAT and the Rust implementation, EtherCrab
rust-embedded:QQ group Chinese community for Rust embedded

Embedded Rust / Books, blogs, and training materials / Free and public materials

The Embedded Rust Book An introductory book about using the Rust Programming Language on "Bare Metal" embedded systems, such as Microcontrollers
The Rust on ESP Book This book aims to provide a comprehensive guide on using the Rust programming language with Espressif SoCs and modules
Embedded Rust (no_std) on Espressif Training for Rust using no_std approach development on ESP32-C3
Embedded Rust (std) on Espressif Training for Rust using std approach development on ESP32-C3 by Ferrous Systems
Discovery by @rust-embedded — this book is an introductory course on microcontroller-based embedded systems that uses Rust as the teaching language. Original author: @japaric
Cortex-M Quickstart by @japaric – a template and introduction to embedded Rust, suitable for developers familiar with embedded development but new to embedded Rust
Writing an OS in Rust A blog series creating a small operating system in Rust
MicroRust Introductory book for embedded development in Rust on the micro:bit
Physical Computing With Rust A (WIP) guide to physical computing with Rust on the Raspberry Pi
Writing an embedded OS in Rust on the Raspberry Pi 13,693 10 months ago A set of tutorials that give a guided, step-by-step tour of how to write a monolithic Operating System kernel for an embedded system from scratch. Runs on the Raspberry Pi 3 and the Raspberry Pi 4
Writing embedded drivers in Rust isn't that hard A guide to building an embedded-hal driver
Ferrous Systems' Embedded Training Courses: 2020-current edition 248 over 1 year ago A hands-on training course for beginner and advanced learners of Embedded Rust, based on Nordic Semiconductor's nRF52840 hardware. This training was given at Oxidize Conferences and by to corporate customers
Ferrous Systems' Knurling Sessions are hands-on embedded projects that explore specific concepts using generally available hardware, building full systems and components using microcontrollers, sensors, and actuators
DSP on STM32F407G-DISC1 31 about 3 years ago Unofficial oxidization of the book. The book isn't necessary to enjoy the examples and learn a functional DSP Rust coding style
Building a sailing starter board with Rust (RTIC) A step-by-step story/guide to build STM32-based PCB and program it with Rust for fun and games
STM32F4xx with Embedded Rust at the HAL A blog containing a series of tutorials demonstrating the use of several peripherals through simple examples leveraging the stm32f4xx-hal crate
Embedded Rust programming playlist Various livestreams with Embedded Rust live coding
ESP32-C3 Rust Tutorials Short videos and implementing various peripherals of the ESP32-C3 with the end goal of creating a complete data logger application
Tweede golf's workshop A full workshop about Rust and embedded Rust. The embedded parts use the nRF52840-DK and a LIS3DH breakout board. ( )

Embedded Rust / Books, blogs, and training materials / Paid and commercially available materials

Simplified Embedded Rust: Standard Library Edition This book provides a quick path to start learning embedded Rust with minimal setup. Book is based on ESP devices and the Wokwi Simulator. This edition uses the standard library development approach which is based on the ESP-IDF framework
Simplified Embedded Rust: Core Library Edition This book provides a quick path to start learning embedded Rust with minimal setup. Book is based on ESP devices and the Wokwi Simulator. This edition uses the core library development approach for bare metal development

Embedded Rust / Tools

xargo 1,096 over 1 year ago Rust package manager with support for non-default std libraries — build Rust runtime for your embedded system

Embedded Rust / Tools / xargo

cargo-xbuild 258 over 2 years ago xargo is great, but since it's in maintenance mode, is catching up as its intended replacement

Embedded Rust / Tools

svd2rust 715 10 days ago Generate Rust structs with register mappings from SVD files
edc2svd 6 about 1 year ago Generate SVD files for PIC32 devices from EDC files. -
embedded-hal-mock Mock implementation of traits for testing without accessing real hardware. -
bindgen Automatically generates Rust FFI bindings to C and C++ libraries. -
cortex-m semihosting 0 almost 5 years ago Semihosting for ARM Cortex-M processors
bobbin-cli 114 almost 5 years ago A Rust command line tool to simplify embedded development and deployment
ferros 108 over 1 year ago A Rust-based userland which also adds compile-time assurances to seL4 development
cargo-flash A small cargo subcommand to download your binary to your target chip. -
cargo-embed A superset of cargo-flash with additional useful features like configuration file support, an RTT terminal, or a GDB server. -
cargo-hf2 51 about 1 year ago A small cargo subcommand to download cargo builds to Microsoft UF2 bootloaders via HID USB . -
cargo-bloat 2,373 7 months ago Find out what takes most of the space in your executable
cargo-call-stack Static, whole program stack usage analyzer
cargo-dfu Cargo extension for flashing embedded rust programs via DFU
espflash 492 21 days ago Serial flasher utility for Espressif SoCs and modules. -
espup 232 23 days ago Tool for installing and maintaining Espressif Rust ecosystem. -
uf2 28 almost 3 years ago Converts binary files to Microsoft's UF2 format for copying over to mass storage device uf2 bootloaders -
probe-rs 1,785 5 days ago : a modern, embedded debugging toolkit, written in Rust
Knurling Tools are developed by to ease the development process for building, debugging, and testing embedded Rust systems. These tools include:

Embedded Rust / Tools / Knurling Tools

defmt 854 16 days ago : a highly efficient logging framework that targets resource-constrained devices, like microcontrollers
flip-link 282 26 days ago , a linker wrapper that provides stack overflow protection without an MMU by flipping the standard memory layout of ARM Cortex-M programs
app-template 311 about 1 year ago , a powered project template for quickly setting up new projects using the Knurling Tools
defmt-test 9 about 4 years ago , an embedded test harness that lets you write and run unit tests as if you were using the built-in attribute, but will run on an embedded target

Embedded Rust / Tools

embedded-hal-compat 15 7 months ago , a compatibility layer to provide interoperability between and hal implementations and drivers
Embassy start 27 over 1 year ago is a GitHub repo template for setting up async embedded Rust projects that use . This particular template targets nRF hardware and networking using the Uarte for the purposes of illustration only
svd-generator CLI tool to parse flattened device tree files, and create a SVD file. -

Embedded Rust / Real-time / Real-time Operating System (RTOS)

Drone OS An Embedded Operating System for writing real-time applications in Rust
FreeRTOS.rs 232 about 4 years ago Rust interface for the FreeRTOS API
FreeRTOS-rust 371 about 1 month ago Rust interface for FreeRTOS with Rust entry point and build support crate
RIOT-OS directly supports applications written in Rust, both in terms of build system integration and by having safe and idiomatic wrappers
Tock An embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers
Hubris 3,018 7 days ago A real-time operating system built by Oxide Computer to run the Service Controller processor in the mainboards of their rack-mount servers

Embedded Rust / Real-time / Real-time tools

RTIC v1.0 Real-Time Interrupt-driven Concurrency — A concurrency framework for building real-time systems:

Embedded Rust / Real-time / Real-time tools / RTIC v1.0

cortex-m rtic 1,808 5 days ago RTIC framework for ARM Cortex-M microcontrollers
msp430 rtfm 11 over 7 years ago RTFM framework for MSP430 MCUs

Embedded Rust / Peripheral Access Crates / Microchip

atsamd11 565 1 day ago Peripheral access API for Microchip (formerly Atmel) SAMD11 microcontrollers. This git repo hosts both the peripheral access crate and the hal
atsamd21 565 1 day ago Peripheral access API for Microchip (formerly Atmel) SAMD21 microcontrollers. This git repo hosts both the peripheral access crate and the hal
atsamd51 565 1 day ago Peripheral access API for Microchip (formerly Atmel) SAMD51 microcontrollers. This git repo hosts both the peripheral access crate and the hal
atsame53 565 1 day ago Peripheral access API for Microchip (formerly Atmel) SAME53 microcontrollers. This git repo hosts both the peripheral access crate and the hal
atsame54 565 1 day ago Peripheral access API for Microchip (formerly Atmel) SAME54 microcontrollers. This git repo hosts both the peripheral access crate and the hal
atsamx7x-rust 25 8 months ago Peripheral access API for Microchip (formerly Atmel) SAM S70/E70/V70/V71 microcontrollers. This git repo hosts both the peripheral access crate and the hal
avr-device 178 about 1 month ago Peripheral access API for Microchip (formerly Atmel) AVR microcontroller family
sam3x8e Peripheral access API for Atmel SAMD3X8E microcontrollers (generated using svd2rust) -
pic32-pac Peripheral access API for PIC32MX1/2xx -

Embedded Rust / Peripheral Access Crates / Nordic

nrf51 Peripheral access API for nRF51 microcontrollers (generated using svd2rust) -
nrf52810-pac Peripheral access API for the nRF52810 microcontroller (generated using svd2rust) -
nrf52811-pac Peripheral access API for the nRF52811 microcontroller (generated using svd2rust) -
nrf52832-pac Peripheral access API for the nRF52832 microcontroller (generated using svd2rust) -
nrf52833-pac Peripheral access API for the nRF52833 microcontroller (generated using svd2rust) -
nrf52840-pac Peripheral access API for the nRF52840 microcontroller (generated using svd2rust) -
nrf5340-app-pac Peripheral access API for the nRF5340 application core (generated using svd2rust) -
nrf5340-net-pac Peripheral access API for the nRF5340 network core (generated using svd2rust) -
nrf9160-pac Peripheral access API for the nRF9160 system-in-package (generated using svd2rust) -

Embedded Rust / Peripheral Access Crates / NXP

k64 -
lpc11uxx -
lpc55s6x-pac -
lpc82x-pac -
lpc845-pac -
mkw41z -
imxrt-ral 137 12 days ago Register access layer for i.MX RT series. -
SKEAZN642 Peripheral access API for KEA64 family microcontrollers (generated using svd2rust) -

Embedded Rust / Peripheral Access Crates / Raspberry Pi Silicon

rp2040-pac Peripheral access API for the RP2040 dual-core system-on-chip (generated using svd2rust) -

Embedded Rust / Peripheral Access Crates / SiFive

e310x 18 15 days ago svd2rust generated interface to SiFive MCUs -

Embedded Rust / Peripheral Access Crates / Silicon Labs

efm32pg12-pac Peripheral access API for Silicon Labs EFM32PG12 microcontrollers -
efm32g-pac -
efm32gg-pac -
efm32gg11b-pac -
efm32gg12b-pac -
efm32hg-pac -
efm32jg1b-pac -
efm32jg12b-pac -
efm32lg-pac -
efm32pg-pac -
efm32pg22-pac -
efm32pg23-pac -
efm32tg-pac -
efm32tg11b-pac -
efm32wg-pac -
efm32zg-pac -

Embedded Rust / Peripheral Access Crates / StarFive

j71xx-pac svd2rust generated interface to StarFive MCUs -

Embedded Rust / Peripheral Access Crates / STMicroelectronics

stm32f0 -
stm32f1 -
stm32f2 -
stm32f3 -
stm32f4 -
stm32f7 -
stm32g0 -
stm32g4 -
stm32h7 -
stm32l0 -
stm32l1 -
stm32l4 -

Embedded Rust / Peripheral Access Crates / Texas Instruments

tm4c123x Peripheral access API for TM4C123x microcontrollers (generated using svd2rust)
tm4c129x Peripheral access API for TM4C129x microcontrollers (generated using svd2rust)

Embedded Rust / Peripheral Access Crates / MSP430

msp430g2553 Peripheral access API for MSP430G2553 microcontrollers (generated using svd2rust)

Embedded Rust / Peripheral Access Crates / MSP430 / msp430g2553

msp430 quickstart 36 about 2 years ago some examples for msp430

Embedded Rust / Peripheral Access Crates / MSP430

msp430fr2355 Peripheral access API for MSP430FR2355 microcontrollers (generated using svd2rust)
msp430fr6972 -

Embedded Rust / Peripheral Access Crates / Espressif

esp32 112 10 days ago -
esp32c2 112 10 days ago -
esp32c3 112 10 days ago -
esp32c6 112 10 days ago -
esp32h2 112 10 days ago -
esp32s2 112 10 days ago -
esp32s3 112 10 days ago -
esp8266 112 10 days ago -

Embedded Rust / Peripheral Access Crates / Ambiq Micro

ambiq-apollo1-pac Peripheral access API for Ambiq Apollo 1 microcontrollers (generated using svd2rust)
ambiq-apollo2-pac Peripheral access API for Ambiq Apollo 2 microcontrollers (generated using svd2rust)
ambiq-apollo3-pac Peripheral access API for Ambiq Apollo 3 microcontrollers (generated using svd2rust)
ambiq-apollo3p-pac Peripheral access API for Ambiq Apollo 3 Plus microcontrollers (generated using svd2rust)

Embedded Rust / Peripheral Access Crates / GigaDevice

gd32vf103-pac 36 over 1 year ago Peripheral access API for GD32VF103 RISC-V microcontrollers (generated using svd2rust) -
gd32e2 Peripheral access API for GD32E23x Cortex-M23 microcontrollers (generated using svd2rust) -
gd32f1 Peripheral access API for GD32F1x0 Cortex-M3 microcontrollers (generated using svd2rust) -
gd32f2 Peripheral access API for GD32F20x Cortex-M3 microcontrollers (generated using svd2rust) -

Embedded Rust / Peripheral Access Crates / XMC

xmc4100 1 22 days ago -
xmc4200 2 22 days ago -
xmc4300 4 22 days ago -
xmc4400 1 22 days ago -
xmc4500 3 22 days ago -
xmc4700 3 22 days ago -
xmc4800 3 22 days ago -

Embedded Rust / Peripheral Access Crates / Vorago

va108xx -
va416xx -

Embedded Rust / Peripheral Access Crates / Wiznet

w7500x-pac Peripheral Access Crate for Wiznet's W7500x microcontrollers (generated using svd2rust) -

Embedded Rust / Peripheral Access Crates / Renesas

ra2a1 8 about 1 month ago Peripheral Access Crate for ra2a1 microcontrollers (generated using svd2rust) -
ra2e1 8 about 1 month ago Peripheral Access Crate for ra2e1 microcontrollers (generated using svd2rust) -
ra2e2 8 about 1 month ago Peripheral Access Crate for ra2e2 microcontrollers (generated using svd2rust) -
ra2l1 8 about 1 month ago Peripheral Access Crate for ra2l1 microcontrollers (generated using svd2rust) -
ra4e1 8 about 1 month ago Peripheral Access Crate for ra4e1 microcontrollers (generated using svd2rust) -
ra4m1 8 about 1 month ago Peripheral Access Crate for ra4m1 microcontrollers (generated using svd2rust) -
ra4m2 8 about 1 month ago Peripheral Access Crate for ra4m2 microcontrollers (generated using svd2rust) -
ra4m3 8 about 1 month ago Peripheral Access Crate for ra4m3 microcontrollers (generated using svd2rust) -
ra4w1 8 about 1 month ago Peripheral Access Crate for ra4w1 microcontrollers (generated using svd2rust) -
ra6e1 8 about 1 month ago Peripheral Access Crate for ra6e1 microcontrollers (generated using svd2rust) -
ra6m1 8 about 1 month ago Peripheral Access Crate for ra6m1 microcontrollers (generated using svd2rust) -
ra6m2 8 about 1 month ago Peripheral Access Crate for ra6m2 microcontrollers (generated using svd2rust) -
ra6m3 8 about 1 month ago Peripheral Access Crate for ra6m3 microcontrollers (generated using svd2rust) -
ra6m4 8 about 1 month ago Peripheral Access Crate for ra6m4 microcontrollers (generated using svd2rust) -
ra6t1 8 about 1 month ago Peripheral Access Crate for ra6t1 microcontrollers (generated using svd2rust) -
ra6t2 8 about 1 month ago Peripheral Access Crate for ra6t2 microcontrollers (generated using svd2rust) -
da14531 Peripheral Access Crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip -

Embedded Rust / HAL implementation crates / OS

bitbang-hal software protocol implementations for microcontrollers with digital::OutputPin and digital::InputPin
ftdi-embedded-hal for FTDI FTx232H chips connected to Linux systems via USB
linux-embedded-hal for embedded Linux systems like the Raspberry Pi. -
freebsd-embedded-hal for embedded (or ) FreeBSD systems. -

Embedded Rust / HAL implementation crates / Microchip

atsam4-hal HAL for SAM4E, SAM4N and SAM4S -
atsamd-hal HAL for SAMD11, SAMD21, SAMD51 and SAME54 -
atsamx7x-hal HAL for SAM S70/E70/V70/V71-based devices -
avr-hal 1,322 18 days ago HAL for AVR microcontroller family and AVR-based boards
pic32-hal HAL for PIC32MX -

Embedded Rust / HAL implementation crates / Nordic

nrf51-hal -
nrf52810-hal -
nrf52811-hal -
nrf52832-hal -
nrf52833-hal -
nrf52840-hal -
nrf9160-hal -

Embedded Rust / HAL implementation crates / NXP

lpc55s6x-hal -
lpc8xx-hal HAL for lpc82x and lpc845 -
mkw41z-hal -
imxrt-hal 137 12 days ago HAL for i.MX RT series. -

Embedded Rust / HAL implementation crates / Raspberry Pi Silicon

rp2040-hal HAL for the RP2040 dual-core system-on-chip -

Embedded Rust / HAL implementation crates / SiFive

e310x-hal 17 8 months ago HAL for SiFive MCUs -

Embedded Rust / HAL implementation crates / STMicroelectronics

stm32f0xx-hal -

Embedded Rust / HAL implementation crates / STMicroelectronics / stm32f0xx-hal

Nucleo-F042K6 Has examples that can run on boards like the and similar boards

Embedded Rust / HAL implementation crates / STMicroelectronics

stm32f1xx-hal 575 about 1 month ago -

Embedded Rust / HAL implementation crates / STMicroelectronics / stm32f1xx-hal

Blue pill Can be run on boards like the , , and similar boards

Embedded Rust / HAL implementation crates / STMicroelectronics

stm32f3xx-hal -
stm32f4xx-hal -
stm32f7xx-hal -
stm32g0xx-hal -
stm32h7xx-hal -
stm32l0xx-hal -
stm32l1xx-hal -
stm32l151-hal -
stm32l4xx-hal -

Embedded Rust / HAL implementation crates / STMicroelectronics / stm32l4xx-hal

Nucleo-L432KC Generic hal support for stm32l4 devices, has examples that can run on boards like the , , and similar boards

Embedded Rust / HAL implementation crates / STMicroelectronics

stm32-hal -

Embedded Rust / HAL implementation crates / Texas Instruments

tm4c123x-hal 41 8 months ago

Embedded Rust / HAL implementation crates / MSP430

msp430fr2x5x-hal

Embedded Rust / HAL implementation crates / Espressif

esp-idf-hal 469 15 days ago
esp-hal 758 9 days ago

Embedded Rust / HAL implementation crates / Silicon Labs

tomu-hal 19 about 2 years ago

Embedded Rust / HAL implementation crates / Silicon Labs / tomu-hal

Tomu HAL implementation targeted for USB board with EFM32HG309F64 ARMv6-M core. Has support to configure directly from an application via the macro

Embedded Rust / HAL implementation crates / XMC

xmc1100-hal 3 almost 3 years ago -
xmc4-hal 3 28 days ago -

Embedded Rust / HAL implementation crates / GigaDevice

gd32vf103xx-hal 54 9 months ago -
gd32vf103-hal 62 almost 3 years ago -
gd32f1x0-hal -

Embedded Rust / HAL implementation crates / Vorago

va108xx-hal -

Embedded Rust / HAL implementation crates / Vorago / va108xx-hal

Blogpost

Embedded Rust / HAL implementation crates / Renesas

da14531-hal HAL crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip -

Embedded Rust / HAL implementation crates / StarFive

j71xx-hal HAL crate for StarFive MCUs -

Embedded Rust / Architecture support crates / ARM

cortex-a 121 about 2 years ago Low-level access to Cortex-A processors (early state) -
cortex-m 826 18 days ago Low-level access to Cortex-M processors -

Embedded Rust / Architecture support crates / RISC-V

riscv 852 5 days ago Low-level access to RISC-V processors -

Embedded Rust / Architecture support crates / MIPS

mips 30 over 4 years ago Low-level access to MIPS32 processors -
mips-mcu 36 about 1 month ago Low-level access to MIPS MCU cores -

Embedded Rust / Board support crates / 1BitSquared

onebitsy Board support crate for the STM32F4-based board -

Embedded Rust / Board support crates / Adafruit

metro_m0 Board support for the in the repo. It is an board
metro_m4 Board support for the in the repo. It is an board
pyportal Board support for the in the repo. It is an board
pygamer Board support for the in the repo. It is an board
trellis_m4 Board support for the in the repo. It is an board
feather-f405 Board support for the
feather_m0 Board support for the , and some variants in the repo. It is an board
feather_m4 Board support for the in the repo. It is an board
circuit_playground_express Board support for the in the repo. It is an board
edgebadge Board support for the in the repo. It is an board
gemma_m0 Board support for the in the repo. It is an board
itsybitsy_m0 Board support for the in the repo. It is an board
itsybitsy_m4 Board support for the in the repo. It is an board
trinket_m0 Board support for the in the repo. It is an board
neo_trinkey Board support for the in the repo. It is an board
neokey_trinkey Board support for the in the repo. It is an board
grand_central_m4 Board support for the in the repo. It is an board
qt_py_m0 Board support for the in the repo. It is an board
adafruit-feather-rp2040 1,452 10 days ago Board Support Crate for the
adafruit-itsy-bitsy-rp2040 1,452 10 days ago Board Support Crate for the
adafruit-kb2040 1,452 10 days ago Board Support Crate for the
adafruit-macropad 1,452 10 days ago Board Support Crate for the
adafruit-qt-py-rp2040 1,452 10 days ago Board Support Crate for the

Embedded Rust / Board support crates / Arduino

avr-hal 1,322 18 days ago Board support crate for several AVR-based boards including the Arduino Uno and the Arduino Leonardo
arduino_mkr1000 Board support for the in the repo. It is an board
arduino_mkrvidor4000 Board support for the in the repo. It is an board
arduino_mkrzero Board support for the in the repo. It is an board
arduino_nano33iot Board support for the in the repo. It is an board

Embedded Rust / Board support crates / Nordic

dwm1001 -
microbit -
nrf52840-dk-bsp -
Thingy:91-nrf9160 -

Embedded Rust / Board support crates / NXP

frdm-kw41z -

Embedded Rust / Board support crates / Pimoroni

pimoroni-pico-explorer 1,452 10 days ago Board Support for the
pimoroni-pico-lipo-16mb 1,452 10 days ago Board Support for the

Embedded Rust / Board support crates / Raspberry Pi

rp-pico 1,452 10 days ago Board Support Crate for the RP2040-based Raspberry Pi Pico

Embedded Rust / Board support crates / Sparkfun

samd21_mini Board support for the in the repo. It is an board
sparkfun-pro-micro-rp2040 1,452 10 days ago Board Support Crate for the RP2040 based Sparkfun Pro Micro

Embedded Rust / Board support crates / SeeedStudio

seedstudio-gd32v 8 about 4 years ago Board support crate for the
xiao_m0 Board support for the in the repo. It is an board
wio_lite_mg126 Board support for the in the repo. It is an board
wio_lite_w600 Board support for the in the repo. It is an board
wio_terminal Board support for the in the repo. It is an board

Embedded Rust / Board support crates / SiFive

hifive1 77 12 months ago Board support crate for and boards -

Embedded Rust / Board support crates / Sipeed

longan-nano 117 6 months ago Board support package for the

Embedded Rust / Board support crates / Sony

prussia 110 20 days ago SDK for the PlayStation 2

Embedded Rust / Board support crates / STMicroelectronics

f3 Board Support Crate for the -
nucleo-f042k6 -
nucleo-f103rb -
nucleo-f401re -
nucleo-h743zi 17 over 1 year ago Beginner-oriented support crate for the Nucleo H743ZI and Nucleo H743ZI2
nucleo-h723zg 1 over 1 year ago Board support crate for the Nucleo H723ZG
solo-bsp Board Support Crate for , an open source security token (WIP) -
stm32f407g-disc Board Support Crate for the (WIP) -
stm32f429i-disc Board Support Crate for the (WIP) -
stm32f3-discovery Board Support Crate for the used in -

Embedded Rust / Board support crates / Teensy

teensy4-rs 287 12 days ago Board Support crate for the [Teensy 4.0]

Embedded Rust / Board support crates / Vorago

vorago-reb1 -

Embedded Rust / Board support crates / Vorago / vorago-reb1

Blogpost

Embedded Rust / Board support crates / Texas Instruments

monotron 191 over 3 years ago 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 , and
stellaris-launchpad For the Texas Instruments Stellaris Launchpad and Tiva-C Launchpad
tm4c129-launchpad 0 11 months ago For the Texas Instruments TM4C129-XL Launchpad board

Embedded Rust / Board support crates / Special Purpose

betafpv-f3 44 almost 6 years ago For the BetaFPV F3 drone flight controller

Embedded Rust / Board support crates / Sodaq

sodaq_one Board support for the in the repo. It is an board
sodaq_sara_aff Board support for the in the repo. It is an board

Embedded Rust / Board support crates / Other

serpente Board support for the in the repo. It is an board
p1am_100 Board support for the in the repo. It is an board

Embedded Rust / Component abstraction crates

accelerometer 26 4 months ago Generic accelerometer support, including traits and types for taking readings from 2 or 3-axis accelerometers and tracking device orientations -
embedded-graphics : 2D drawing library for any size display -
radio 71 7 months ago Generic radio transceiver traits, mocks, and helpers -
smart-leds : Support for addressable LEDs including WS2812 and APA102
usb-device 450 about 1 month ago : Abstraction layer between USB peripheral crates & USB class crates -
atat 116 about 2 months ago : Abstraction crate to ease writing AT based driver crates -
embedded-nal 177 about 2 months ago : An Embedded Network Abstraction Layer -
embedded-storage 69 4 months ago : An Embedded Storage Abstraction Layer
switch-hal 26 7 months ago : An "on"/"off" abstraction for input and output switches -

Embedded Rust / Driver crates

AD983x SPI - AD9833/AD9837 waveform generators / DDS - -
adafruit-alphanum4 I2C - Driver for based on the ht16k33 chip -
ADE791x SPI - ADE7912/ADE7913 3-Channel, Isolated, Sigma-Delta ADC - -
ADS1x1x I2C - 12/16-bit ADCs like ADS1013, ADS1015, ADS1115, etc. - -
ADXL313 SPI - 3-axis accelerometer -
ADXL343 I2C - 3-axis accelerometer -
ADXL355 SPI - 3-axis accelerometer - -
AFE4404 2 over 1 year ago I2C - Pulse oximeter -
AHT20 I2C - Humidity and temperature sensor - -
AHT20-driver I2C - Humidity and temperature sensor - - -
AnyLeaf I2C - pH sensor module - -
AT86RF212 SPI - Low power IEEE 802.15.4-2011 ISM RF Transceiver - -
BlueNRG SPI - driver for BlueNRG-MS Bluetooth module -
BMA400 I2C/SPI - Bosch 12-bit 3-axis accelerometer -
BNO055 I2C - Bosch Sensortec BNO055 9-axis IMU driver -
CD74HC4067 GPIO - 16-channel digital and analog multiplexer - - -
dht-sensor 1-Wire - DHT11/DHT22 temperature/humidity sensor driver - -
embedded-dht-rs 1-Wire, I2C - DHT11/DHT20/DHT22 temperature/humidity sensor driver - -
DRV8825 DRV8825 Stepper Motor Driver (based on ) - -
DS1307 I2C - Real-time clock driver - -
ebyte-e32 SERIAL - Ebyte E32 LoRa module driver - -
EEPROM24x I2C - 24x series serial EEPROM driver - -
embedded-ccs811 I2C - Gas and VOC sensor driver for monitoring indoor air quality - -
embedded-sdmmc SPI - SD/MMC Card Driver with MS-DOS Partition and FAT16/FAT32 support -
ENC28J60 SPI - Ethernet controller - -
FUSB302B 19 5 months ago I2C - Programmable USB Type‐C Controller with USB Power Delivery -
HC-12 SERIAL - Wireless serial transceiver module - - -
HTS221 I2C - Humidity and temperature sensor - -
IIS2MDC I2C - ST's High accuracy, ultra-low-power, 3-axis digital output magnetometer -
ISM330DHCX I2C - ST's IMU with 3D accelerometer, 3D gyroscope, ML core and more -
keypad GPIO - Keypad matrix circuits - -
KXCJ9 I2C - KXCJ9/KXCJB 3-axis accelerometers - -
L3GD20 SPI - Gyroscope - -
LSM303DLHC I2C - Accelerometer + compass (magnetometer) - -
MAX6675 SPI - A driver for the MAX6675 digital thermocouple converter - -
MAX6955 I2C - Driver for Alphanumeric LED display driver - -
MAX116xx-10bit SPI - Driver for the MAX11619-MAX11621, MAX11624 and MAX11625 10-bit ADCs - -
MCP25LCXX SPI - Driver for Microchip's 25LC series of EEPROMs -
MCP3008 SPI - 8 channel 10-bit ADC - -
MCP3425 I2C - 16-bit ADC - -
MCP794xx I2C - Real-time clock / calendar driver - -
MMA7660FC I2C - 3-axis accelerometer -
OPT300x 6 4 months ago I2C - Ambient light sensor family driver - -
PAC194X 3 over 2 years ago I2C - Single/multi channel power monitor - -
port-expander I2C - Driver for I2C port expanders (supports , ) - -
pwm-pca9685 I2C - 16-channel, 12-bit PWM/Servo/LED controller - -
rainbow-hat-rs I2C/SPI/GPIO - Pimoroni Rainbow HAT driver for Raspberry Pi - -
rotary-encoder-hal GPIO - A rotary encoder driver using - -
sega-controller GPIO - Sega controller input - -
SGP30 I2C - Gas sensor - -
SH1106 I2C - Monochrome OLED display controller -
shared-bus 129 9 months ago I2C - utility driver for sharing a bus between multiple devices -
shift-register-driver GPIO - Shift register - -
Si4703 I2C - FM radio turner (receiver) driver - -
SRAM23x SPI - Microchip 23x series serial SRAM/NVSRAM driver - -
SSD1306 I2C/SPI - OLED display controller - -
SSD1309 I2C/SPI - OLED display controller - -
STSPIN220 STSPIN220 Stepper Motor Driver (based on ) - -
Sx127x SPI - Long Range Low Power Sub GHz (Gfsk, LoRa) RF Transceiver - -
Sx128x SPI - Long range, low power 2.4 GHz (Gfsk, Flrc, LoRa) RF Transceiver - -
TC72 SPI - Microchip TC72 temperature sensor -
TCN75A I2C - Microchip TCN75A temperature sensor -
TMP006 I2C - Contact-less infrared (IR) thermopile temperature sensor driver -
TMP1x2 I2C - TMP102 and TMP112x temperature sensor driver -
TSIC GPIO - TSIC 306 temperature sensor driver -
TSL256X I2C - Light Intensity Sensor - -
VEML6030/VEML7700 I2C - Ambient light sensors - -
VEML6075 I2C - UVA and UVB light sensor - -
usbd-serial USB CDC-ACM class (serial) implementation - -
usbd-hid USB HID class implementation - -
usbd-hid-device USB HID class implementation without - -
usbd-human-interface-device 116 24 days ago Batteries included embedded USB HID library for . Includes concrete Keyboard (boot and NKRO), Mouse and Consumer Control implementations as well as support for building your own HID classes - -
usbd-midi USB MIDI class implementation - -
usbd-webusb USB webUSB class implementation - -
SHTCx I2C - Temperature / humidity sensors - -
ST7789 SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix used in the PineTime watch - -
DW1000 SPI - Radio transceiver (IEEE 802.15.4 and position tracking) - -
Adafruit-7segment I2C - Driver for Adafruit 7-segment LED Numeric Backpack based on the ht16k33 chip - -
ST7565 SPI - An embedded-graphics compatible driver for LCD displays based on the ST7565 chip - -
tb6612fng A driver for the TB6612FNG motor driver -
vl53l1x-uld I2C - A pure-rust driver for the -
i2c-multiplexer I2C - An I2C Multiplexer library that supports the PCA9546 and TCA9546A chips - -
SHT31-rs I2C - Fully supported SHT temperature / humidity sensors - -

Embedded Rust / Driver crates / WIP

AD9850 Embedded driver for the AD9850 DDS synthesizer chip -
AFE4400 6 over 4 years ago SPI - Pulse oximeter
APDS9960 I2C - Proximity, ambient light, RGB, and gesture sensor -
AS5048A 1 almost 3 years ago SPI - AMS AS5048A Magnetic Rotary Encoder
AXP209 5 over 3 years ago I2C - Power management unit
ad57xx 0 9 months ago SPI - Quad and dual channel DAC -
BH1750 2 almost 7 years ago I2C - ambient light sensor (lux meter)
BME280 A rust device driver for the Bosch BME280 temperature, humidity, and atmospheric pressure sensor and the Bosch BMP280 temperature and atmospheric pressure sensor
bme680 29 23 days ago I2C - Temperature / humidity / gas / pressure sensor -
BMI160 I2C / SPI - Inertial Measurement Unit -
BMP280 A platform agnostic driver to interface with the BMP280 pressure sensor
CC1101 SPI - Sub-1GHz RF Transceiver -
DS3231 7 almost 7 years ago I2C - real-time clock
DS3234 1,926 about 1 month ago SPI - Real-time clock
DS323x I2C/SPI - Real-time clocks (RTC): DS3231, DS3232 and DS3234 -
epd-waveshare SPI - driver for E-Paper Modules from Waveshare
embedded-morse Output morse messages -
embedded-nrf24l01 SPI+GPIO - 2.4 GHz radio
Ft6x36 I2C - Rust driver for focal tech touch screen FT6236, FT6336 -
grove-matrix-led-my9221-rs I2C - Rust driver for Grove RGB Matrix Led with my-9221 Driver -
GridEYE I2C - Rust driver for Grid-EYE / Panasonic AMG88(33) -
HC-SR04 17 almost 6 years ago DIO - Ultrasound sensor
HD44780-driver GPIO - LCD controller -
HD44780 Parallel port - LCD controller
HM11 USART - HM-11 bluetooth module AT configuration crate -
HRS3300 I2C - Heart rate sensor / monitor used in the PineTime smartwatch, for example. -
HDC20xx I2C - Temperature and humidity sensor compatible with HDC2080, HDC2021 and HDC2010. -
hub75 21 9 months ago A driver for rgb led matrices with the hub75 interface -
hzgrow-r502 UART capacitive fingerprint reader -
iAQ-Core 2 about 3 years ago I2C - iAQ-Core-C/iAQ-Core-P Gas and VOC sensor driver for monitoring indoor air quality
ILI9341 58 9 months ago SPI - TFT LCD display
INA260 I2C - power monitor -
ISL29125 I2C - RGB Color Light Sensor with IR Blocking Filter -
IST7920 SPI monochrome LCD display -
LM75 I2C - Temperature sensor and thermal watchdog (also compatible with LM75A, LM75B, LM75C, AT30TS75A, DS1775, DS75, DS7505, G751, MAX7500/1/2/3/4, MAX6625, MCP9800/1/2/3, STDS75, TCN75, PCT2075) -
lp586x I2C/SPI - LED matrix driver
LS010B7DH01 6 over 6 years ago SPI - Memory LCD
LSM303AGR I2C/SPI - 3D accelerometer + 3D magnetometer. (Used in e.g. micro:bit boards)
LSM303C A platform agnostic driver to interface with the LSM303C (accelerometer + compass)
LSM9DS1 I2C/SPI - 9-axis motion sensor module
ltr-559 I2C - Ambient Light Sensor and Proximity sensor
lvgl 687 5 months ago no_std port -
M95320 SPI - STMicroelectronics Serial flash EEPROM -
MAG3110 1 about 6 years ago I2C - Magnetometer
MAX17048/9 I2C - LiPo Fuel gauge, battery monitoring IC -
MAX170xx 8 7 months ago I2C - LiPo Fuel gauge, battery monitoring ICs compatible with MAX17043/4, MAX17048/9, MAX17058/9. -
MAX3010x I2C - Pulse oximeter and heart-rate sensor. ATM Compatible with MAX30102. -
MAX31855 4 7 months ago SPI - Thermocouple digital converter -
MAX31865 SPI - RTD to Digital converter -
MAX44009 I2C - Ambient light sensor -
MAX7219 16 12 months ago SPI - LED display driver -
MCP4725 I2C - 12-bit DAC -
MCP49xx SPI - 8/10/12-bit DACs like MCP4921, MCP4922, MCP4801, etc. -
MCP9808 I2C - Temperature sensor -
MCP4x SPI - Digital potentiometers (digipot) like MCP41010, MCP41050, MCP41100, MCP42010, MCP42050 and MCP42100, etc. -
MFRC522 30 over 2 years ago SPI - RFID tag reader/writer
midi-port UART - MIDI input -
MLX9061x I2C - MLX90614/MLX90615 Contact-less infrared (IR) temperature sensor driver. -
MMA8x5x I2C - Tri-axis accelerometers like MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC and MMA8653FC. -
motor-driver 10 over 6 years ago Motor drivers: L298N, TB6612FNG, etc
MPU6050 I2C - no_std driver for the MPU6050
MPU9250 no_std driver for the MPU9250 (and other MPU* devices) & onboard AK8963 (accelerometer + gyroscope + magnetometer IMU)
MS5637 no_std I2C driver for the MS5637 temperature and pressure sensor
NRF24L01 28 over 4 years ago SPI - 2.4 GHz wireless communication
OneWire 1wire - OneWire protocol implementation with drivers for devices such as -
PCD8544 0 over 6 years ago SPI - 48x84 pixels matrix LCD controller
PCD8544_rich SPI - Rich driver for 48x84 pixels matrix LCD controller -
PCF857x I2C - I/O expanders: PCF8574, PCF8574A, PCF8575
radio-at86rf212 SPI - Sub GHz 802.15.4 radio transceiver
RFM69 11 over 2 years ago SPI - ISM radio transceiver
RN2xx3 5 about 3 years ago Serial - A driver for the RN2483 / RN2903 LoRaWAN modems by Microchip
SCD30 I2C - CO₂ sensor -
SHT2x 2 almost 3 years ago I2C - temperature / humidity sensors
SHT3x 7 about 2 years ago I2C - Temperature / humidity sensors
SI5351 3 5 months ago I2C - clock generator
SI7021 5 almost 5 years ago I2C - Humidity and temperature sensor
SPL06-007 1 almost 2 years ago I2C - Pressure and temperature sensor -
spi-memory 23 almost 3 years ago SPI - A generic driver for various SPI Flash and EEPROM chips -
SSD1320 SPI - Graphical OLED display controller -
SSD1322 SPI - Graphical OLED display controller -
SSD1322_rs SPI - Async graphics driver for SSD1322 screen -
SSD1351 SPI - 16bit colour OLED display driver -
SSD1675 SPI - Tri-color ePaper display controller -
st7032i 2 about 5 years ago I2C - Dot Matrix LCD Controller driver (Sitronix ST7032i or similar). -
ST7735-lcd SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix
ST7920 SPI - LCD displays using the ST7920 controller
stm32-eth 149 20 days ago MCU - Ethernet
SX1278 11 over 6 years ago SPI - Long range (LoRa) transceiver
SX1509 1 10 months ago I2C - IO Expander / Keypad driver
TCS3472 I2C - RGB color light sensor -
TPA2016D2 I2C - A driver for interfacing with the Texas Instruments TPA2016D2 Class-D amplifier -
VEML6040 I2C - RGBW color light sensor -
VEML6070 I2C - UVA light sensor -
VEML7700 I2C - Ambient light sensors -
vesc-comm 1 11 months ago A driver for communicating with
VL53L0X A platform agnostic driver to interface with the vl53l0x (time-of-flight sensor)
w5500 SPI - Ethernet Module with hardwired protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE -
xCA9548A I2C - I2C switches/multiplexers: TCA9548A, PCA9548A -
ublox-cellular-rs 22 25 days ago Serial - Cellular driver for the full Ublox cellular serial based family
atwinc1500-rs SPI - A host driver for the Atwinc1500 network controller
HX711 6 2 months ago GPIO - An interrupt-based driver for the HX711 Load Cell Amplifier IC. no-std

Embedded Rust / no-std crates

adskalman : Kalman filter and Rauch-Tung-Striebel smoothing implementation
atomic : Generic Atomic
bbqueue : A SPSC, statically allocatable queue based on BipBuffers suitable for DMA transfers -
bitmatch : A crate that allows you to match, bind, and pack the individual bits of integers. -
biquad : A library for creating second-order IIR filters for signal processing based on Biquads, where both a Direct Form 1 (DF1) and Direct Form 2 Transposed (DF2T) implementation is available
bit_field : manipulating bitfields and bitarrays -
bluetooth-hci : device-independent Bluetooth Host-Controller Interface implementation
bounded-registers A high-assurance memory-mapped register code generation and interaction library. provides a Tock-like API for MMIO registers with the addition of type-based bounds checking. -
cam-geom : Geometric models of cameras for photogrammetry
combine : parser combinator library -
console-traits 3 over 5 years ago : Describes a basic text console. Used by and implemented by
cmim , or Cortex-M Interrupt Move: A crate for Cortex-M devices to move data to interrupt context, without needing a critical section to access the data within an interrupt, and to remove the need for the "mutex dance" -
cmsis-dsp-sys 17 12 months ago : Rust FFI bindings to the math library -
dcmimu : An algorithm for fusing low-cost triaxial MEMS gyroscope and accelerometer measurements
debouncr : A simple no-std input debouncer to detect rising/falling edges with minimal RAM requirements
device-driver : A toolkit to write better device drivers, faster
drogue-device 186 about 1 year ago : A distribution of tools and examples for building embedded applications in Rust
dummy-pin : Dummy implementations of the input/output pin traits
crossbus 122 9 months ago : A Platform-Less, Runtime-Less Actor Computing Model
ector 47 27 days ago : An async actor framework for embedded, based on embassy
embassy 4 about 1 year ago : A set of embedded async tools to make async/await a first-class option for embedded development
embedded-cli : CLI library with autocompletion, subcommands, options, help and history support
embedded-crc-macros : Macros implementing portable CRC algorithms and build-time lookup table generation
embedded-update 20 about 1 year ago : Pluggable firmware update protocol for embedded devices
embedded-tls 172 4 months ago : A TLS 1.3 implementation that runs in a no-std environment
embedded-websocket : A lightweight server and client websocket library for embedded systems
endian_codec : (En/De)code rust types as packed bytes with specific order (endian). Supports derive. -
ethercrab 256 6 days ago : A Rust implementation of the industrial automation protocol -
fixed-fft : Fixed-point Fast Fourier Transform -
gcode 89 over 2 years ago : A gcode parser for no-std applications -
gdbstub : zero-allocation, pure Rust implementation of the GDB Remote Serial Protocol -
heapless : provides , , , backed by fixed-size buffers -
idsp : integer DSP algorithms (trigonometry, filtering, PLL...) tuned for precision and speed -
ieee802154 : Partial implementation of the IEEE 802.15.4 standard -
infrared : infrared remote control library for embedded rust -
intrusive-collections : intrusive (non-allocating) singly/doubly linked lists and red-black trees -
inverted-pin : Implementations of the input/output pin traits with inverted logic
irq : utilities for writing interrupt handlers (allows moving data into interrupts, and sharing data between them) -
lakers : Microcontroller-optimized implementation, with bindings for C and Python -
lorawan-encoding 264 6 days ago : A LoRaWAN packet codec
lorawan-device 264 6 days ago : A LoRaWAN MAC implementation supporting both event-driven and async mode
managed : provides , backed by either their std counterparts or fixed-size buffers for . -
menu 51 about 2 months ago : A basic command-line interface library. Has nested menus and basic help functionality
micropb : Rust Protobuf library targetting embedded systems and no_std environments without an allocator. -
mqtt-sn : Implementation of the MQTT-SN protocol -
microfft : Embedded-friendly ( , no- ) fast fourier transforms -
micromath 400 3 months ago : Embedded Rust math library featuring fast, safe floating point approximations for common arithmetic operations, 2D and 3D vector types, and statistical analysis -
miniconf : Lookup/enumerate/serialize/deserialize nodes in trees of heterogeneous structs/arrays by path/key -
minimq : A minimal MQTT5 client designed for no_std platforms -
moonboot 27 over 2 years ago : OTA Bootloader Construction Framework for Rust no_std environments, especially embedded devices without an OS
nalgebra : general-purpose and low-dimensional linear algebra library -
nom : parser combinator framework -
null-terminated : generic null-terminated arrays -
num-format : Crate for producing string representations of numbers, formatted according to international standards, e.g. "1,000,000" for US English -
panic-persist : A panic handler crate inspired by that logs panic messages to a region of RAM defined by the user, allowing for discovery of panic messages post-mortem using normal program control flow. -
pc-keyboard 99 2 months ago : A PS/2 keyboard protocol driver. Transport (bit-banging or SPI) agnostic, but can convert Set 2 Scancodes into Unicode
qei : A qei wrapper that allows you to extend your qei timers from a 16-bit integer to a 64-bit integer. -
qemu-exit : Quit a running QEMU session with user-defined exit code. Useful for unit or integration tests using QEMU. -
RampMaker : Stepper Motor Acceleration Ramp Generator -
register-rs 47 over 3 years ago : Unified interface for MMIO and CPU registers. Provides type-safe bitfield manipulation. 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. -
scapegoat : Safe, stack-only alternative to and . -
scroll : extensible and endian-aware Read/Write traits for generic containers -
sized-dst : Owned container for dynamically-sized types (such as trait objects) backed by stack memory. -
Slint : Declarative GUI framework that works on microcontrollers
smbus-pec : Minimal portable System Management Bus Packet Error Code calculation algorithm
smoltcp 3,802 13 days ago : a small TCP/IP stack that runs without
sntpc : Rust SNTP client to get a timestamp from NTP servers. -
static-bytes 6 almost 4 years ago : Help work with buffers without dynamic allocation. Implement traits from bytes crate
Stepper : Universal Stepper Motor Interface -
tinybmp : No-std, no-alloc BMP parser for embedded systems. -
vga-framebuffer 31 over 4 years ago : A VGA signal generator and font renderer for VGA-less microcontrollers. Used by to generate 48 by 36 character display using 3 SPI peripherals and a timer
usb-pd 19 5 months ago : USB-PD library, supports using the FUSB302B as a Sink driver, with Source functionality planned
wyhash : A fast, simple and portable hashing algorithm and random number generator. -
adafruit-bluefruit-protocol : A parser for the . -
wtx 196 8 days ago : Among other things, provides implementations to interact with HTTP, WebSockets and Databases

Embedded Rust / no-std crates / WIP

light-cli 15 over 5 years ago : a lightweight heapless cli interface
OxCC 19 about 6 years ago : A port of Open Source Car Control written in Rust
Rubble 398 over 2 years ago : A pure-Rust embedded BLE stack

Embedded Rust / Firmware projects

rmk 601 8 days ago : Mechanical keyboard firmware for stm32/rp2040, supports vial/dynamic keymap/eeprom, written in Rust
anne-key 568 over 4 years ago : Alternate keyboard firmware for the Obins ANNE Pro
μLA 755 16 days ago : Micro Logic Analyzer for RP2040
air-gradient-pro-rs 9 about 1 year ago : Bootloader, firmware, and CLI tools for the AirGradient PRO
Stabilizer 111 5 days ago : Firmware for a DSP tool used in quantum physics experimentation, includes telemetry via MQTT and run-time configuration
Booster 13 5 days ago : Firmware for an RF power amplifier, including telemetry via MQTT and run-time configuration
Thermostat EEM 7 5 days ago : Firmware for a multi-channel temperature controller used in physics experiments
Card/IO ECG 30 about 1 month ago : Firmware for a business-card-sized ECG device with Wifi connectivity
BillMock 13 3 months ago : Firmware for credit card terminal add-on hardware to install on Korean arcade machines
LuLuu 7 12 months ago : Firmware for a custom RP2040-based display controller that streams animated images from a microSD card to a small LCD display
prinThor 142 27 days ago : 3DPrinter/CNC/Engraver firmware framework powered by rust embassy for stm32 families and rp2040

Embedded Rust / Old books, blogs, and training materials

Exploring Rust on Teensy by @branan — Beginner set of articles on getting into embedded dev in Rust
Pragmatic Bare Metal Rust A starter article about starting Rust development on STM32 microcontrollers (cubeMX + FFI)
Using Rust in an Embedded Project: A Simple Example Article and some links on setting up Rust cross-compiling
Robigalia general purpose robust operating system in Rust running on secure seL4 microkernel
intermezzOS A small teaching operating system in Rust. A book with some explanations is also included
Fearless concurrency by @japaric — How to easily develop Rust programs for pretty much any ARM Cortex-M microcontroller with memory-safe concurrency
Internet of Streams A video series by building a bare metal IoT Sensor Node Platform from (nearly) scratch in Rust
Ferrous Systems' Embedded Training Courses: 2019 edition 114 over 4 years ago A hands-on training course for beginner and advanced learners of Embedded Rust, based on Nordic Semiconductor's nRF52 and Decawave's DWM1001-DEV hardware. This training was given at Oxidize Conferences and by Ferrous Systems to corporate customers

Embedded Rust / License

LICENSE-CC0 CC0 1.0 Universal License ( or )

Backlinks from these awesome lists:

More related projects: