/esp-idf_blink_example

Primary LanguageCApache License 2.0Apache-2.0

ESP-IDF Project Template with CI

This is a template project to be used as a reference for ESP-IDF projects with GitHub CI.

GitHub Workflow Status

About

Template project for ESP-IDF with GitHub CI

Important Files in this Project

CI Files

The CI files describe the workflow to be executed on GitHub Actions.

  • workflows/build_workflow.yml
  • workflows/ci.yml

Project Files

Those files define specific SDK configurations depending on the selected target or general configuration for all the targets.

Common for all the targets:

  • sdkconfig.defaults

Target specific:

  • sdkconfig.defaults.esp32
  • sdkconfig.defaults.esp32c3
  • sdkconfig.defaults.esp32s2
  • sdkconfig.defaults.esp32s3

The idf_component.yml file adds the components from ESP Registry.

  • main/idf_component.yml

The Kconfig.projbuild define the menuconfig entries.

  • main/Kconfig.projbuild

To edit the configuration by using the graphical menu, you can use idf.py menuconfig command.

Get ESP-IDF

Get the ESP-IDF and install it.

See the ESP-IDF Getting Started Guide.

Build the Project

Go to the project directory and build.

Set the IDF_TARGET (For ESP32-S3 target, IDF version release/v5.0 is needed)

idf.py set-target esp32s3

To build this, run:

idf.py build

Load and Run

To flash (replace /dev/ttyUSB0 with the device serial port):

idf.py --port /dev/ttyUSB0 flash

Monitor the serial output:

idf.py --port /dev/ttyUSB0 monitor

Use Ctrl+] to exit.

The previous two commands can be combined:

idf.py --port /dev/ttyUSB0 flash monitor

Creating a New Project from Scratch

To create a new blank project, you can use idf.py to generate all the necessary files.

idf.py create-project <my_project_name>

License

This project template is covered under Apache License Version 2.0.