| Crates.io | esp-generate |
| lib.rs | esp-generate |
| version | 0.5.0 |
| created_at | 2024-11-07 13:20:31.054543+00 |
| updated_at | 2025-07-16 12:27:14.375718+00 |
| description | Template generation tool to create no_std applications targeting Espressif's chips |
| homepage | |
| repository | https://github.com/esp-rs/esp-generate |
| max_upload_size | |
| id | 1439763 |
| size | 200,387 |
esp-generateTemplate 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.
To generate a project using this template:
esp-generate:cargo install esp-generate --locked
You can also directly download pre-compiled release binaries or use cargo-binstall.
Generate a project. There are two options:
Using the Terminal User Interface (TUI):
esp-generate
You will be prompted to select a target chip and name for your project, after which you would use TUI to select the other options you need for your project.
Using the Command Line Interface (CLI), adding the options to the esp-generate command:
esp-generate --chip esp32 -o alloc -o wifi your-project
Use the --headless flag to avoid using the TUI.
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 the esp-alloc crate.wifi: Enables Wi-Fi via the esp-wifi crate; requires alloc.ble: Enables BLE via the esp-wifi crate; requires alloc.embassy: Adds embassy framework support.stack-smashing-protection: Enables stack smashing protection. Requires nightly Rust.probe-rs: Replaces espflash with probe-rs and enables RTT-based options.flashing-probe-rs: Contains options that require probe-rs:
defmt: Adds support for defmt printing. Uses rtt-target as the RTT implementation.panic-rtt-target: Uses panic-rtt-target as the panic handler.embedded-test: Enables embedded-test support and generates a simple demo test case.flashing-espflash: Contains options that require espflash:
log: Uses the log library to print messages.defmt: Adds support for defmt printing. Uses esp-println and configures espflash to decode defmt logs.esp-backtrace: Uses esp-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 editor integrations:
helix: The Helix Editorvscode: Visual Studio CodeLicensed under either of:
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.