{"id":17458533,"url":"https://github.com/esp-rs/esp-generate","last_synced_at":"2025-04-19T17:23:52.573Z","repository":{"id":258192471,"uuid":"850109535","full_name":"esp-rs/esp-generate","owner":"esp-rs","description":"Template generation tool to create no_std applications targeting Espressif's chips.","archived":false,"fork":false,"pushed_at":"2025-04-17T10:29:51.000Z","size":277,"stargazers_count":79,"open_issues_count":5,"forks_count":15,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-18T01:12:40.551Z","etag":null,"topics":["embedded","esp32","espressif","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esp-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T22:43:42.000Z","updated_at":"2025-04-17T10:29:54.000Z","dependencies_parsed_at":"2024-11-11T09:20:47.208Z","dependency_job_id":"a7d1f916-5604-4bec-b9e1-156a929a976d","html_url":"https://github.com/esp-rs/esp-generate","commit_stats":{"total_commits":27,"total_committers":4,"mean_commits":6.75,"dds":"0.37037037037037035","last_synced_commit":"1d377a9ab98e9da7f3440a1e3b28a66f3dd0bb16"},"previous_names":["esp-rs/esp-generate"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-generate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-generate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-generate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-generate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esp-rs","download_url":"https://codeload.github.com/esp-rs/esp-generate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249500591,"owners_count":21282429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","esp32","espressif","rust"],"created_at":"2024-10-18T04:05:45.939Z","updated_at":"2025-04-19T17:23:52.567Z","avatar_url":"https://github.com/esp-rs.png","language":"Rust","funding_links":[],"categories":["Templates"],"sub_categories":[],"readme":"# `esp-generate`\n\nTemplate generation tool to create `no_std` applications targeting Espressif's line of SoCs and modules.\n\nAt 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.\n\n## Quickstart\n\nTo generate a project using this template:\n\n1. Install `esp-generate`:\n\n```\ncargo install esp-generate --locked\n```\n\nYou can also directly download pre-compiled [release binaries] or use [`cargo-binstall`].\n\n2. Generate a project. There are two options:\n\n   1. Using the Terminal User Interface (TUI):\n\n      ```\n      esp-generate --chip esp32 your-project\n      ```\n\n      Replace the chip and project name accordingly, and select the desired options using the TUI.\n\n   2. Using the Command Line Interface (CLI), adding the options to the `esp-generate` command:\n\n      ```\n      esp-generate --chip esp32 -o alloc -o wifi your-project\n      ```\n      Use the `--headless` flag to avoid using the TUI.\n\n      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](#available-options) section of this README.\n\n[release binaries]: https://github.com/esp-rs/esp-generate/releases\n[`cargo-binstall`]: https://github.com/cargo-bins/cargo-binstall\n\n## Available Options\n\n- `unstable-hal`: Enables esp-hal features that may not be ready for general use yet.\n- `alloc`: Enables allocations via the `esp-alloc` crate.\n- `wifi`: Enables Wi-Fi via the `esp-wifi` crate; requires `alloc`.\n- `ble`: Enables BLE via the `esp-wifi` crate; requires `alloc`.\n- `embassy`: Adds `embassy` framework support.\n- `stack-smashing-protection`: Enables [stack smashing protection](https://doc.rust-lang.org/rustc/exploit-mitigations.html#stack-smashing-protection). Requires nightly Rust.\n- `probe-rs`: Replaces `espflash` with `probe-rs` and enables RTT-based options.\n- `flashing-probe-rs`: Contains options that require `probe-rs`:\n  - `defmt`: Adds support for `defmt` printing. Uses `rtt-target` as the RTT implementation.\n  - `panic-rtt-target`: Uses `panic-rtt-target` as the panic handler.\n  - `embedded-test`: Enables `embedded-test` support and generates a simple demo test case.\n- `flashing-espflash`: Contains options that require `espflash`:\n  - `log`: Uses the `log` library to print messages.\n  - `defmt`: Adds support for `defmt` printing. Uses `esp-println` and configures `espflash` to decode `defmt` logs.\n  - `esp-backtrace`: Uses `esp-backtrace` as the panic handler.\n- `optional`: Enables the following set of options:\n  - `wokwi`: Adds support for Wokwi simulation using [VS Code Wokwi extension].\n  - `dev-container`: Adds support for [VS Code Dev Containers] and [GitHub Codespaces].\n  - `ci` Adds GitHub Actions support with some basics checks.\n- `editors`: Select the editor integrations:\n   - `helix`: The Helix Editor\n   - `vscode`: Visual Studio Code\n\n[VS Code Wokwi extension]: https://marketplace.visualstudio.com/items?itemName=wokwi.wokwi-vscode\n[VS Code Dev Containers]: https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container\n[GitHub Codespaces]: https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace\n\n## License\n\nLicensed under either of:\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in\nthe work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without\nany additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fesp-generate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesp-rs%2Fesp-generate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fesp-generate/lists"}