Template generation tool to create no_std
applications targeting Espressif's line of SoCs and modules.
At present, this template supports the ESP32, ESP32-C2/C3/C6, ESP32-H2, and ESP32-S2/S3. Support for additional devices will be added as they become available.
Note
This project is still in the early stages of development. If you encounter any problems, or you would like to see any feature added, please open an issue or start a discussion.
To generate a project using this template:
- Install
esp-generate
:
cargo install esp-generate
-
Generate a project. There are two options:
-
Using the Terminal User Interface (TUI):
esp-generate --chip esp32 your-project
Replace the chip and project name accordingly, and select the desired options using the TUI.
-
Using the Command Line Interface (CLI), adding the options to the
esp-generate
command:esp-generate --chip esp32 -o alloc -o wifi your-project
Replace the chip and project name accordingly, and select the desired options using the
-o/--option
flag. For a full list of available options, see Available Options section of this README.
-
unstable-hal
: Enables esp-hal features that may not be ready for general use yet.alloc
: Enables allocations via theesp-alloc
crate.wifi
: Enables Wi-Fi via theesp-wifi
crate; requiresalloc
.ble
: Enables BLE via theesp-wifi
crate; requiresalloc
.embassy
: Addsembassy
framework support.probe-rs
: Replacesespflash
withprobe-rs
and enables RTT-based options.flashing-probe-rs
: Contains options that requireprobe-rs
:defmt
: Adds support fordefmt
printing. Usesrtt-target
as the RTT implementation.panic-rtt-target
: Usespanic-rtt-target
as the panic handler.
flashing-espflash
: Contains options that requireespflash
:log
: Uses thelog
library to print messages.defmt
: Adds support fordefmt
printing. Usesesp-println
and configuresespflash
to decodedefmt
logs.esp-backtrace
: Usesesp-backtrace
as the panic handler.
optional
: Enables the following set of options:wokwi
: Adds support for Wokwi simulation using VS Code Wokwi extension.dev-container
: Adds support for VS Code Dev Containers and GitHub Codespaces.ci
Adds GitHub Actions support with some basics checks.
editors
: Select the editors that will be used with Rust-Analyzer:helix
: The Helix Editorvscode
: Visual Studio Code
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.