This is a project template to create microcontroller apps with automatized firmware builds for esp32, esp32s2 and esp32s3 microcontroller boards. It uses for that GitHub Actions and platformio. Use this repository as a template for your own esp32 projects.
The release build happens in the build & release
workflow: build_release.yml.
It creates a release, after creation of a new git tag (named it like v1.0.0
).
If you want to test the build on all merge w/o creating a tag then the build
workflow is what you looking for: build.yml
PlatformIO is a tool to create microcontroller apps for arduino platforms and compatibles (esp32). You can install the Visual Studio Code extension in the Visual Studio Code IDE.
There is a tiny python script needed to customize the firmware filenames within platformio, see documentation: https://docs.platformio.org/en/stable/scripting/examples/custom_program_name.html
The extra_script.py script gets the platformio env (e.g. lolin32) and the git-tag for the firmware filename. This is required to publish several firmware names in the github artifacts of a release.
-
Login to github
-
Click on
Use this template
to create a new git repository -
Implement your application in the src/main.cpp
-
Comment your new change in the CHANGELOG.md file
-
Push your changes
git add .
git commit -am "my app"
git push -u origin main
- Create a new tag to trigger a release, e.g. for v1.0.0
git tag v1.0.0
git push origin v1.0.0
- You can find your firmwares under
Releases
after the CI build finished
You can write your changes in the CHANGELOG.md before you create a release. It will be shown under the release page.
see Releases on the right sidemenu.
You can reduce and adapt your required boards in the platformio.ini.
Update the CHANGELOG.md file before you are creating a new release. By creating a new git tag you trigger a new release which generate for you the firmwares.
Buy on AliExpress (affiliate links) ...
-
ESP32
- LILYGO T-Beam with LoRA
- lolin32
- lolin D32 pro
-
ESP32 S2
-
ESP32 S3
-
ESP32 C6 with WiFi 6 and BT-5 LE
- UICPAL nanoESP32-C6 with up to 16MB flash
- ESP32-C6 with 4MB flash and W2812 RGB LED
Contribution and help ... if you find an issue or wants to contribute then please do not hesitate to create a merge request or an issue.
We provide our build template as is, and we make no promises or guarantees about this code.