Skip to content
@esp-rs

esp-rs

Libraries, crates and examples for using Rust on Espressif SoC's

Rust on Espressif microcontrollers

This organization is home to several projects enabling the use of the Rust programming language on various SoCs and modules produced by Espressif Systems.

If you are just getting started writing Rust for ESP devices, please first read The Rust on ESP book.

For a curated list of resources for development including tools and projects, see Awesome ESP Rust.

Hardware Abstraction Layer

We offer two choices for Hardware Abstraction Layers:

Repository Description Support status
esp-rs/esp-hal Without support for the Rust standard library (no_std) Support status
esp-rs/esp-idf-hal With support for the Rust standard library (std) Support status

Build Tools

This organization contains a fork of the Rust compiler with added support for the Xtensa ISA. Pre-built binaries for said compiler fork are additionally provided for most common operating systems and architectures.

Repository Description
esp-rs/rust Rust compiler fork with Xtensa support
esp-rs/rust-build Pre-built binaries of the Rust compiler fork, plus installation scripts

Pinned Loading

  1. rust rust Public

    Forked from rust-lang/rust

    Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266

    Rust 759 38

  2. espflash espflash Public

    Serial flasher utility for Espressif SoCs and modules based on esptool.py

    Rust 534 132

  3. esp-hal esp-hal Public

    no_std Hardware Abstraction Layers for ESP32 microcontrollers

    Rust 1k 264

  4. esp-generate esp-generate Public

    Template generation tool to create no_std applications targeting Espressif's chips.

    Rust 62 13

Repositories

Showing 10 of 55 repositories
  • book Public

    The Rust on ESP Book

    esp-rs/book’s past year of commit activity
    JavaScript 205 Apache-2.0 59 12 3 Updated Mar 10, 2025
  • esp-hal Public

    no_std Hardware Abstraction Layers for ESP32 microcontrollers

    esp-rs/esp-hal’s past year of commit activity
    Rust 1,032 Apache-2.0 264 221 (7 issues need help) 19 Updated Mar 10, 2025
  • esp-rs/repo-activity-digest’s past year of commit activity
    Python 1 Apache-2.0 1 0 0 Updated Mar 10, 2025
  • esp-generate Public

    Template generation tool to create no_std applications targeting Espressif's chips.

    esp-rs/esp-generate’s past year of commit activity
    Rust 62 Apache-2.0 13 5 1 Updated Mar 7, 2025
  • no_std-training Public

    Getting-started guide on using the Rust with Espressif SoCs using no_std.

    esp-rs/no_std-training’s past year of commit activity
    Rust 80 Apache-2.0 19 4 0 Updated Mar 7, 2025
  • esp-idf-template Public

    A "Hello, world!" template of a Rust binary crate for the ESP-IDF framework.

    esp-rs/esp-idf-template’s past year of commit activity
    CMake 484 Apache-2.0 56 16 6 Updated Mar 6, 2025
  • espflash Public

    Serial flasher utility for Espressif SoCs and modules based on esptool.py

    esp-rs/espflash’s past year of commit activity
    Rust 534 Apache-2.0 132 40 (2 issues need help) 4 Updated Mar 6, 2025
  • esp-idf-sys Public

    Bindings for ESP-IDF (Espressif's IoT Development Framework)

    esp-rs/esp-idf-sys’s past year of commit activity
    Rust 305 Apache-2.0 134 30 4 Updated Mar 6, 2025
  • espup Public

    Tool for installing and maintaining Espressif Rust ecosystem.

    esp-rs/espup’s past year of commit activity
    Rust 254 Apache-2.0 26 19 3 Updated Mar 4, 2025
  • xtensa-toolchain Public

    A GitHub Action to install the Rust compiler fork targeting Xtensa devices

    esp-rs/xtensa-toolchain’s past year of commit activity
    11 Apache-2.0 9 0 0 Updated Mar 4, 2025