I'm trying to learn Rust by programming a few ESP32 boards, currently the ESP32-C3. Here's my repo with some example code and links to various resources. I'm not very good at Rust yet but I'd love to collaborate and learn. I'm trying to get all these peripherals working on the ESP32-C3: Cloud … Answer from shane001100 on users.rust-lang.org
🌐
Rust-DD Blog
rust-dd.com › post › introduction-to-embedded-systems-with-rust-a-beginner-s-guide-using-esp32
Introduction to Embedded Systems with Rust: A Beginner's Guide Using ESP32
This guide introduces developers with basic Rust knowledge to the world of embedded systems, focusing on the ESP32 microcontroller. It covers fundamental hardware and software concepts, including setting up the development environment, executing a "Hello World" program, and flashing an LED, all while using Rust's no_std environment.
🌐
Reddit
reddit.com › r/rust › easiest way to get into embedded with an esp32
r/rust on Reddit: Easiest way to get into embedded with an esp32
January 22, 2024 -

I am a owner of an esp32 for a few days now. I got it up and running with the arduino ide.

Since I love rust I want to programm it via Rust. I have never done anything with embedded systems. Where do I start? What's the best way to get into it?

Is there some way to not install a lot of software before. Just one thing that lets me compile rust to the esp32?

Top answer
1 of 5
18
Diving into this topic is actually my current hobby! Hopefully I'll have a tutorial posted on youtube in the next 6 months or so. I have an AI-Thinker ESP32Cam and my goal is to get the OV camera module on it working similarly to the C++ example in Arduino. As mentioned by others, use https://esp-rs.github.io/book/ . You need to get some crates to start, but after those installs you can just cargo run your code and it automatically finds the ESP32 + flashes it. I'd advise using the std crate rather than the no-std route if you are familiar with using rust at all. Remember that not everything is included in esp_idf_svc and that you may need to add other auxiliary crates like esp_idf_hal to Cargo.toml to be able to do things like blink an LED etc. One problem I ran into was because I used a windows development environment, I ran into the "long file path" error. I'd advise generating your templates in your C:\ drive if you're also on Windows. Start learning w/ the base capabilities of the board; while the examples provided by the authors of the aforementioned book are good, they're a little overwhelming and unclear on some of the reasons they do things. ESP-IDF is a C API, and the esp_idf_svc crate is a large set of bindings that are almost equivalent down to the function signatures and types. If you are curious about how to do something, look up the relevant area on https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/ to get the name of a function or type that looks relevant to some part of the system(gpio, i2c, whatever), then cross-reference the method with https://esp-rs.github.io/esp-idf-svc/esp_idf_svc/ by quite literally copy-pasting the names of the functions and types into the crate search. The fact that ESP-IDF runs a real-time operating system (FreeRTOS) makes core rust functionality very powerful on the ESP32. Let me know if you have any more questions, i've toiled for the past month or so just learning my way through this stuff and I'm a C++ embedded eng by trade, so I'd be happy to share my findings informally. PM me if you want.
2 of 5
9
This looks like a good place to start: https://esp-rs.github.io/book/
🌐
GitHub
github.com › esp-rs › awesome-esp-rust
GitHub - esp-rs/awesome-esp-rust: Curated list of resources for ESP32 development in the Rust programming language · GitHub
esp-rust-spi-lcd-demo - A demonstration project for the ESP32-S3, showcasing a bouncing text animation on an SPI LCD. Embedded Rust Programs - A curated list of Embedded Rust programs for multiple Microcontrollers including the ESP32 WROOM DA Module.
Starred by 1.5K users
Forked by 62 users
🌐
Implrust
esp32.implrust.com
Introduction - impl Rust for ESP32
I also recommend you to read “The Embedded Rust book” - An introductory book about using the Rust on “Bare Metal” embedded systems. We will be using one of the development board “ESP32 DevKit V1”, which comes with built-in Wi-Fi and Bluetooth capabilities, along with an integrated ...
🌐
DEV Community
dev.to › vaishnav_sabari_girish › embedded-rust-on-the-esp32-getting-started-setup-28en
Embedded Rust on the ESP32 : Getting started - Setup - DEV Community
July 28, 2025 - If not install it by following the instruction here · You are familiar with using the Terminal. ... ESP32 doesn't have enough power to run a full OS based program, so we will be using the no_std library for Embedded Programming.
🌐
Lohr Dev
blog.lohr.dev › embedded-rust
Embedded Rust in Production ..? - Michi's Blog - Michael Lohr
October 21, 2024 - Fast forward to 2024: We now used the ESP32 with our custom software written in Rust for over a year in production, with great success. The devices transmit data 24/7 and we have no known bugs (I don't even remember the last bug we had). There is just one problem: Who maintains and further develops this project?
Find elsewhere
🌐
YouTube
youtube.com › watch
ESP32 embedded Rust setup explained - YouTube
This time we're learning about how to setup embedded Rust for an ESP32 using... tools officially supported by Espressif!Subscribe : https://www.youtube.com/@...
Published   September 22, 2025
🌐
The Rust on ESP Book
docs.esp-rs.org › book
The Rust on ESP Book - esp-rs
Leverage Rust's type system and safety features to write robust, error-resistant embedded code. Built with async/await support, enabling efficient handling of concurrent operations without complex callbacks. Supports ESP32, ESP32-C3, ESP32-S2, ESP32-S3, and ESP32-H2, ensuring broad applicability ...
🌐
Billvanleeuwen
blog.billvanleeuwen.ca › crafting-a-hello-world-in-rust-for-the-esp-32-a-step-by-step-guide
Rust 'Hello World' for ESP-32: A Guide - Bill Van Leeuwen's blog
January 5, 2025 - The ESP-32 will automatically run your code on boot, so you wont need to do anything else here. Success! Now you can play around on your own here. I personally just like to set up an infinite loop for fun :) Now that you have a system set up ...
🌐
Espressif Developer
developer.espressif.com › blog › books-simplified-embedded-rust
Simplified Embedded Rust: A Comprehensive Guide to Embedded Rust Development · Developer Portal
June 7, 2024 - Omar Hiari’s “Simplified Embedded Rust” series offers two books, each tailored to different stages of a developer’s Rust and embedded systems journey. The two books, “ESP Core Library Edition” and “ESP Standard Library Edition,” provide comprehensive guidance on using Rust for embedded development on Espressif chips, specifically the ESP32-C3.
🌐
Medium
medium.com › @ninjapiraatti › rust-on-esp32-part-1-simulate-esp32c3-in-vscode-2df81604f1e3
Rust on ESP32, part 1: Simulate ESP32C6 in VSCode | by Tuomas Louekari | Medium
January 30, 2026 - I’m not exactly a seasoned embedded developer, so I’m probably making mistakes along the way. If you see any, please let me know! Also, this entire process and much more is written in The Rust on ESP Book. I found running Rust on any MCUs a little tricky, to say the least, but then I stumbled into esp-generate by Sergio Gasquez. That, together with Wokwi VSCode extension made it incredibly easy to get up and running. Let’s get started! I chose ESP32C6 for this project because I like the philosophy of RISC-V’s open-source ISA, but this should work on any ESPs listed on the esp-generate.
🌐
GitHub
github.com › espressif › rust-esp32-example
GitHub - espressif/rust-esp32-example: Example of Rust integration into an ESP-IDF project, for ESP32 series of chips · GitHub
podman run --device /dev/ttyUSB0 --device /dev/ttyUSB1 -it espressif/idf-rust-examples · Docker (does not support flashing from container): ... Then follow instructions displayed on the screen. ... First ensure that the environment variables for the ESP32 SDK are properly set up.
Starred by 497 users
Forked by 38 users
Languages   Rust 33.5% | C 30.4% | CMake 27.3% | PowerShell 8.8%
🌐
DEV Community
dev.to › cyrilmarpaud › embedded-rust-on-esp32c3-board-a-hands-on-quickstart-guide-28mf
Embedded Rust on ESP32C3 Board, a Hands-on Quickstart Guide - DEV Community
March 8, 2023 - Go to the extensions tab and type "rust analyzer" in the search bar, then click the install button ("Rust language support for Visual Studio Code"). That's it! You can find more information about it on the official website.
🌐
Espressif Systems
espressif.com › en › news › ESP_RUST_training
Ferrous Systems and Espressif’s Rust Training on ESP32 | Espressif Systems
March 31, 2022 - ESP Rust Board to be used along with Ferrous Systems and Espressif’s training material for Rust on ESP32. Rust is currently becoming popular in embedded systems, and the support for ESP32 is being developed by Espressif and the ESP-RS community.
🌐
Jamesmcm
jamesmcm.github.io › blog › beginner-rust-esp32-lcdsnake
Beginner Rust ESP32 development - Snake
November 2, 2024 - I started this project to practice deploying Rust on an ESP32 board and basic peripheral interaction, as a complete beginner with embedded development and electronics.
🌐
Theembeddedrustacean
blog.theembeddedrustacean.com › esp32-standard-library-embedded-rust-gpio-control
ESP32 Standard Library Embedded Rust: GPIO Control
July 13, 2023 - In terms of embedded Rust, the environment governs what libraries we have access to. For example, Rust by default loads the std libraries that provide many of the constructs like String and Hashmap which requires software provided by an OS.
🌐
Reddit
reddit.com › r/rust › rust on the esp32
r/rust on Reddit: Rust on the ESP32
September 10, 2019 - I've laid the compiler ground work, its simply a case of writing the drivers and HAL's for it, much like the ESP32. I believe I've seen some esp8266 esp idf projects using Rust. Of course, because the esp8266 uses xtensa L106 processor, xtensa-lx6-rt won't work. If you are willing, and want some guidence, I can be found with @mabez on the embedded rust matrix channel or the official rust discord.
🌐
GitHub
github.com › esp-rs › std-training
GitHub - esp-rs/std-training: Embedded Rust on Espressif training material. · GitHub
This repository contains Training Material for learning to use Embedded Rust with the Espressif ESP32-C3.
Starred by 744 users
Forked by 90 users
Languages   Rust 91.3% | Dockerfile 5.9% | Shell 2.8%
🌐
Kerkour
kerkour.com › rust-on-esp32
Rust on ESP32
April 3, 2025 - I recently got my hands on an ESP32 microcontroller for hacking purpose and successfully ran Rust code on it 🦀 Installing the tools First, you need to download and install the prebuilt binaries of the Rust and LLVM compiler forks by Espressif or follow yesterday's guide about how to compile