Logo

pixeledi Akademie

FreeRTOS für ESP32 in der Arduino-Umgebung

Ein praxisorientierter Einstieg in ein Echtzeitbetriebssystem

Cover
>70 Lektionen
>5h Kursmaterial

Tauche ein in die Welt der Echtzeitbetriebssysteme mit FreeRTOS für ESP32 in der Arduino-Umgebung! In diesem praxisorientierten Kurs lernst du, wie du FreeRTOS auf dem ESP32 einsetzt, um Multitasking und Echtzeitfähigkeit in deinen Projekten zu nutzen.

Das erwartet dich: 5 Stunden Videomaterial und 40 Code-Beispiele in über 70 Lektionen zu folgenden Themen:

Dieser Kurs ist so gestaltet, dass wir alle Themen Schritt für Schritt gemeinsam erarbeiten. Dennoch solltest du bereits die Toolchain eingerichtet und den ESP32 mindestens einmal programmiert haben, da wir auf diesen Grundlagen aufbauen. Du kannst dabei wahlweise mit der Arduino IDE oder PlatformIO arbeiten – ganz nach deinen Vorlieben.

Perfekt für alle, die ihre Projekte mit FreeRTOS auf dem ESP32 auf die nächste Stufe heben möchten – von der Theorie bis zur Praxis. Melde dich jetzt an und entwickle leistungsstarke, echtzeitfähige Anwendungen!

Bis gleich im Kurs
pixeledi aka Markus Edenhauser, MA MSc

Curriculum

Kursintro

Kursintro (Vorschau)

01 Einleitung

1.2 Benötigte Software und Hardware (Vorschau)

1.3 Code und Materialliste

1.4 DIY-Devboard für Prototyping

1.5 Warum Denglisch?

1.6 Variation im Codeaufbau

1.7 MIT-Lizenz und Haftungsausschluss

02 Einführung FreeRTOS

2.1 Zielgruppe und Voraussetzungen (Vorschau)

2.2 Warum braucht man FreeRTOS?

2.3 Andere RTOS Systeme im Embedded Bereich

2.4 Design

2.5 Konventionen

2.6 Multitasking und Gleichzeitigkeit

2.7 Stack und Heap Memory Management

2.8 System Ticks und Task-Switching

2.9 Präemptiver vs. Kooperativer Scheduler

2.10 ESP32 C3, S3 und C6 wie auch AVR-Arduino

03 Vorbereitung und Basics

3.1 Intro (Vorschau)

3.2 VSCode mit PlatformIO Übersicht

3.3 PlatformIO Projekte in Arduino IDE

3.4 ESP32 mit ESP-Prog und ESP32S3 debuggen

3.5 Hardware Timer

3.6 Pointer Überblick

3.7 Pointer Speicheradressen

3.8 Pointer Größe und Vergleich

3.9 Arrays als Pointer übergeben

3.10 Ringbuffer Übersicht

3.11 Ringbuffer Beispiel

3.12 Ringbuffer debuggen

3.13 Ringbuffer Praxis mit anlogen Sensor

04 Tasks

4.1 Intro (Vorschau)

4.2 Übersicht und Verdrahtung

4.3 Zwei Task unterschiedliche LED Blink

4.4 Ausführenden CPU-Core festlegen

4.5 Tasks laufen unabhängig vom Delay im Loop

4.6 Memory Management Stack Size bestimmen

4.7 vTaskDelete – Tasks und Loop löschen

4.8 vTaskResume und Suspend - Fortfahren und Aussetzen

4.9 Ticks mit ESP32 und Messung mit Oszilloskop

4.10 Yielding CPU – Timeslot freigeben

4.11 vTaskDelay mit ESP32

4.12 vTaskDelay mit Arduino Uno

4.13 Task Priorities

4.14 uxTaskGetSystemState

4.15 Errorhandling von Tasks

4.16 xTaskNotify Aufrufen von Tasks

05 Queues

5.1 Intro (Vorschau)

5.2 Praxisbeispiel Queue

5.3 Auf ein Signal warten

5.4 Senden und Empfangen mehrerer Datenwerte

5.5 Queue wartet und Abgrenzung Ringbuffer

5.6 Button und LEDs mit Queue

5.7 Struct und Queues mit OLED

06 Semaphores

6.1 Intro (Vorschau)

6.2 Binary Semaphores Vorbereitung

6.3 Binary Semaphores mit Buttons

6.4 Binary Semaphores mit Buffer und Tasks

6.5 Binary Semaphores Wechsel innerhalb von Tasks

6.6 Countable Semaphores

6.7 Versuchsaufbau 3x I2C

6.8 3xI2C Module synchronisieren

6.9 Fazit und Unterscheidung zwischen Semaphoren und Queues

07 Mutex

7.1 Intro (Vorschau)

7.2 Unterschiede zwischen Mutex und Binary Semaphore

7.3 Race Condition provozieren ohne mutex

7.4 Mutex verhindert Race Condition

7.5 Deadlock Problem provozieren

7.6 Deadlock-Vermeidung

08 Interrupts

8.1 Intro (Vorschau)

8.2 Vorbereitungsbeispiel

8.3 Frequenz messen mit FreeRTOS ISR

8.4 ISR Notify und Prioritäten

8.5 Semaphore und ISR

8.6 3 Tasks und ISR mit Mutex

09 Watchdog

9.1 Intro (Vorschau)

9.2 Grunprinzip und Herangehensweise

9.3 Simpler Watchdog Timer

9.4 Watchdog Timer mit Tasks

10 Abschluss

10.1 Ausblick und weitere Themen

10.2 Danke und bis bald

FAQ

Kauf & Zugang

Wie funktioniert der Kauf?

Du klickst auf den Link auf der Kursseite und wirst zu Payhip.com weitergeleitet. Dort kannst du auswählen, ob du mit PayPal oder Kreditkarte bezahlen möchtest. Über PayPal steht dir auch die Option EPS zur Verfügung.

Kurs: Nach dem Kauf erhältst du eine E-Mail mit einer Textdatei, die deinen individuellen Kurslink enthält.

E-Book Gleich nach dem Kauf erhältst du einen Download-Link für die EPUB- und PDF-Version des Buches.

Deine aktuellen Kurse findest du auch jederzeit im Menü unter: Meine Kurse

Viel Spaß beim Lernen!

Wo sind die Zugangsdaten von meinem Kurs?

Du erhältst direkt nach der Zahlung eine Text- oder PDF-Datei mit deinen Zugangsdaten. Zusätzlich bekommst du von Payhip (dem Zahlungsdienstleister) eine E-Mail, über die du die Unterlagen erneut herunterladen kannst.

Deine aktuellen Kurse findest du auch jederzeit im Menü unter: Meine Kurse

Gutschein / Coupon-Code

Um einen Gutschein (Coupon-Code) einzulösen: Gib im Zahlungsfenster zuerst deine E-Mail-Adresse ein. Danach erscheint das Feld Coupon Code. Trage dort den Code ein – der Betrag wird sofort angepasst.

Coupon Code eingeben

Schau dir meine aktuellen YouTube-Videos an, dort gibt es immer wieder Aktionen: www.youtube.com/@pixeledi

Wo finde ich meine Rechnung?

Deine Rechnung findest du in der Bestätigungs-E-Mail vom Zahlungsdienstleister Payhip. Weitere Informationen dazu findest du auch hier:
https://help.payhip.com/article/119-can-i-get-an-invoice

Kann ich als Business-Kunde eine UID-Nummer angeben?

Ja, das ist möglich. Bitte gib deine UID-Nummer unbedingt direkt beim Kauf ein. Nachträglich kann aus steuerlichen Gründen keine Rechnung mit UID-Nummer mehr ausgestellt werden.

Kursinhalte & Ablauf

Wann beginnt und endet der Kurs?

Direkt nach dem Kauf erhältst du automatisch deine Zugangsdaten und kannst sofort loslegen. Da es sich um einen Online-Kurs handelt, bestimmst du ganz flexibel selbst, wann du startest und in welchem Tempo du den Kurs absolvierst.

Wie lange habe ich Zugang zum Kurs?

Wie klingt lebenslanger Zugang? Nach der Anmeldung hast du unbegrenzten Zugriff auf diesen Kurs – auf all deinen Geräten.

Brauche ich Vorkenntnisse?

Jeder Kurs ist individuell gestaltet. In der Kursbeschreibung findest du eine genaue Übersicht über alle Inhalte, was dich im Kurs erwartet und welche Kenntnisse du benötigst.

Kann ich mir den Kurs vor dem Kauf ansehen?

Ja! Du findest kostenlose Vorschaulektionen und kannst dir das gesamte Curriculum ansehen, damit du einen Eindruck vom Kurs bekommst, bevor du dich entscheidest.

Videos laden nicht – woran liegt das?

Die Videos werden über ein professionelles Streaming-System ausgeliefert, das für schnelle und stabile Wiedergabe sorgt. Wenn die Videos nicht laden, liegt das meist an einem Browser-Plugin (z. B. Werbeblocker) oder einer schwachen Internetverbindung.

Deaktiviere testweise den Werbeblocker oder nutze einen anderen Browser – danach funktioniert das Laden meist reibungslos.

Warum ist mein Fortschritt weg?

Der Fortschritt wird lokal im Browser gespeichert. Wenn du deine Browserdaten löschst oder einen anderen Browser verwendest, ist der Fortschritt nicht mehr verfügbar.

Unterstützung & Zufriedenheit

Bekomme ich Unterstützung bei Fragen?

Ich habe einen Discord-Server eingerichtet, auf dem du jederzeit Fragen stellen kannst. Ich bemühe mich, auf jede Frage persönlich einzugehen und dich bestmöglich zu unterstützen.

Was ist, wenn ich mit dem Kurs unzufrieden bin?

Ich möchte auf keinen Fall, dass du unglücklich bist! Wenn du mit deinem Kauf unzufrieden bist, kontaktiere mich innerhalb der ersten 30 Tage und ich erstatte dir den vollen Betrag.