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