Curated list of resources for Embedded and Low-level development in the Rust programming language
Find a file
2018-04-06 18:26:21 +02:00
Code-of-Conduct.md Add code of conduct 2018-04-06 18:01:35 +02:00
CONTRIBUTING.md Add contribution guidelines 2018-04-06 18:01:40 +02:00
LICENSE-CC0 initial commit 2018-04-01 23:17:28 +02:00
README.md Add Community section 2018-04-06 18:26:21 +02:00
rust-embedded-logo-256x256.png Add logo 2018-04-06 18:03:26 +02:00

Embedded Rust

Awesome

This is a curated list of resources related to embedded and low-level programming in the programming language Rust, including a list of useful crates.

Table of contents

Community

In 2018 Mozilla asked for creation of an embedded workgroup to help drive adoption in the Rust ecosystem.

  • Embedded WG, including newsletters with progress updates.

Device crates

Register definition for microcontroller families. Usually generated using svd2rust.

NOTE You may be able to find even more device crates by searching for the svd2rust keyword on crates.io!

Nordic

NXP

STMicroelectronics

HAL implementation crates

Implementations of embedded-hal for microcontroller families and systems running some OS.

NOTE You may be able to find even more HAL implementation crates by searching for the embedded-hal-impl and embedded-hal keywords on crates.io!

OS

Nordic

NXP

Also check the list of NXP board support crates!

STMicroelectronics

Also check the list of STMicroelectronics board support crates!

Texas Instruments

Board support crates

Crates tailored for specific development boards.

Nordic

NXP

STMicroelectronics

Driver crates

Platform agnostic crates to interface external components. These crates use the embedded-hal interface to support all the devices and systems that implement the embedded-hal traits.

The list below contains drivers developed as part of the Weekly Driver initiative and that have achieved the "released" status (published on crates.io + documentation / short blog post).

  1. L3GD20 - SPI - Gyroscope - Intro blog post
  2. LSM303DLHC - I2C - Accelerometer + compass (magnetometer) - Intro blog post
  3. MCP3008 - SPI - 8 channel 10-bit ADC - Intro blog post
  4. ENC28J60 - SPI - Ethernet controller - Intro blog post
  5. MCP3425 - I2C - 16-bit ADC - Intro blog post
  6. SGP30 - I2C - Gas sensor - Intro blog post
  7. HTS221 - I2C - Humidity and temperature sensor - Intro blog post

NOTE You may be able to find even more driver crates by searching for the embedded-hal-driver keyword on crates.io!

WIP

Work in progress drivers. Help the authors make these crates awesome!

  • MFRC522 - SPI - RFID tag reader/writer
  • MPU9250 - SPI - Accelerometer + gyroscope + compass
  • motor-driver - Motor drivers: L298N, TB6612FNG, etc.
  • MAG3110 - I2C - Magnetometer
  • SI5351 - I2C - clock generator
  • SI7021 - I2C - Humidity and temperature sensor
  • MAX7219 - SPI - LED display driver
  • DS3231 - I2C - real time clock
  • BH1750 - I2C - ambient light sensor (lux meter)
  • SHT2x - I2C - temperature / humidity sensors
  • INA260 - I2C - power monitor
  • SSD1306 - I2C - OLED display driver
  • ILI9341 - SPI - TFT LCD display
  • HD44780 - Parallel port - LCD controller
  • MCP9808 - I2C - Temperature sensor
  • MMA7660FC - I2C - 3-axis accelerometer
  • AXP209 - I2C - Power management unit
  • DS3234 - SPI - Real time clock
  • PCD8544 - SPI - 48x84 pixels matrix LCD controller
  • HC-SR04 - DIO - Ultrasound sensor
  • AFE4400 - SPI - Pulse oximeter
  • SX1278 - SPI - Long range (LoRa) transceiver
  • RFM69 - SPI - ISM radio transceiver
  • LS010B7DH01 - SPI - Memory LCD
  • MAX31855 - SPI - Thermocouple digital converter
  • SHT3x - I2C - Temperature / humidity sensors

no-std crates

#![no_std] crates designed to run on resource constrained devices.

whoops this list is currently empty. Want to help us write it? Leave a comment on issue #2.

  • bit_field: manipulating bitfields and bitarrays

License

This list is licensed under