Code Monkey home page Code Monkey logo

esp32-ghbuild-template's Introduction

ESP32 project template

Description

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.

Requirements

GitHub Actions - Workflow

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

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.

Python

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.

Get Started

  1. Login to github

  2. Click on Use this template to create a new git repository

  3. Implement your application in the src/main.cpp

  4. Comment your new change in the CHANGELOG.md file

  5. Push your changes

git add .
git commit -am "my app"
git push -u origin main
  1. 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
  1. You can find your firmwares under Releases after the CI build finished

CHANGELOG

You can write your changes in the CHANGELOG.md before you create a release. It will be shown under the release page.

Example Release

see Releases on the right sidemenu.

Customize your project

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.

Supported boards

Disclaimer

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.

esp32-ghbuild-template's People

Contributors

mcuw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

chouaib

esp32-ghbuild-template's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.