Skip to content

ESP32 project template with build pipeline, enhanced VS Code support and more.

License

Notifications You must be signed in to change notification settings

gfurtadoalmeida/esp32-project-template

Repository files navigation

ESP32 - Project Template

GitHub Release Status Bugs Code Smells Security Rating Quality Gate Status

ESP32 project template with build pipeline, enhanced VS Code support and more.

Characteristics

  • ESP-IDF: v5.3
  • GitHub Workflows: 🚀
    • Development: Sonar Cloud integration when building the component.
    • Release: packages the component and generates release notes.
  • Testing: 🧪
  • Helper macros with TAG added for:
    • Logging.
    • Assertions.
  • Configuration: sample Kconfig file for component configuration through menuconfig.
  • Newlib nano formatting enabled for printf/scanf:
    • Binary size reduction (25KB~50KB) as they are already in ESP32 ROM.
    • Stack usage reduction for functions that call string formatting functions.
    • Increased performance as functions in ROM run faster than functions from flash.
    • Functions in ROM can run when flash instruction cache is disabled.

Usage

  1. Clone the repository (or download the latest release):

    git clone "https://github.com/gfurtadoalmeida/esp32-project-template.git" --depth=1 --branch=master
    rm -rf esp32-project-template/.git
  2. Rename the project:

    .\Rename-Project.ps1 "C:\projects\github\awesome_component_folder" awesome_component_name
  3. Delete the script:
    Delete the Rename-Project.ps1 script as it has no more use.

Documentation

Everything is at the docs folder.

Contributing

To contribute to this project make sure to read our CONTRIBUTING.md file.