Introduction

Content of this material

The goal of this book is to provide a getting-started guide on using the Rust programming language with Espressif SoCs and modules using no_std (bare metal) approach. To better understand this approach, see Developing on Bare Metal (no_std) chapter of The Rust on ESP Book.

The introductory trail will introduce you to the basics of embedded development and how to make the embedded board interact with the outside world by reacting to a button press, and lighting an LED.

Note that there are several examples covering the use of specific peripherals under the examples folder of esp-hal. See esp-hal/examples

If you would like to learn about std development, see Using the Standard Library (std) chapter of The Rust on ESP Book and, Embedded Rust on Espressif training.

You can join the esp-rs community on Matrix for all technical questions and issues! The community is open to everyone.

The board

Examples shown here usually apply to ESP32-C3 using the ESP32-C3-DevKit-RUST-1 board.

You can use any SoC supported by no_std but smaller code and configuration changes might be needed.

Rust knowledge

  • Basic Rust like The Rust Book Chapters 1 - 6, Chapter 4 Ownership, does not need to be fully understood.
  • The Rust on ESP Book is not required, but it is highly recommended, as it can help you understand the Rust on ESP ecosystem and many of the concepts that will be discussed during the training.