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

awesome-embedded-rust

Curated list of resources for Embedded and Low-level development in the Rust programming language
https://github.com/rust-embedded/awesome-embedded-rust

Last synced: 6 days ago
JSON representation

  • Driver crates

  • Firmware projects

    • WIP

      • prinThor
      • 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
      • BillMock - on hardware to install on Korean arcade machines
      • LuLuu - based display controller that streams animated images from a microSD card to a small LCD display.
      • 🤖 hypervisor - metal ARM64 Type-1 hypervisor in `no_std` Rust (single dependency: `fdt`). Runs at EL2, boots Linux with 4 vCPUs, virtio-blk/net, FF-A v1.1 SPMC at S-EL2. Targets QEMU virt machine (no real hardware tested yet).
  • HAL implementation crates

    • Espressif

    • GigaDevice

      • `gd32f1x0-hal` - [![crates.io](https://img.shields.io/crates/v/gd32f1x0-hal.svg)](https://crates.io/crates/gd32f1x0-hal)
      • `gd32vf103xx-hal` - [![crates.io](https://img.shields.io/crates/v/gd32vf103xx-hal.svg)](https://crates.io/crates/gd32vf103xx-hal)
    • Microchip

      • `atsam4-hal` - HAL for SAM4E, SAM4N and SAM4S - [![crates.io](https://img.shields.io/crates/v/atsam4-hal.svg)](https://crates.io/crates/atsam4-hal)
      • `atsamd-hal` - HAL for SAMD11, SAMD21, SAMD51 and SAME54 - [![crates.io](https://img.shields.io/crates/v/atsamd-hal.svg)](https://crates.io/crates/atsamd-hal)
      • `atsamx7x-hal` - HAL for SAM S70/E70/V70/V71-based devices - [![crates.io](https://img.shields.io/crates/v/atsamx7x-hal.svg)](https://crates.io/crates/atsamx7x-hal)
      • `pic32-hal` - HAL for PIC32MX - [![crates.io](https://img.shields.io/crates/v/pic32-hal.svg)](https://crates.io/crates/pic32-hal)
    • MSP430

    • Nordic

      • `nrf51-hal` - [![crates.io](https://img.shields.io/crates/v/nrf51-hal.svg)](https://crates.io/crates/nrf51-hal)
      • `nrf52810-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52810-hal.svg)](https://crates.io/crates/nrf52810-hal)
      • `nrf52811-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52811-hal.svg)](https://crates.io/crates/nrf52811-hal)
      • `nrf52832-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52832-hal.svg)](https://crates.io/crates/nrf52832-hal)
      • `nrf52833-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52833-hal.svg)](https://crates.io/crates/nrf52833-hal)
      • `nrf52840-hal` - [![crates.io](https://img.shields.io/crates/v/nrf52840-hal.svg)](https://crates.io/crates/nrf52840-hal)
      • `nrf9160-hal` - [![crates.io](https://img.shields.io/crates/v/nrf9160-hal.svg)](https://crates.io/crates/nrf9160-hal)
    • NXP

      • `lpc55s6x-hal` - [![crates.io](https://img.shields.io/crates/v/lpc55s6x-hal.svg)](https://crates.io/crates/lpc55s6x-hal)
      • `lpc8xx-hal` - HAL for lpc82x and lpc845 - [![crates.io](https://img.shields.io/crates/v/lpc8xx-hal.svg)](https://crates.io/crates/lpc8xx-hal)
      • `mkw41z-hal` - [![crates.io](https://img.shields.io/crates/v/mkw41z-hal.svg)](https://crates.io/crates/mkw41z-hal)
    • OS

    • Raspberry Pi Silicon

      • `rp2040-hal` - HAL for the RP2040 dual-core system-on-chip - [![crates.io](https://img.shields.io/crates/v/rp2040-hal.svg)](https://crates.io/crates/rp2040-hal)
    • Renesas

      • `embedded-hal` - hal)
      • `da14531-hal` - Low Power BT 5.1 System-on-Chip - [![crates.io](https://img.shields.io/crates/v/da14531-hal.svg)](https://crates.io/crates/da14531-hal)
    • SiFive

      • `e310x-hal` - HAL for SiFive [Freedom E310](https://www.sifive.com/cores/e31) MCUs - [![crates.io](https://img.shields.io/crates/v/e310x-hal.svg)](https://crates.io/crates/e310x-hal)
    • Silicon Labs

    • StarFive

      • `j71xx-hal` - HAL crate for StarFive [JH71xx](https://www.starfivetech.com/en/site/soc) MCUs - [![crates.io](https://img.shields.io/crates/v/jh71xx-hal.svg)](https://crates.io/crates/jh71xx-hal)
    • STMicroelectronics

      • `stm32f0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)](https://crates.io/crates/stm32f0xx-hal)
      • `stm32f3xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)](https://crates.io/crates/stm32f3xx-hal)
      • `stm32f4xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)](https://crates.io/crates/stm32f4xx-hal)
      • `stm32f7xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)](https://crates.io/crates/stm32f7xx-hal)
      • `stm32g0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)](https://crates.io/crates/stm32g0xx-hal)
      • `stm32h7xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)](https://crates.io/crates/stm32h7xx-hal)
      • `stm32l0xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)](https://crates.io/crates/stm32l0xx-hal)
      • `stm32l1xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)](https://crates.io/crates/stm32l1xx-hal)
      • `stm32l151-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)](https://crates.io/crates/stm32l151-hal)
      • `stm32l4xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)](https://crates.io/crates/stm32l4xx-hal)
      • `stm32-hal` - [![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)](https://crates.io/crates/stm32-hal2)
      • `stm32f1xx-hal` - [![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)](https://crates.io/crates/stm32f1xx-hal)
    • Texas Instruments

    • Vorago

      • `va108xx-hal` - ![crates.io](https://img.shields.io/crates/v/va108xx-hal.svg)
    • XMC

      • `xmc1100-hal` - [![crates.io](https://img.shields.io/crates/v/xmc1100-hal.svg)](https://crates.io/crates/xmc1100-hal)
      • `xmc4-hal` - [![crates.io](https://img.shields.io/crates/v/xmc4-hal.svg)](https://crates.io/crates/xmc4-hal)
  • no-std crates

    • WIP

      • adskalman - Tung-Striebel smoothing implementation. ![crates.io](https://img.shields.io/crates/v/adskalman.svg)
      • atomic
      • bbqueue - ![crates.io](https://img.shields.io/crates/v/bbqueue.svg)
      • bitmatch
      • biquad
      • bit_field - ![crates.io](https://img.shields.io/crates/v/bit_field.svg)
      • bluetooth-hci - independent Bluetooth Host-Controller Interface implementation. ![crates.io](https://img.shields.io/crates/v/bluetooth-hci.svg)
      • bounded-registers - assurance memory-mapped register code generation and interaction library. `bounded-registers` provides a Tock-like API for MMIO registers with the addition of type-based bounds checking. - ![crates.io](https://img.shields.io/crates/v/bounded-registers.svg)
      • cam-geom - geom.svg)
      • combine - ![crates.io](https://img.shields.io/crates/v/combine.svg)
      • `cmim`
      • dcmimu
      • debouncr
      • device-driver
      • dummy-pin - pin.svg)
      • embedded-crc-macros - time lookup table generation. ![crates.io](https://img.shields.io/crates/v/embedded-crc-macros.svg)
      • embedded-websocket - websocket.svg)
      • endian_codec
      • fixed-fft - point Fast Fourier Transform - [![Crates.io](https://img.shields.io/crates/v/fixed-fft.svg)](https://crates.io/crates/fixed-fft)
      • gdbstub - allocation, pure Rust implementation of the GDB Remote Serial Protocol - [![crates.io](https://img.shields.io/crates/v/gdbstub.svg)](https://crates.io/crates/gdbstub)
      • heapless - size buffers - ![crates.io](https://img.shields.io/crates/v/heapless.svg)
      • idsp - ![crates.io](https://img.shields.io/crates/v/idsp.svg)
      • ieee802154 - ![crates.io](https://img.shields.io/crates/v/ieee802154.svg)
      • infrared - ![crates.io](https://img.shields.io/crates/v/infrared.svg)
      • intrusive-collections - allocating) singly/doubly linked lists and red-black trees - ![crates.io](https://img.shields.io/crates/v/intrusive-collections.svg)
      • inverted-pin - pin.svg)
      • irq - ![crates.io](https://img.shields.io/crates/v/irq.svg)
      • lorawan-encoding
      • lorawan-device - driven and async mode.
      • managed - size buffers for `#![no_std]`. - ![crates.io](https://img.shields.io/crates/v/managed.svg)
      • menu
      • mqtt-sn - SN protocol - ![crates.io](https://img.shields.io/crates/v/mqtt-sn.svg)
      • microfft - friendly (`no_std`, no-`alloc`) fast fourier transforms - ![crates.io](https://img.shields.io/crates/v/microfft.svg)
      • minimq - ![crates.io](https://img.shields.io/crates/v/minimq.svg)
      • nalgebra - purpose and low-dimensional linear algebra library - ![crates.io](https://img.shields.io/crates/v/nalgebra.svg)
      • nom - ![crates.io](https://img.shields.io/crates/v/nom.svg)
      • null-terminated - terminated arrays - ![crates.io](https://img.shields.io/crates/v/null-terminated.svg)
      • num-format - ![crates.io](https://img.shields.io/crates/v/num-format.svg)
      • `panic-persist`
      • pc-keyboard
      • qei - bit integer to a 64-bit integer. - ![crates.io](https://img.shields.io/crates/v/qei.svg)
      • qemu-exit
      • RampMaker - ![crates.io](https://img.shields.io/crates/v/ramp-maker.svg)
      • scapegoat - only alternative to `BTreeSet` and `BTreeMap`. - [![crates.io](https://img.shields.io/crates/v/scapegoat.svg)](https://crates.io/crates/scapegoat)
      • scroll - aware Read/Write traits for generic containers - ![crates.io](https://img.shields.io/crates/v/scroll.svg)
      • Slint
      • smbus-pec - pec.svg)
      • sntpc
      • Stepper
      • tinybmp - std, no-alloc BMP parser for embedded systems. [Introductory blog post](https://wapl.es/rust/2019/03/04/embedded-graphics-0.4.7-bmp-support.html) - ![crates.io](https://img.shields.io/crates/v/tinybmp.svg)
      • wyhash
      • adafruit-bluefruit-protocol
      • lorawan-device - driven and async mode.
      • embedded-cli - cli.svg)
      • miniconf - ![crates.io](https://img.shields.io/crates/v/miniconf.svg)
      • lorawan-encoding
      • console-traits - framebuffer]. ![crates.io](https://img.shields.io/crates/v/console-tratis.svg)
      • `cmsis-dsp-sys` - software/CMSIS_5) math library - ![crates.io](https://img.shields.io/crates/v/cmsis-dsp-sys.svg)
      • drogue-device
      • crossbus - Less, Runtime-Less Actor Computing Model.
      • ector
      • embedded-update
      • embedded-tls - std environment.
      • ethercrab - ![crates.io](https://img.shields.io/crates/v/ethercrab.svg)
      • gcode - std applications - [![crates.io](https://img.shields.io/crates/v/gcode.svg)](https://crates.io/crates/gcode)
      • moonboot
      • register-rs - safe bitfield manipulation. `register-rs` is Tock registers with added support for CPU register definitions using the same API as for the MMIO registers. This enables homogeneous interfaces to registers of all kinds. - ![crates.io](https://img.shields.io/crates/v/register.svg)
      • static-bytes - bytes.svg)](https://crates.io/crates/static-bytes)
      • usb-pd - PD library, supports using the FUSB302B as a Sink driver, with Source functionality planned.
      • light-cli
      • OxCC
      • Rubble - Rust embedded BLE stack ![crates.io](https://img.shields.io/crates/v/rubble.svg)
      • wtx
      • sized-dst - sized types (such as trait objects) backed by stack memory. - ![crates.io](https://img.shields.io/crates/v/sized-dst.svg)
      • arbitrary-int
      • bitbybit
      • bitfield-struct
      • hayasen
      • post-haste - free async Rust library for creating modular projects.