Awesome ESP Rust
A curated list of resouces for development in the Rust programming language for ESP32, ESP32-C3, ESP32-S2, and ESP32-S3.
Table of Contents
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
- 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.
- Embedded Rust on Espressif - Training for Rust development on ESP32-C3 by Ferrous Systems.
- Scott Mabin - Rust on Espressif chips - Quarterly updates about Rust on Espressif chips.
- Bare-Metal Rust on ESP32: A brief overview - Overview of the
no_std
ecosystem on ESP32 chips.
Tools
- 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
- esp-clock - Clock with environment stats. Wokwi project
- esp32c3-rust-std-temperature-logger - MQTT temperature logger running on ESP32-C3.
- mch2022-rust-app - Example that shows a nice rust screensaver in MCH2022 badge.
- 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.
- wrover-experimental - Display line directions and departure times of public transport vehicles in Brno, CZ.
- twatch-idf-rs - Experimental firmware for the Lilygo T-Watch
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.
License
This list is licensed under
- CC0 1.0 Universal License (LICENSE or https://creativecommons.org/publicdomain/zero/1.0/legalcode)