Embedded Rust (no_std) on Espressif logo

Embedded Rust (no_std) on Espressif

Free

Training for Rust using no_std (bare metal) approach on ESP32-C3, officially supported by Espressif.

FreeFree tier
Type
Open Source
Company
Espressif Systems

About Embedded Rust (no_std) on Espressif

This official Espressif training book provides a getting-started guide for using Rust with Espressif SoCs and modules using the no_std (bare metal) approach. It covers the basics of embedded development, such as reacting to button presses and lighting LEDs, using the ESP32-C3-DevKit-RUST-1 board (though other supported SoCs can be used with minor changes). The training assumes basic Rust knowledge (Chapters 1-6 of The Rust Book) and references the esp-hal examples for specific peripheral usage. The community supports learners via a Matrix channel. Note: The training is currently being rewritten (out of date).

Key Features

Getting-started guide for Rust on Espressif SoCs with no_std (bare metal) approach
Covers basics of embedded development: button press and LED interaction
Uses ESP32-C3-DevKit-RUST-1 board as primary example (other SoCs supported)
References esp-hal examples for peripheral usage
Community support via Matrix
Recommended prerequisite: Basic Rust knowledge (Chapters 1-6 of The Rust Book)

Pros & Cons

Pros
  • Officially supported by Espressif Systems
  • Free and open source training material
  • Active community on Matrix for questions and issue resolution
  • Links to broader Espressif Rust ecosystem (esp-hal, The Rust on ESP Book)
Cons
  • Training is currently out of date and being rewritten
  • Examples are primarily tailored for ESP32-C3; other SoCs may need code changes
  • Requires basic Rust knowledge to follow effectively

Best For

Learning embedded Rust development on Espressif hardwareBuilding bare metal applications without the Rust standard libraryGetting started with ESP32-C3 and Rust for IoT projects

FAQ

Is this training free?
Yes, the training material is free and open source.
What board is used in the examples?
The examples typically use the ESP32-C3-DevKit-RUST-1 board, but other SoCs supported by no_std can be used with minor configuration changes.
What prior knowledge is needed?
Basic Rust knowledge equivalent to Chapters 1-6 of The Rust Book, including ownership, is recommended.