`esp32` logo

`esp32`

Free

[![crates.io](https://img.shields.io/crates/v/esp32.svg)](https://crates.io/crates/esp32)

FreeFree tier
Type
Open Source
Company
Espressif Systems

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.