`esp32`
Free[](https://crates.io/crates/esp32)
FreeFree tier
About `esp32`
esp32 is a Peripheral Access Crate (PAC) for the ESP32 microcontroller from Espressif, written in Rust. It provides safe, low-level access to the hardware registers of the ESP32, generated from the official SVD (System View Description) file using the svd2rust tool. This crate is part of the esp-rs/esp-pacs repository, which aims to offer Rust support for Espressif chips. It is dual-licensed under Apache 2.0 and MIT, making it suitable for both open source and proprietary projects.
Key Features
Provides low-level register access to all ESP32 peripherals
Generated from official Espressif SVD files using svd2rust
Dual-licensed under Apache 2.0 and MIT
Part of the esp-rs/esp-pacs ecosystem for Rust embedded development
Pros & Cons
Pros
- Leverages svd2rust for precise, auto-generated register definitions
- Dual-license allows flexible use in open source and proprietary projects
- Integrates with the broader rust-embedded ecosystem
Cons
- Low-level crate; requires deep understanding of ESP32 hardware
- Not a complete out-of-the-box solution; intended as a building block for higher-level drivers
- SVD file issues must be reported upstream to espressif/svd
Best For
Building Hardware Abstraction Layers (HALs) for ESP32 in RustDeveloping bare-metal embedded firmware for ESP32Educational exploration of ESP32 hardware registers
FAQ
What is the license for this crate?
The crate is dual-licensed under Apache License, Version 2.0 and the MIT license.
How do I report problems with the SVD file?
Issues with the included SVD file should be reported to the espressif/svd repository so fixes can be applied upstream.
What tool was used to generate this crate?
This crate was generated using svd2rust from the official Espressif SVD file.