This repository contains the ESP32 part of the firmware for the TROOPERS badges starting with TROOPERS25.
This project uses the ESP-IDF SDK (v5.4). You can either install this SDK manually following the instructions on the Espressif website or you can automatically install the SDK by running make prepare in a git clone of this repository.
Downloading this repository as a ZIP file on Github results in an incomplete archive missing all submodules. Be sure to clone using git!
The source code contained in this repository is licensed under terms of the MIT license, more information can be found in the LICENSE file.
Some source code is licensed separately, please check the following table for details.
| Location | Version | License | Author |
|---|---|---|---|
| esp-idf | 5.4 | Apache License 2.0 | Espressif Systems (Shanghai) CO LTD |
| components/i2c-pca9555 | MIT | Renze Nicolai and Malte Heinzelmann malte@cybaer.ninja | |
| components/keyboard | MIT | Malte Heinzelmann malte@cybaer.ninja | |
| components/pax-graphics | MIT | Julian Scheffers | |
| components/pax-keyboard | MIT | Julian Scheffers | |
| components/sdcard | MIT | Nicolai Electronics | |
| components/spi-st77xx | MIT | Tom Bennellick & Malte Heinzelmann malte@cybaer.ninja | |
| managed_components/espressif__led_strip | Apache License 2.0 | Espressif Systems (Shanghai) CO LTD | |
| components/i2c-st25r3916 | SLA0052 MyLiberty | STMicroelectronics | |
| components/nfc-rfal | SLA0052 MyLiberty | STMicroelectronics |
Some of the icons in storage are licensed under MIT license Copyright (c) 2019-2021 The Bootstrap Authors, MIT license Copyright (c) 2025 GitHub Inc. or Apache License Version 2.0 by Google.
Starts a FreeRTOS task to print "Hello World".
(See the README.md file in the upper level 'examples' directory for more information about examples.)
Follow detailed instructions provided specifically for this example.
Select the instructions depending on Espressif chip installed on your development board:
The project hello_world contains one source file in C language hello_world_main.c. The file is located in folder main.
ESP-IDF projects are built using CMake. The project build configuration is contained in CMakeLists.txt files that provide set of directives and instructions describing the project's source files and targets (executable, library, or both).
Below is short explanation of remaining files in the project folder.
├── CMakeLists.txt
├── pytest_hello_world.py Python script used for automated testing
├── main
│ ├── CMakeLists.txt
│ └── hello_world_main.c
└── README.md This is the file you are currently reading
For more information on structure and contents of ESP-IDF projects, please refer to Section Build System of the ESP-IDF Programming Guide.
-
Program upload failure
- Hardware connection is not correct: run
idf.py -p PORT monitor, and reboot your board to see if there are any output logs. - The baud rate for downloading is too high: lower your baud rate in the
menuconfigmenu, and try again.
- Hardware connection is not correct: run
Please use the following feedback channels:
- For technical queries, go to the esp32.com forum
- For a feature request or bug report, create a GitHub issue
We will get back to you as soon as possible.