A minimalist template for use with cargo-generate to create no_std
applications targeting Espressif's line of SoCs and modules. At present, this template supports the ESP32, ESP32-C2, ESP32-C3,ESP32-C6, ESP32-H2, ESP32-S2, and ESP32-S3; additional devices will be added as they become available.
To generate a project using this template:
cargo generate esp-rs/esp-template
After running the command, there will be a few prompts:
-
Project Name
: Name of the crate. -
Which MCU to target?
: SoC model. -
Configure advanced template options?
: Iffalse
, skips the rest of the prompts and uses their default value. Iftrue
, you will be prompted with:Enable allocations via the esp-alloc crate?
: Addsesp-alloc
dependency, and initializes the heap.Configure project to support Wokwi simulation with Wokwi VS Code extension?
: Adds support for Wokwi simulation using VS Code Wokwi extension.Setup logging using the log crate?
: Addslog
dependency and initializes logging.Configure project to use Dev Containers (VS Code and GitHub Codespaces)?
: Adds support for:
Dev Containers also allow flashing from the container using web flash and have the VS Code Wokwi extension already installed.
For a more detailed explanation of the template, see Understanding esp-template chapter of The Rust on ESP Book. If you're seeking a beginner's guide for utilizing no_std
(bare metal), consult the Embedded Rust (no_std) on Espressif training.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.