{"id":14963284,"url":"https://github.com/mcuw/esp32-ghbuild-template","last_synced_at":"2026-02-09T02:00:52.564Z","repository":{"id":142412898,"uuid":"613261284","full_name":"mcuw/ESP32-ghbuild-template","owner":"mcuw","description":"Project template to build esp32, esp32c6, esp32s2 and esp32s3 firmware in the cloud with github-actions","archived":false,"fork":false,"pushed_at":"2026-01-24T11:24:47.000Z","size":202,"stargazers_count":17,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-24T18:23:18.296Z","etag":null,"topics":["arduino","esp32","esp32-c6","esp32-s3-box","esp32-s3-geek","esp32s2","esp32s3","gh-actions","lilygo","lilygo-tcameraplus-s3","lilygo-tdisplay-s3-long","platformio","t-cameraplus-s3","t-display-s3","t-display-s3-long","t-qt-c6","t-watch","t-watch-s3","tdisplay","wt32-sc01-plus"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcuw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["mcuw","vanvuongngo"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-03-13T08:21:42.000Z","updated_at":"2026-01-24T11:24:50.000Z","dependencies_parsed_at":"2024-09-13T07:08:27.684Z","dependency_job_id":"a0333ca0-0f42-4ad4-b995-ee48f41bbee4","html_url":"https://github.com/mcuw/ESP32-ghbuild-template","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"5cc6d9bc166a5f50d3837e33a9744122564845f9"},"previous_names":[],"tags_count":10,"template":true,"template_full_name":null,"purl":"pkg:github/mcuw/ESP32-ghbuild-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuw%2FESP32-ghbuild-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuw%2FESP32-ghbuild-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuw%2FESP32-ghbuild-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuw%2FESP32-ghbuild-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcuw","download_url":"https://codeload.github.com/mcuw/ESP32-ghbuild-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuw%2FESP32-ghbuild-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29254302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T01:52:29.835Z","status":"online","status_checked_at":"2026-02-09T02:00:09.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["arduino","esp32","esp32-c6","esp32-s3-box","esp32-s3-geek","esp32s2","esp32s3","gh-actions","lilygo","lilygo-tcameraplus-s3","lilygo-tdisplay-s3-long","platformio","t-cameraplus-s3","t-display-s3","t-display-s3-long","t-qt-c6","t-watch","t-watch-s3","tdisplay","wt32-sc01-plus"],"created_at":"2024-09-24T13:31:18.107Z","updated_at":"2026-02-09T02:00:52.527Z","avatar_url":"https://github.com/mcuw.png","language":"Python","funding_links":["https://github.com/sponsors/mcuw","https://github.com/sponsors/vanvuongngo"],"categories":[],"sub_categories":[],"readme":"# ESP32 project template\n\n## Description\n\nThis is a project template to create microcontroller apps with automatized firmware builds for [ESP32](https://www.espressif.com/en/products/socs/esp32), [ESP32-S2](https://www.espressif.com/en/products/socs/esp32-s2), [ESP32-S3](https://www.espressif.com/en/products/socs/esp32-s3), [ESP32-C6](https://www.espressif.com/en/products/socs/esp32-c6), [ESP32-H2](https://www.espressif.com/en/products/socs/esp32-h2) and [ESP32-P4](https://www.espressif.com/en/products/socs/esp32-p4) microcontroller boards. It uses for that [GitHub Actions](https://github.com/features/actions) and [platformio](https://platformio.org/). Use this repository as a template for your own esp32 projects.\n\n## Features \n\n- Uses Platformio\n- Supports multiple firmwares builds with github actions\n- Example code\n\n## Prerequisites\n\n- [VSCode](https://code.visualstudio.com/) IDE\n\n- [pioarduino IDE](#Pioarduino) for [VSCode](https://code.visualstudio.com/) IDE\n\n## Get Started\n\n\u003cimg src=\"https://github.com/mcuw/ESP32-ghbuild-template/blob/main/doc/create-new-project-with-template.png\" /\u003e\n\n1. Login to github\n\n2. Click on `Use this template` to create a new git repository\n3. Replace the whole content of this [README.md](README.md) file\n4. Implement your application in the [src/main.cpp](src/main.cpp)\n5. Comment your new change in the [CHANGELOG.md](CHANGELOG.md) file\n6. Push your changes\n\n```sh\ngit add .\n```\n\n```sh\ngit commit -am \"my app\"\n```\n\n```sh\ngit push -u origin main\n```\n\n5. Create a new tag to trigger a release, e.g. for v1.0.0\n\n```sh\ngit tag v1.0.0\n```\n\n```sh\ngit push origin v1.0.0\n```\n\n6. You can find your firmwares under `Releases` after the CI build finished\n\n## How to flash your microcontroller\n\nVariant A - Online and no need to install an app\n- download a `.bin` firmware file from releases then flash with:\nhttps://mcuw.github.io/ESPConnect/\n\nVariant B - Visual Studio Code\n1. Select a board in Visual Studio Code\n\n\u003cimg src=\"https://github.com/mcuw/ESP32-ghbuild-template/blob/main/doc/choose-board-in-vsc.png\" /\u003e\n\n2. Flash your board\n\n\u003cimg src=\"https://github.com/mcuw/ESP32-ghbuild-template/blob/main/doc/flash-with-vsc.png\" /\u003e\n\n\n## Contribution\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute issues, fixes, and patches to this project.\n\n## GitHub Actions - Workflow\n\nThe release build happens in the `build \u0026 release` workflow: [build_release.yml](.github/workflows/build_release.yml).\nIt creates a release, after creation of a new git tag (named it like `v1.0.0`).\n\nIf 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](.github/workflows/build.yml)\n\n## Pioarduino\n\nThe pioarduino platform supports latest boards like [ESP32-C6](https://www.espressif.com/en/products/socs/esp32-c6), [ESP32-H2](https://www.espressif.com/en/products/socs/esp32-h2) and [ESP32-P4](https://www.espressif.com/en/products/socs/esp32-p4) and others. There is a [pioarduino IDE](https://marketplace.visualstudio.com/items?itemName=pioarduino.pioarduino-ide) extension which replaces the [PlatformIO IDE](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide) extension for VSCode.\n\n## PlatformIO\n\n[PlatformIO](https://platformio.org/) is a tool to create microcontroller apps for arduino platforms and compatibles (esp32). You can install the [Visual Studio Code extension](https://platformio.org/install/ide?install=vscode) in the [Visual Studio Code](https://code.visualstudio.com/) IDE.\n\n## Python extra_script.py\n\nThere 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\n\nThe [extra_script.py](extra_script.py) script gets the platformio env (e.g. lolin32) and the git-tag for the firmware filename.\nThis is required to publish several firmware names in the github artifacts of a release.\n\n## CHANGELOG\n\nYou can write your changes in the [CHANGELOG.md](CHANGELOG.md) before you create a release. It will be shown under the release page.\n\n## Example Release\n\nsee [Releases](https://github.com/mcuw/esp-ghbuild-template/releases) on the right sidemenu.\n\n## Customize your project\n\nYou can reduce and adapt your required boards in the [platformio.ini](platformio.ini).\n\nUpdate the [CHANGELOG.md](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.\n\n## Supported boards\n\nIf you want to support this project, you can use these affiliate links ...\n\n- ESP32\n  - [LilyGo T-Beam (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DBzslDV) with LoRA\n  - lolin32\n  - lolin D32 pro\n- ESP32 S2\n- ESP32 S3 with dual-core processor\n  - [LilyGo T-Display S3 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DBmOMkn)\n  - [LilyGo T-Display-S3 AMOLED (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DmboYpZ)\n  - [LilyGo T-Display-S3 Touch (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DCBgPlV)\n  - [LilyGo T-Display S3 Long (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_Dl6UVMx)\n  - [LilyGo T-Watch S3 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DEZVvH1)\n  - [LilyGo T-CameraPlus ESP32-S3 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DkytBeT)\n  - [LilyGo T-RGB (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_Dem6i0b)\n  - [LilyGo T-Deck (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DBPnZmL)\n  - [LilyGo T-Deck Plus (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DDeskaP)\n  - [Waveshare ESP32-S3 GEEK (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_c35mBhkF)\n  - [Waveshare ESP32-S3 AMOLED 2.06 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_c34ka7n1) with 16 MB flash, AMOLED touch display, Wi-Fi 5, BT 5 LE, accelerometer, gyroscope\n\n- ESP32 C6 with WiFi 6 and BT-5 LE\n  - [NanoESP32-C6 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_ooBtUih) with 16MB flash\n  - [ESP32-C6 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_DeLjVMb) with 4MB flash and W2812 RGB LED\n  - [LILYGO T-QT C6 (Aliexpress affiliate link)](https://github.com/mcuw/esp32-t-qt-c6-sdk) with 4 MB flash, touch display, 6-Axis Sensor\n  - [Waveshare ESP32-C6 AMOLED 2.06 (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_c34ka7n1) with 16 MB flash, AMOLED touch display, Wi-Fi 6, BT 5 LE, accelerometer, gyroscope\n\n- ESP32 P4 with dual-core processor up to 400 MHz\n  - [10.1\" ESP32-P4 LCD Display Development Board (Aliexpress affiliate link)](https://s.click.aliexpress.com/e/_c2vAKbXD) with 1280x800 Capacitive Touch Screen, Wi-Fi 6, battery and speaker\n\n\n## Disclaimer\n\nContribution and help - if you find an issue or wants to contribute then please do not hesitate to create a pull request or an issue.\n\nWe provide our build template as is, and we make no promises or guarantees about this code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcuw%2Fesp32-ghbuild-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcuw%2Fesp32-ghbuild-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcuw%2Fesp32-ghbuild-template/lists"}