Skip to content

Latest commit

 

History

2,670 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust on ESP-IDF

Matrix

The Rust crates that build on top of Espressif's ESP-IDF framework, developed together in this repository:

Crate Description CI
esp-idf-sys crates.io Raw Rust bindings for ESP-IDF, plus the cargo-driven build of ESP-IDF itself CI
esp-idf-hal crates.io Safe Rust wrappers for the ESP-IDF drivers, implementing the embedded-hal traits CI
esp-idf-svc crates.io Safe Rust wrappers for the ESP-IDF services, implementing the embedded-svc traits CI

The crates form a single Cargo workspace. Each crate keeps its own README.md and CHANGELOG.md in its directory, while the build configuration (.cargo/config.toml, sdkconfig.defaults, the partition table) and the examples of all crates (in the examples crate) are shared at the repository root. Build and run the examples from the repository root:

MCU=esp32c3 cargo espflash flash --target riscv32imc-esp-espidf --example wifi --monitor

Getting started

Community Effort

Please note that all esp-idf-* crates are a community effort, in that Espressif puts little to no paid developer time in these. So while ESP-IDF itself is very popular and well tested, the esp-idf-* crates:

  • Might be a bit lagging behind the latest stable ESP-IDF version
  • Are (currently) missing HIL tests
  • Need more documentation

For a HAL which is officially supported by Espressif (as in - with paid developer time), please look at esp-hal. Keep in mind that esp-hal is no_std-only, does not use ESP-IDF and requires async programming.

Repository layout and history

This repository continues the former esp-idf-hal repository, whose history is unchanged: for esp-idf-hal files, git log --follow walks past the commit that moved them into the esp-idf-hal/ directory.

The histories of the former esp-idf-sys and esp-idf-svc repositories were merged in with their paths rewritten under esp-idf-sys/ and esp-idf-svc/, so plain git log works for their files all the way back.

Release tags are prefixed with the crate name: esp-idf-sys-v0.38.1, esp-idf-hal-v0.47.0, esp-idf-svc-v0.53.0. The pre-monorepo esp-idf-hal tags keep their unprefixed vX.Y.Z names as well.

License

Licensed under either of

at your option.

About

embedded-hal implementation for Rust on ESP32 and ESP-IDF

Topics

Resources

Stars

761 stars

Watchers

14 watching

Forks

Releases

Packages

Contributors

Languages