Skip to content

About

Template generation tool to create no_std applications targeting Espressif's chips.

Topics

Resources

Stars

299 stars

Watchers

11 watching

Forks

Repository files navigation

esp-generate

Crates.io MSRV Crates.io

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/C5/C6/C61, ESP32-H2, and ESP32-S2/S3/S31. Support for additional devices will be added as they become available.

Quickstart

To generate a project using this template:

  1. Install esp-generate:
cargo install esp-generate --locked

You can also directly download pre-compiled release binaries or use cargo-binstall.

  1. Generate a project. There are two options:

    1. Using the Terminal User Interface (TUI):

      esp-generate
      

      You will be prompted for a project name, and the target chip (along with every other option) is selected inside the TUI.

    2. Using the Command Line Interface (CLI), adding the options to the esp-generate command:

      esp-generate -o esp32 -o embassy -o unstable-hal -o alloc -o wifi your-project
      

      Use the --headless flag to avoid using the TUI.

      Replace the chip and project name accordingly. The target chip (e.g. esp32c6) is just one of the available -o/--option values. Use the esp-generate list-options command to see a list of available options (chips included). Use esp-generate explain <option> to get a detailed explanation of an option.

Writing a template

--template <dir-or-repo> generates from a template other than the bundled one, and works with every command below.

esp-generate check --template ./my-template

check renders the template for each of its options in turn and reports every failure along with the -o line that reaches it — including mistakes in branches that any single generation would leave unevaluated. --all-combinations covers every valid combination rather than each option once, and --build also compiles what it generates (cargo check, clippy, fmt). Use it as the CI gate in your template's own repository.

License

Licensed under either of:

at your option.

Contribution

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.

About

Template generation tool to create no_std applications targeting Espressif's chips.

Topics

Resources

Stars

299 stars

Watchers

11 watching

Forks

Releases

Used by

Contributors

Languages