This is a project template focus on ESP32 T-Display-S2 and ESP32 T-Display-S3 (AMOLED, long) microcontroller boards. It is based on the ESP32-ghbuild-template project template which supports a lot more boards. Please have a look there as well.
The following tools are in use for an automatic build GitHub Actions and platformio.
- ESP32 S2 T-Display
- ESP32 S3 with dual-core processor
- LilyGo T-Display S3 (aliexpress affiliate link)
- LilyGo T-Display-S3 AMOLED (aliexpress affiliate link)
- LilyGo T-Display-S3 Touch (aliexpress affiliate link)
- LilyGo T-Display S3 Long (aliexpress affiliate link)
-
Login to github
-
Click on
Use this templateto create a new git repository -
Replace the whole content of this README.md file
-
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.0git push origin v1.0.0- You can find your firmwares under
Releasesafter the CI build finished
Variant A - Online and no need to install an app
- download a
.binfirmware file from releases then flash with: https://mcuw.github.io/ESPConnect/
Variant B - Visual Studio Code
- Select a board in Visual Studio Code
- Flash your board
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.
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
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.
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.
Use this repository as a template for your own esp32 repository. You can reduce and adapt your required boards in the platformio.ini. Update the CHANGELOG.md file before you are creating a new release. When you create a new git tag then a new release will always includes generated firmwares.
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.



