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, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S2, and ESP32-S3. Additional devices will be added as they become available.
Warning
This project is still in the early stages of development. If you encounter any issue or you would like to see any feature added. Please, open an issue.
To generate a proect using this template:
- Install
esp-generate
:
cargo install esp-generate --git https://github.com/esp-rs/esp-generate.git
-
Generate a project. There are two options:
-
Using TUI:
esp-generate --chip esp32 tests
Replace the chip and project name accordingly and choose the different options using the TUI.
-
Adding the options to the
esp-generate
command:esp-generate --chip esp32 -o wifi -o alloc tests
Replace the chip and project name accordingly and choose the different options using the
-o/--option
flag. For a full list of available options, see Usage section.
-
Usage: esp-generate [OPTIONS] --chip <CHIP> <NAME>
Arguments:
<NAME>
Options:
-c, --chip <CHIP> [possible values: esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2]
--headless
-o, --option <OPTION>
-h, --help Print help
-V, --version Print version
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.
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.