Last Updated on 3. Oktober 2026 by sfambachLink-Status: OK
Hier beschreibe ich, wie ein neues IDF-Projekt angelegt wird.
Wie die IDF, auch in Verbindung mit VS-Code, genutzt und installiert wird, habe ich unter folgenden Links schon beschrieben und ist nicht Gegenstand dieses Beitrags.
- Espressif IDF für ESP32-S2 InstallierenLink-Status: OK
- VS-Code Espressif IDFLink-Status: OK
- LILYGO EP32 S2 V1.1Link-Status: Unbekannt (1. Anwendung)
Ein guter Start ist es, das IDF-Beispiel examples/get-started/sample_project aus dem esp-idf Ordner zu kopieren.

Dieser Ordner enthält fast alles, was für ein neues Projekt benötigt wird.
Den Unterordner components habe ich der Vollständigkeit halber hinzugefügt. Dieser enthält gekapselte Projekte wie zum Beispiel Bibliotheken.
Die CMakeList.txt enthält einen Verweis auf die Standard-Make-Datei und den Projektnamen.
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(main)
Ein ähnlicher Inhalt ist im Makefile zu finden.
Die Readme.md beschreibt das Beispielprojekt, kann später aber zur Dokumentation des eigenen Projektes dienen.
Der Ordner main ist die Spielwiese des neuen Projektes. Hier finden wir unser Hauptprogramm (main.c), eine weitere CMakeLists.txt Datei und die component.mk. Hier werden auch alle Unterprogramm-Dateien abgelegt. Für das Hauptprogramm ist die component.mk nur ein Dummy, sie wird später für die „richtigen“ Komponenten im Components-Ordner benötigt.

Die CMakeLists.txt Datei enthält die Komponentenbeschreibung für unser Hauptprogramm. Sie setzt sich aus den verwendeten Quellcode-Dateien
SRCS="main.c" "datei1.c" "datei2.c" "..."
den Include-Pfaden
INCLUDE_DIRS "." "pfad2" "pfad ..."
und optional aus den benötigten Komponenten zusammen.
COMPONENTS "Comp1" "Comp2"
Unsere initiale Version sieht wie folgt aus:
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "." )
Die main.c Datei enthält nur eine Funktion, die main_app. Diese wird vom Controller aufgerufen und ist der Startpunkt für unser Programm. Die Standard IO wird auch schon referenziert.

Fazit
Das Projekt ist schnell kopiert und man hat fast alles, was man braucht. Je nachdem, welche Applikation erstellt werden soll, bietet es sich an, eines der anderen Projekte im Beispielordner zu kopieren.
Verwandte Beiträge
HauptbeitragLink-Status: Kaputt
Quellen
IDF-Start a ProjectLink-Status: OK
IDF-Creating ExamplesLink-Status: OK
| Datum | Änderung | Autor |
|---|---|---|
| 03.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung Log-Liste eingefügt | sfambach |
| 07.01.2021 | Beitrag erstellt | sfambach |