Mikrocontroller-Grundlagen: Lernpfad durch die Artikelreihe mit ESP32-C6, ESP32, NodeMCU und Arduino Uno

https://bildung.social/@oerinformatik/

https://oer-informatik.de/mcu-grundlagen

Mikrocontroller, Arduino, ESP32-C6, ESP32, ESP8266, NodeMCU, Arduino Uno, Lernpfad, Artikelreihe, Übungsaufgaben

tl/dr; (ca. 10 min Lesezeit): Dieser Überblick zeigt den Weg durch die Artikelreihe über Mikrocontroller-Grundlagen: zuerst die Grundlagenartikel mit der Arduino-API und Board-Tabs für ESP32-C6, ESP32, NodeMCU und Arduino Uno, danach die Vertiefung mit Registern und Datenblatt und zuletzt die Peripherie- und Vernetzungsartikel. Tabellen nennen zu jedem Artikel Lesezeit und Übungsaufgaben [AI-Assisted]. (Zuletzt geändert am 10.11.2026)

Dieser Artikel ist der Einstieg in die Artikelreihe über Mikrocontroller-Grundlagen: Überblick / Erste Schritte / Aufbau eines Mikrocontrollers / Pinbelegung der Boards

Schon fit in diesem Thema? Nutze die Kann-Liste und die Leitfragen unter dem Artikel als Checkliste, ob Du die relevanten Kompetenzen bereits hast.

Als Mikrocontroller-Einsteiger*in kann ich nach Durcharbeiten des Artikels…

  • … den Lernweg der Reihe von den Grundlagenartikeln über die Vertiefung bis zu Peripherie und Vernetzung beschreiben und für mein Vorwissen einen passenden Einstieg wählen.

  • … erklären, wozu die Board-Tabs in den Artikeln dienen, und den Tab für mein eigenes Board auswählen.

  • … die Liste der Ein- und Ausgabeelemente am Anfang eines Programms lesen und Pins für ein anderes Board anpassen.

  • … zwischen Grundlagenartikeln (Arduino-Funktionen) und Vertiefungsartikeln (Register und Datenblatt) unterscheiden und weiß, wo der Abschnitt „Unter der Haube“ hinführt.

  • … zu jedem Thema die passenden Übungsaufgaben mit einblendbaren Beispiellösungen finden.

Worum es in der Reihe geht

Ein Mikrocontroller steuert fast jedes elektronische Gerät: die Waschmaschine, den Rauchmelder, das Steuergerät im E-Bike oder den Sensor im Gewächshaus. Die Reihe zeigt, wie Du solche Controller mit der Arduino-Entwicklungsumgebung programmierst, vom ersten Blinken einer LED bis zum vernetzten Sensor, der seine Messwerte per WLAN verschickt.

Die Artikel sind in drei Ebenen aufgebaut:

  • Grundlagenartikel erklären ein Thema mit den Arduino-Funktionen (pinMode(), digitalRead(), analogRead(), millis(), attachInterrupt() …). Jeder Grundlagenartikel hat einen eigenen Artikel mit Übungsaufgaben.
  • Vertiefungsartikel schauen hinter die Arduino-Funktionen: Register, Bitmasken, Timer und Datenblatt, mit dem ATmega328P des Arduino Uno als Leitbeispiel und dem ESP32-C6 zum Vergleich. Die Grundlagenartikel verweisen im Abschnitt „Unter der Haube“ dorthin.
  • Peripherie- und Praxisartikel zeigen einzelne Bausteine und Anwendungen: Pinbelegung, Klimasensoren, Anzeigen, WLAN und MQTT. Sie kommen ohne eigene Übungsdatei aus.

Die Grafik zeigt den Lernpfad: Die gelben Blöcke 1 bis 4 bauen aufeinander auf, die grauen Blöcke kannst Du nach Bedarf dazunehmen, sobald die Grundlagen sitzen.

Lernpfad der Reihe Mikrocontroller-Grundlagen: vier Blöcke Grundlagenartikel, darunter Vertiefung sowie Peripherie und Vernetzung (mit KI erstellt)

Ein Programm, vier Boards

Alle Programme der Reihe laufen auf vier Boards. In den Artikeln stehen sie in Tabs nebeneinander; voreingestellt ist der ESP32-C6:

Board Controller Pegel Besonderheiten
ESP32-C6 DevKit ESP32-C6 (RISC-V, 32 Bit) 3,3 V WLAN, Bluetooth LE, eingebauter USB-JTAG-Debugger, RGB-LED an GPIO8, kein DAC
ESP32 DevKit V4 ESP32 (Xtensa, 32 Bit, zwei Kerne) 3,3 V WLAN, Bluetooth Classic und LE, DAC, Touch-Eingänge
NodeMCU ESP8266 (32 Bit) 3,3 V WLAN, nur ein Analogeingang, wenige freie Pins
Arduino Uno ATmega328P (AVR, 8 Bit) 5 V einfach und robust, int hat nur 16 Bit, kein WLAN

Damit Du ein Programm schnell auf ein anderes Board bringst, beginnt jedes Programm mit der Liste der Ein- und Ausgabeelemente. Sie hält fest, welches Bauteil an welchem Pin hängt und wie es sich verhält. Die Programme der vier Tabs unterscheiden sich nur in dieser Liste:

//-------------------------------------------------------------------------------------
// Liste der Ein- und Ausgabeelemente
// Board: ESP32-C6 Dev Kit N8-M
//-------------------------------------------------------------------------------------
// Datentyp | Name der Variable   | Anschlusspin      | Name, Verhalten
const int     BUTTON1_PIN         = 1;                // Button 1, active LOW, INPUT_PULLUP
const int     LED1_PIN            = 4;                // LED 1, active HIGH (strapping pin, ok as output)

Welche Pins die Reihe auf den einzelnen Boards nutzt und welche Pins Du meiden solltest, steht im Artikel Pinbelegung der Boards. Dort findest Du auch weitere Boards wie das WeMos-Board mit OLED-Anzeige und ältere ESP32-DevKits.

Die Artikel im Überblick

Die Lesezeit gilt für den Lehrartikel, die Spalte „Übungen“ nennt die Aufgaben der zugehörigen Übungsdatei nach Kompetenzstufe (S1 Grundlagen bis S4 Expertise).

Grundlagen 1: Einstieg und Pins

Artikel Inhalt Lesezeit Übungen
Erste Schritte Entwicklungsumgebung, Treiber, Board und Port, Blink, Taster ca. 23 min S1: 1, S2: 1
Digitale Ausgänge LED mit Vorwiderstand, Ausgangsstrom, Lasten mit Transistor oder Relais ca. 28 min S1: 1, S2: 2
Digitale Eingänge Taster, Logikpegel, Pull-up/Pull-down, Entprellen ca. 31 min S1: 1, S2: 1, S3: 1
Variablen und Datentypen Variablen, Konstanten und Datentypen auf 8- und 32-Bit-Controllern ca. 28 min S1: 1, S2: 2

Grundlagen 2: Kontrollstrukturen und Daten

Artikel Inhalt Lesezeit Übungen
Bedingte Anweisungen if, else, switch und logische Operatoren ca. 27 min S1: 1, S2: 2
Wiederholungsstrukturen loop(), for, while, do-while, break, continue ca. 26 min S1: 1, S2: 2
Zeit ohne delay() millis(), nicht blockierende Abläufe, Zustandsautomaten ca. 31 min S2: 2
Arrays Pinlisten, Lauflicht, Muster, Messwertpuffer ca. 32 min S1: 1, S2: 2
Zeichenketten char-Arrays, String-Klasse, F()-Makro, serielle Befehle ca. 31 min S1: 1, S2: 2

Grundlagen 3: Programme strukturieren

Artikel Inhalt Lesezeit Übungen
Eigene Funktionen Parameter, Rückgabewert, Gültigkeitsbereich, Aufteilen in .h/.cpp ca. 33 min S1: 1, S2: 2, S3: 1
Debuggen serieller Monitor und Plotter, Debug-Makros, Log-Level, Fehlerarten, Hardware-Debugger ca. 40 min S2: 2, S3: 1
Bibliotheken Bibliotheksverwalter, ZIP, Beispiele, Plattformunterschiede, eigene Bibliothek ca. 33 min S1: 1, S2: 1

Grundlagen 4: Analog, PWM, Interrupts und Projekt

Artikel Inhalt Lesezeit Übungen
Analoge Eingänge Potentiometer, analogRead(), Auflösung und Referenz, Spannungsteiler, Analogtastatur ca. 30 min S1: 2, S2: 2
Analoge Ausgabe mit PWM LED dimmen, Tastgrad und Frequenz, Lüfter, Lauflicht mit Überblendung ca. 31 min S1: 1, S2: 2
Interrupts Polling oder Interrupt, attachInterrupt(), Regeln für die ISR, Timer-Interrupts ca. 31 min S2: 2
Projekt Simon Says alle Grundlagen in einem Spiel zusammenführen und nach Pflichtenheft erweitern ca. 31 min S2: 2, S3: 1

Vertiefung: Register und Datenblatt

Artikel Inhalt Lesezeit Übungen
Aufbau eines Mikrocontrollers Bussystem, Register, Stack, Takt, Reset, Watchdog ca. 38 min S1: 1, S2: 3
Vom Quelltext zur Firmware Compile-Prozess, Assembler oder Hochsprache, grafische Sprachen, Simulation, Flashen ca. 46 min S1: 1, S3: 3
Register und Bitoperationen Ports, DDR, PORT und PIN, Bitmasken, was digitalWrite() intern tut ca. 37 min S3: 2
Interrupts, Timer und PWM im Datenblatt Interruptquellen, Flags, Flanken, Timer-Modi, PWM-Register ca. 32 min S3: 2
Sichere und vernetzte Embedded-Systeme Funkschnittstellen, Firmware-Update, Secure Boot, SBOM, Cyber Resilience Act, Edge AI ca. 27 min S4: 2

Peripherie und Vernetzung

Artikel Inhalt Lesezeit Übungen
Pinbelegung der Boards Standardbelegung der Reihe, Stiftleisten, Pins mit Sonderfunktion ca. 43 min –
Sensoren für das Raumklima BME280/BMP280 per I²C und SPI, CO₂-Sensoren per UART, PWM und Analogausgang ca. 33 min –
Anzeigen OLED-Display SSD1306 per I²C, LED-Matrix MAX7219 mit eigenem Treiber ca. 37 min –
ESP vernetzt: WLAN, OTA-Update und Webserver WLAN-Verbindung, Zugangsdaten, Firmware per WLAN, eigener Webserver ca. 31 min –
ESP vernetzt: MQTT-Client und Logging MQTT-Client, Messwerte veröffentlichen, Logging über WLAN ca. 45 min –
Schaltungen zeichnen mit Fritzing Steckbrettbilder, Bauteile, die Fritzing-Bibliothek der Reihe ca. 15 min –

Welcher Einstieg passt zu Dir?

  • Noch nie einen Mikrocontroller programmiert: Beginne mit Erste Schritte und arbeite die Blöcke 1 bis 4 der Reihe nach durch. Am Ende führt das Projekt Simon Says alles zusammen.
  • Programmieren in C oder Java schon bekannt: Die Kontrollstrukturen in Block 2 kannst Du überfliegen. Lies dort vor allem die Abschnitte zu den Board-Unterschieden (z. B. 16-Bit-int beim Uno) und steige bei Zeit ohne delay() richtig ein.
  • Elektroniker*in mit Blick auf Hardware und Datenblatt: Nach Block 1 lohnt der Seitenblick auf Aufbau eines Mikrocontrollers. Die übrigen Vertiefungsartikel passen jeweils nach dem Grundlagenartikel, der im Abschnitt „Unter der Haube“ darauf verweist.
  • Ein Gerät vernetzen: Mit den Grundlagen bis Block 3 im Rücken geht es über Pinbelegung und Sensoren zu WLAN und MQTT. Vorher lohnt Sichere und vernetzte Embedded-Systeme.

Was Du brauchst

  • ein Board aus der Tabelle oben mit passendem USB-Kabel (ein Datenkabel, kein reines Ladekabel),
  • die Arduino-IDE 2 mit den Board-Paketen für ESP32 und ESP8266 (Einrichtung in Erste Schritte),
  • ein Steckbrett, einige LEDs mit Vorwiderständen, vier Taster, ein Potentiometer und einen Piezo-Summer; welche Teile jedes Beispiel braucht, steht in seiner Liste der Ein- und Ausgabeelemente.

Die Steckbrettbilder der Reihe sind mit Fritzing gezeichnet; wie Du eigene Schaltungen damit dokumentierst, zeigt Schaltungen zeichnen mit Fritzing.

Leitfragen

  1. In welcher Reihenfolge arbeitest Du die Reihe durch, wenn Du noch nie einen Mikrocontroller programmiert hast?

Mit den Grundlagenartikeln: Block 1 (Erste Schritte bis Variablen und Datentypen), dann Block 2, 3 und 4 bis zum Projekt Simon Says. Vertiefung sowie Peripherie und Vernetzung kommen danach nach Bedarf dazu. siehe Abschnitt „Die Artikel im Überblick“

  1. Wozu dienen die Board-Tabs in den Artikeln, und welcher Tab ist voreingestellt?

Jeder Tab enthält das vollständige Programm für ein Board (ESP32-C6, ESP32 DevKit V4, NodeMCU, Arduino Uno) und erklärt, was auf diesem Board anders ist. Voreingestellt ist der ESP32-C6. siehe Abschnitt „Ein Programm, vier Boards“

  1. Was steht in der Liste der Ein- und Ausgabeelemente, und was änderst Du, wenn Du ein Programm auf ein anderes Board überträgst?

Die Liste nennt für jedes Bauteil den Namen der Konstanten, den Anschlusspin und das Verhalten (z. B. „active LOW, INPUT_PULLUP“). Für ein anderes Board tauschst Du nur diese Liste aus; der übrige Code bleibt gleich. siehe Abschnitt „Ein Programm, vier Boards“

  1. Wie unterscheiden sich Grundlagen-, Vertiefungs- und Peripherieartikel?

Grundlagenartikel arbeiten mit den Arduino-Funktionen und haben eigene Übungsaufgaben. Vertiefungsartikel zeigen, was dahinter im Register und im Datenblatt passiert (Leitbeispiel ATmega328P). Peripherie- und Praxisartikel behandeln einzelne Bausteine und die Vernetzung ohne eigene Übungsdatei. siehe Abschnitt „Worum es in der Reihe geht“


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Mikrocontroller-Grundlagen: Lernpfad durch die Artikelreihe mit ESP32-C6, ESP32, NodeMCU und Arduino Uno” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/mcu-grundlagen veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/mcu/arduino-esp. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 10.11.2026.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: