Awesome List Updates on Oct 13, 2024
7 awesome lists updated today.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor
1. Free for Dev
Issue Tracking and Project Management
- Crosswork - Versatile project management platform. Free for up to 3 projects, unlimited users, 1 GB storage.
2. Awesome Embedded Rust
Tools / Paid and commercially available materials
- edc2svd (⭐7) Generate SVD files for PIC32 devices from EDC files. -
- embedded-hal-mock Mock implementation of
embedded-haltraits for testing without accessing real hardware. -
- bindgen Automatically generates Rust FFI bindings to C and C++ libraries. -
- 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 (⭐53) A small cargo subcommand to download cargo builds to Microsoft UF2 bootloaders via HID USB . -
- espflash (⭐596) Serial flasher utility for Espressif SoCs and modules. -
- espup (⭐301) Tool for installing and maintaining Espressif Rust ecosystem. -
- uf2 (⭐28) Converts binary files to Microsoft's UF2 format for copying over to mass storage device uf2 bootloaders -
- svd-generator CLI tool to parse flattened device tree files, and create a SVD file. -
Peripheral Access Crates / Microchip
sam3x8ePeripheral access API for Atmel SAMD3X8E microcontrollers (generated using svd2rust) -
pic32-pacPeripheral access API for PIC32MX1/2xx -
Peripheral Access Crates / Nordic
nrf51Peripheral 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) -
Peripheral Access Crates / NXP
k64-
lpc11uxx-
mkw41z-
imxrt-ralRegister access layer for i.MX RT series. -
SKEAZN642Peripheral access API for KEA64 family microcontrollers (generated using svd2rust) -
Peripheral Access Crates / Raspberry Pi Silicon
rp2040-pac- Peripheral access API for the RP2040 dual-core system-on-chip (generated using svd2rust) -
Peripheral Access Crates / SiFive
e310x- svd2rust generated interface to SiFive Freedom E310 MCUs -
Peripheral Access Crates / Silicon Labs
efm32pg12-pac- Peripheral access API for Silicon Labs EFM32PG12 microcontrollers -
Peripheral Access Crates / StarFive
Peripheral Access Crates / STMicroelectronics
stm32f0-
stm32f1-
stm32f2-
stm32f3-
stm32f4-
stm32f7-
stm32g0-
stm32g4-
stm32h7-
stm32l0-
stm32l1-
stm32l4-
Peripheral Access Crates / MSP430
Peripheral Access Crates / Espressif
esp32-
esp32c2-
esp32c3-
esp32c6-
esp32h2-
esp32s2-
esp32s3-
Peripheral Access Crates / GigaDevice
gd32vf103-pacPeripheral access API for GD32VF103 RISC-V microcontrollers (generated using svd2rust) -
gd32e2Peripheral access API for GD32E23x Cortex-M23 microcontrollers (generated using svd2rust) -
gd32f1Peripheral access API for GD32F1x0 Cortex-M3 microcontrollers (generated using svd2rust) -
gd32f2Peripheral access API for GD32F20x Cortex-M3 microcontrollers (generated using svd2rust) -
Peripheral Access Crates / XMC
xmc4100-
xmc4200-
xmc4300-
xmc4400-
xmc4500-
xmc4700-
xmc4800-
Peripheral Access Crates / Vorago
va108xx-
va416xx-
Peripheral Access Crates / Wiznet
w7500x-pacPeripheral Access Crate for Wiznet's W7500x microcontrollers (generated using svd2rust) -
Peripheral Access Crates / Renesas
ra2a1Peripheral Access Crate for ra2a1 microcontrollers (generated using svd2rust) -
ra2e1Peripheral Access Crate for ra2e1 microcontrollers (generated using svd2rust) -
ra2e2Peripheral Access Crate for ra2e2 microcontrollers (generated using svd2rust) -
ra2l1Peripheral Access Crate for ra2l1 microcontrollers (generated using svd2rust) -
ra4e1Peripheral Access Crate for ra4e1 microcontrollers (generated using svd2rust) -
ra4m1Peripheral Access Crate for ra4m1 microcontrollers (generated using svd2rust) -
ra4m2Peripheral Access Crate for ra4m2 microcontrollers (generated using svd2rust) -
ra4m3Peripheral Access Crate for ra4m3 microcontrollers (generated using svd2rust) -
ra4w1Peripheral Access Crate for ra4w1 microcontrollers (generated using svd2rust) -
ra6e1Peripheral Access Crate for ra6e1 microcontrollers (generated using svd2rust) -
ra6m1Peripheral Access Crate for ra6m1 microcontrollers (generated using svd2rust) -
ra6m2Peripheral Access Crate for ra6m2 microcontrollers (generated using svd2rust) -
ra6m3Peripheral Access Crate for ra6m3 microcontrollers (generated using svd2rust) -
ra6m4Peripheral Access Crate for ra6m4 microcontrollers (generated using svd2rust) -
ra6t1Peripheral Access Crate for ra6t1 microcontrollers (generated using svd2rust) -
ra6t2Peripheral Access Crate for ra6t2 microcontrollers (generated using svd2rust) -
da14531Peripheral Access Crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip -
HAL implementation crates / OS
linux-embedded-halfor embedded Linux systems like the Raspberry Pi. -
freebsd-embedded-halfor embedded (or not) FreeBSD systems. -
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 -
pic32-hal- HAL for PIC32MX -
HAL implementation crates / Nordic
HAL implementation crates / NXP
imxrt-hal- HAL for i.MX RT series. -
HAL implementation crates / Raspberry Pi Silicon
rp2040-hal- HAL for the RP2040 dual-core system-on-chip -
HAL implementation crates / SiFive
e310x-hal- HAL for SiFive Freedom E310 MCUs -
HAL implementation crates / STMicroelectronics
HAL implementation crates / XMC
xmc4-hal-
HAL implementation crates / Renesas
da14531-halHAL crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip -
HAL implementation crates / StarFive
Architecture support crates / ARM
cortex-aLow-level access to Cortex-A processors (early state) -
cortex-mLow-level access to Cortex-M processors -
Architecture support crates / RISC-V
riscvLow-level access to RISC-V processors -
Architecture support crates / MIPS
mipsLow-level access to MIPS32 processors -
mips-mcuLow-level access to MIPS MCU cores -
Board support crates / 1BitSquared
Board support crates / Adafruit
metro_m0- Board support for the Metro M0 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board.
metro_m4- Board support for the Metro M4 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board.
pyportal- Board support for the PyPortal board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
pygamer- Board support for the PyGamer board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board.
trellis_m4- Board support for the NeoTrellis M4 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) 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 (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board.
feather_m4- Board support for the Feather M4 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board.
circuit_playground_express- Board support for the Circuit Playground Express board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
edgebadge- Board support for the EdgeBadge board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
gemma_m0- Board support for the Gemma M0 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
itsybitsy_m0- Board support for the ItsyBitsy M0 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
itsybitsy_m4- Board support for the ItsyBitsy M4 Express board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
trinket_m0- Board support for the Trinket M0 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
neo_trinkey- Board support for the neo trinkey board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
neokey_trinkey- Board support for the neokey trinkey board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
grand_central_m4- Board support for the grand central m4 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
qt_py_m0- Board support for the QT Py board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
Board support crates / Arduino
arduino_mkr1000- Board support for the MKR 1000 WiFi board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
arduino_mkrvidor4000- Board support for the MKR Vidor board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
arduino_mkrzero- Board support for the mkrzero board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
arduino_nano33iot- Board support for the Arduino Nano 33 IoT in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
Board support crates / Nordic
Board support crates / NXP
frdm-kw41z- FRDM-KW41Z -
Board support crates / Sparkfun
samd21_mini- Board support for the SAMD21 Mini Breakout in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
Board support crates / SeeedStudio
xiao_m0- Board support for the Seeed Studio Seeeduino XIAO in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
wio_lite_mg126- Board support for the Seeed Studio wio_lite_mg126 in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
wio_lite_w600- Board support for the Seeed Studio wio_lite_w600 in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
wio_terminal- Board support for the Seeed Studio wio_terminal in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 1 support (⭐612) board
Board support crates / SiFive
Board support crates / STMicroelectronics
f3Board Support Crate for the STM32F3DISCOVERY -
stm32f407g-discBoard Support Crate for the STM32F4DISCOVERY (WIP) -
stm32f429i-discBoard Support Crate for the STM32F429DISCOVERY (WIP) -
stm32f3-discoveryBoard Support Crate for the STM32F3DISCOVERY used in Rust Embedded Discovery book -
Board support crates / Texas Instruments
stellaris-launchpad- For the Texas Instruments Stellaris Launchpad and Tiva-C Launchpad
Board support crates / Sodaq
sodaq_sara_aff- Board support for the Sodaq sara aff board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
Board support crates / Other
serpente- Board support for the serpente board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) board.
p1am_100- Board support for the p1am_100 board in the atsamd-rs (⭐612) repo. It is an atsamd-rs tier 2 support (⭐612) 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 -
embedded-graphics: 2D drawing library for any size display -
radio- Generic radio transceiver traits, mocks, and helpers -
usb-device: Abstraction layer between USB peripheral crates & USB class crates -
atat: Abstraction crate to ease writing AT based driver crates -
embedded-nal: An Embedded Network Abstraction Layer -
switch-hal: An "on"/"off" abstraction for input and output switches -
Driver crates / Other
- AD983x - SPI - AD9833/AD9837 waveform generators / DDS - Intro blog post -
- adafruit-alphanum4 - I2C - Driver for Adafruit 14-segment LED Alphanumeric Backpack based on the ht16k33 chip -
- ADE791x - SPI - ADE7912/ADE7913 3-Channel, Isolated, Sigma-Delta ADC - github (⭐1) -
- ADS1x1x - I2C - 12/16-bit ADCs like ADS1013, ADS1015, ADS1115, etc. - Intro blog post -
- ADXL313 - SPI - 3-axis accelerometer -
- ADXL343 - I2C - 3-axis accelerometer -
- ADXL355 - SPI - 3-axis accelerometer - Intro blog post -
- AFE4404 (⭐2) - I2C - Pulse oximeter -
- AHT20 - I2C - Humidity and temperature sensor - github (⭐3) -
- AHT20-driver - I2C - Humidity and temperature sensor - Intro blog post - github (⭐10) -
- AnyLeaf - I2C - pH sensor module - github (⭐6) -
- AT86RF212 - SPI - Low power IEEE 802.15.4-2011 ISM RF Transceiver - Intro blog post -
- BlueNRG - SPI - driver for BlueNRG-MS Bluetooth module - Intro post
- BMA400 - I2C/SPI - Bosch 12-bit 3-axis accelerometer - github (⭐4)
- BNO055 - I2C - Bosch Sensortec BNO055 9-axis IMU driver - Intro post
- CD74HC4067 - GPIO - 16-channel digital and analog multiplexer - Intro blog post - github (⭐1) -
- dht-sensor - 1-Wire - DHT11/DHT22 temperature/humidity sensor driver - github (⭐32) -
- embedded-dht-rs - 1-Wire, I2C - DHT11/DHT20/DHT22 temperature/humidity sensor driver - github (⭐23) -
- DRV8825 - DRV8825 Stepper Motor Driver (based on Stepper) - Intro blog post -
- DS1307 - I2C - Real-time clock driver - Intro blog post -
- ebyte-e32 - SERIAL - Ebyte E32 LoRa module driver - Intro blog post -
- EEPROM24x - I2C - 24x series serial EEPROM driver - Intro blog post -
- embedded-ccs811 - I2C - Gas and VOC sensor driver for monitoring indoor air quality - Intro blog post -
- embedded-sdmmc - SPI - SD/MMC Card Driver with MS-DOS Partition and FAT16/FAT32 support - Intro post
- ENC28J60 - SPI - Ethernet controller - Intro blog post -
- HC-12 - SERIAL - Wireless serial transceiver module - Intro blog post - github (⭐1) -
- HTS221 - I2C - Humidity and temperature sensor - Intro blog post -
- 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 - Intro post -
- KXCJ9 - I2C - KXCJ9/KXCJB 3-axis accelerometers - Intro blog post -
- L3GD20 - SPI - Gyroscope - Intro blog post -
- LSM303DLHC - I2C - Accelerometer + compass (magnetometer) - Intro blog post -
- MAX6675 - SPI - A driver for the MAX6675 digital thermocouple converter - Intro blog post -
- MAX6955 - I2C - Driver for Alphanumeric LED display driver - Intro blog post -
- MAX116xx-10bit - SPI - Driver for the MAX11619-MAX11621, MAX11624 and MAX11625 10-bit ADCs - Intro blog post -
- MCP25LCXX - SPI - Driver for Microchip's 25LC series of EEPROMs -
- MCP3008 - SPI - 8 channel 10-bit ADC - Intro blog post -
- MCP3425 - I2C - 16-bit ADC - Intro blog post -
- MCP794xx - I2C - Real-time clock / calendar driver - Intro blog post -
- OPT300x (⭐7) - I2C - Ambient light sensor family driver - Intro blog post -
- PAC194X (⭐3) - I2C - Single/multi channel power monitor - Intro blog post -
- port-expander - I2C - Driver for I2C port expanders (supports
PCA95xx,PCF85xx) - Intro blog post -
- pwm-pca9685 - I2C - 16-channel, 12-bit PWM/Servo/LED controller - Intro blog post -
- rainbow-hat-rs - I2C/SPI/GPIO - Pimoroni Rainbow HAT driver for Raspberry Pi - github (⭐3) -
- rotary-encoder-hal - GPIO - A rotary encoder driver using
embedded-hal- Intro blog post -
- sega-controller - GPIO - Sega controller input - github (⭐2) -
- SGP30 - I2C - Gas sensor - Intro blog post -
- SH1106 - I2C - Monochrome OLED display controller - Intro post
- shared-bus (⭐134) - I2C - utility driver for sharing a bus between multiple devices - Intro post
- shift-register-driver - GPIO - Shift register - Intro blog post -
- Si4703 - I2C - FM radio turner (receiver) driver - Intro blog post -
- SRAM23x - SPI - Microchip 23x series serial SRAM/NVSRAM driver - Intro blog post -
- SSD1306 - I2C/SPI - OLED display controller - Intro blog post -
- SSD1309 - I2C/SPI - OLED display controller - Intro blog post -
- STSPIN220 - STSPIN220 Stepper Motor Driver (based on Stepper) - Intro blog post -
- Sx127x - SPI - Long Range Low Power Sub GHz (Gfsk, LoRa) RF Transceiver - Intro blog post -
- Sx128x - SPI - Long range, low power 2.4 GHz (Gfsk, Flrc, LoRa) RF Transceiver - Intro blog post -
- TC72 - SPI - Microchip TC72 temperature sensor -
- TCN75A - I2C - Microchip TCN75A temperature sensor -
- TMP006 - I2C - Contact-less infrared (IR) thermopile temperature sensor driver - Intro post
- TMP1x2 - I2C - TMP102 and TMP112x temperature sensor driver - Intro blog post
- TSIC - GPIO - TSIC 306 temperature sensor driver - Intro blog post
- TSL256X - I2C - Light Intensity Sensor - Intro blog post -
- VEML6030/VEML7700 - I2C - Ambient light sensors - Intro blog post -
- VEML6075 - I2C - UVA and UVB light sensor - Intro blog post -
- usbd-serial - USB CDC-ACM class (serial) implementation - github (⭐126) -
- usbd-hid - USB HID class implementation - github (⭐97) -
- usbd-hid-device - USB HID class implementation without
unsafe- github (⭐13) -
- usbd-human-interface-device (⭐133) - Batteries included embedded USB HID library for
usb-device. Includes concrete Keyboard (boot and NKRO), Mouse and Consumer Control implementations as well as support for building your own HID classes - github (⭐133) -
- usbd-midi - USB MIDI class implementation - github (⭐55) -
- usbd-webusb - USB webUSB class implementation - github (⭐22) -
- SHTCx - I2C - Temperature / humidity sensors - github (⭐15) -
- ST7789 - SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix used in the PineTime watch - github (⭐60) -
- Adafruit-7segment - I2C - Driver for Adafruit 7-segment LED Numeric Backpack based on the ht16k33 chip - github (⭐3) -
- ST7565 - SPI - An embedded-graphics compatible driver for LCD displays based on the ST7565 chip - github (⭐7) -
- tb6612fng - A
no_stddriver for the TB6612FNG motor driver -
- vl53l1x-uld - I2C - A pure-rust driver for the ST VL53L1X -
- i2c-multiplexer - I2C - An I2C Multiplexer library that supports the PCA9546 and TCA9546A chips - github (⭐2) -
- SHT31-rs - I2C - Fully supported SHT temperature / humidity sensors - github (⭐6) -
Driver crates / WIP
- AD9850 - Embedded driver for the AD9850 DDS synthesizer chip -
- APDS9960 - I2C - Proximity, ambient light, RGB, and gesture sensor -
- ad57xx (⭐1) - SPI - Quad and dual channel DAC -
- 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 (⭐30) - 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 -
- 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 -
- 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) -
- HD44780-driver - GPIO - 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 (⭐26) - A driver for rgb led matrices with the hub75 interface -
- hzgrow-r502 - UART capacitive fingerprint reader -
- 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
- 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 (⭐797) - no_std LittleVGL (⭐20k) port -
- M95320 - SPI - STMicroelectronics Serial flash EEPROM -
- MAX17048/9 - I2C - LiPo Fuel gauge, battery monitoring IC -
- MAX170xx (⭐12) - 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) - SPI - Thermocouple digital converter -
- MAX31865 - SPI - RTD to Digital converter -
- MAX44009 - I2C - Ambient light sensor -
- MAX7219 (⭐16) - 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. -
- 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. -
- 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
- 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
- SCD30 - I2C - CO₂ sensor -
- SPL06-007 (⭐1) - I2C - Pressure and temperature sensor -
- spi-memory (⭐25) - 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) - 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
- 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) - A driver for communicating with VESC-compatible electronic speed controllers
- 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 -
no-std crates / WIP
- adskalman: Kalman filter and Rauch-Tung-Striebel smoothing implementation.
- atomic: Generic Atomic wrapper type.
- 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.
bounded-registersprovides 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): Describes a basic text console. Used by menu (⭐57) and implemented by vga-framebuffer (⭐31).
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: Rust FFI bindings to the Arm CMSIS_5 (⭐1.5k) 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.
- dummy-pin: Dummy implementations of the input/output pin traits.
- 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-websocket: A lightweight server and client websocket library for embedded systems.
- ethercrab (⭐315): A Rust implementation of the EtherCAT industrial automation protocol -
- heapless: provides
Vec,String,LinearMap,RingBufferbacked 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) -
- managed: provides
ManagedSlice,ManagedMapbacked by either their std counterparts or fixed-size buffers for#![no_std]. -
- menu (⭐57): 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_std, no-alloc) fast fourier transforms -
- micromath (⭐427): 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 -
- 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 -
- pc-keyboard (⭐111): 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 (⭐48): Unified interface for MMIO and CPU registers. Provides type-safe bitfield manipulation.
register-rsis 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. -
- 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. -
- smbus-pec: Minimal portable System Management Bus Packet Error Code calculation algorithm.
- smoltcp (⭐4.1k): a small TCP/IP stack that runs without
alloc.
- sntpc: Rust SNTP client to get a timestamp from NTP servers. -
- Stepper: Universal Stepper Motor Interface -
- tinybmp: No-std, no-alloc BMP parser for embedded systems. Introductory blog post -
- vga-framebuffer (⭐31): A VGA signal generator and font renderer for VGA-less microcontrollers. Used by Monotron (⭐193) to generate 48 by 36 character display using 3 SPI peripherals and a timer.
- wyhash: A fast, simple and portable hashing algorithm and random number generator. -
- adafruit-bluefruit-protocol: A
no_stdparser for the Adafruit Bluefruit LE Connect controller protocol. -
- light-cli (⭐15): a lightweight heapless cli interface
- Rubble (⭐401): A pure-Rust embedded BLE stack
3. Awesome Micropython
Communications / DNS
- aiodns (⭐16) - A small, versatile DNS client that provides an async version of
getaddrinfoand works with any connectivity.
Code Generation / SRAM
- wasm2mpy (⭐140) - Compile WebAssembly to native MicroPython
.mpyfiles. Allows writing code in various statically compiled languages, and translating them to C for near-native performance.
IDEs / SRAM
- ViperIDE - An innovative MicroPython / CircuitPython IDE for Web and Mobile. No installation required.
4. Awesome Zsh Plugins
Plugins / superconsole - Windows-only
- zapmarks (⭐1) - Provides quick access to your most used command-line bookmarks. It allows you to save, search, and execute complex commands with ease.
5. Awesome Osint
Threat Intelligence / GitHub
- onion-lookup - Free online service and API for checking the existence of Tor hidden services (.onion address) and retrieving their associated metadata. onion-lookup relies on an private AIL instance to obtain the metadata.
6. Awesome Angular
Analytics / Google Developer Experts
- plausible (⭐23k) - Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics. Works without any extra configuration on single page applications.
DOM / Google Developer Experts
- ngx-func-pipe (⭐2) - A simple and lightweight Angular pipe that allows you to call a function directly from your Angular templates.
- ngx-pipes-toolkit (⭐6) - A complementary pipes library for Angular.
General / Google Developer Experts
- tripetto - Tripetto’s FormBuilder SDK contains fully customizable components for equipping apps and websites with a comprehensive form building and deploying solution. Follow this quickstart to use FormBuilder with Angular.
7. Awesome Generative Deep Art
LLM Evaluation / Multi-agents
- LLM Use Case Leaderboard: a leaderboard that features LLM use cases.
- Prev: Oct 14, 2024
- Next: Oct 12, 2024