Awesome ESP Rust
A curated list of resouces for development in the Rust programming language for ESP32, ESP32-C2/C3/C6, and ESP32-S2/S3.
Table of Contents
- Community
- Books, Blogs, and Training Materials
- Video Courses
- Tools
- Templates
- Open Hardware
- Projects
- License
Community
You can usually find community members (including some employees of Espressif) in the #esp-rs:matrix.org
Matrix room.
Books, Blogs, and Training Materials
- [EN] 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.
- [EN] Embedded Rust on Espressif - Training for Rust development on ESP32-C3 by Ferrous Systems.
- [EN] Scott Mabin - Rust on Espressif chips - Quarterly updates about Rust on Espressif chips.
- [EN] Bare-Metal Rust on ESP32: A brief overview - Overview of the
no_std
ecosystem on ESP32 chips. - [EN] Making a Dino Light with the ESP32 and WS2812
- [EN] ESP32 with Embedded Rust at the HAL - Blog series about learning Rust at the HAL level with the ESP32-C3.
- [JP] ๅ็ซๆฏๅญใญใใใใ็พไปฃๅถๅพกใงๅใใใใ (I want to run an inverted pendulum robot with modern control)
- (1) ใขใใซๅ (Modelling)
- (2) ็ด็ซๅถๅพก (Upright Control)
- (3) ้ ้ๆ็ธฆ (Remote Control)
- [JP] ESP32 ใง std ใช Rust ้็บๅ
ฅ้
- ใใฎ 1 ็ฐๅขๆง็ฏ (Part 1: Building the environment)
- ใใฎ 2 L ใใซ (Part 2: Blink an LED)
Video Courses
Tools
- espup - Tool for installing and maintaining the required toolchains for developing applications in Rust for Espressif SoC's.
- espflash - Serial flasher utility for Espressif SoCs and modules based on esptool.
- esp-web-flash-server - WebSocket server for flashing from Visual Studio Code Remote Containers using a web browser.
- wokwi-server - WebSocket server for running simulations in Wokwi from Visual Studio Code Remote Containers using a web browser.
- Wokwi Simulator - Web browser simulator that supports Rust language on ESP32 chips.
Templates
- esp-idf-template - A cargo-generate template for projects using the Rust
std
library (via ESP-IDF). - esp-template - A cargo-generate template for bare metal projects (ie.
no_std
).
Open Hardware
- esp-rust-board - A development board based on the ESP32-C3 and designed in KiCad EDA which is compatible with the Adafruit Feather specification.
Projects
std
- anemometer - Rust based anemometer incl. OTA and GPS based calibration process.
- bluedroid - Safe wrapper for the Bluedroid Bluetooth stack.
- esp-clock - Clock with environment stats. Wokwi project
- esp32c3-rust-std-temperature-logger - MQTT temperature logger running on ESP32-C3.
- gateway-rs - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet(like frp but running on ESP32).
- mch2022-rust-app - Example that shows a nice rust screensaver in MCH2022 badge.
- OFMon - Offline-first smart energy monitor using littlefs, Rust, ESP32, and Thingsboard. See details.
- rust-esp32-std-demo - A demo
std
binary crate for the ESP32[XX] and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen. - rust4mch - Example to run Rust code on the MCH2022 badge.
- rustzx-esp32 - ZX Spectrum emulator based on RustZX project.
- self-balancing robot - Self-balancing robot using Atom Matrix and Atom Motion. See details.
- twatch-idf-rs - Experimental firmware for the Lilygo T-Watch
- wrover-experimental - Display line directions and departure times of public transport vehicles in Brno, CZ.
no_std
- esp32-rust-nostd-temperature-logger - MQTT temperature logger running on ESP32.
- esp32-spooky-maze-game - Bare metal Rust implementation of simple game for ESP32.
- ps2keyboard-esp32c3 - PS/2 keyboard implementation for ESP32-C3.
- esp32c3-ota-experiment - ESP32-C3 Bare Metal OTA Experiment.
- SlimeVR-Rust/firmware - Async & no_std rust firmware for SlimeVR Full Body Tracking.
- esp32s3-box-examples - Various graphic examples for ESP32-S3 Box.
- nostd-wifi-lamp - A Wi-Fi Lamp built with an ESP32 and Neopixel Lights controllable via Wi-Fi
- plantineers-edge - Firmware for edge devices for an Open Source Plant Monitoring solution using esp-now
License
This list is licensed under
- CC0 1.0 Universal License (LICENSE or https://creativecommons.org/publicdomain/zero/1.0/legalcode)