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 proect 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.
-
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
: Enablesdefmt
and flashes usingprobe-rs
instead ofespflash
.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.