Mikrocontroller Grundlagen

Ein winziger Computer auf einem einzigen Chip, der in unzähligen Alltagsgeräten unbemerkt seine Arbeit macht.

Zuletzt aktualisiert: 23. September 2026

Was ist ein Mikrocontroller

MikrocontrollerEin kompletter kleiner Computer auf einem einzigen Chip, Prozessor, Arbeitsspeicher und oft auch Ein- und Ausgänge zusammen
AbkürzungHäufig auch µC oder MCU genannt
Unterschied zum PCEin Mikrocontroller übernimmt meist genau eine feste Aufgabe, statt viele verschiedene Programme gleichzeitig auszuführen

Wo Mikrocontroller stecken

HaushaltWaschmaschine, Mikrowelle, Kaffeemaschine
FahrzeugeAirbag, ABS, Motorsteuerung
KleingeräteFernbedienung, Tastatur, Digitaluhr
Smart HomeSteckdosen, Thermostate und Sensoren mit eigenem kleinen Chip

Speichertypen

ROMSpeicher, der nach der Herstellung nicht mehr verändert werden kann
EPROMEin Vorläufer von Flash, ließ sich mit UV Licht löschen und neu beschreiben, heute kaum noch im Einsatz
OTPOne Time Programmable, kann genau einmal beschrieben werden, danach nicht mehr veränderbar
FlashElektrisch wiederbeschreibbarer Speicher, heute bei den meisten Mikrocontrollern Standard
RAMArbeitsspeicher für laufende Berechnungen, Inhalt geht beim Ausschalten verloren

Chip Architekturen

4 BitSehr einfach und günstig, reicht zum Beispiel für einfache Uhren
8 BitDie mit Abstand am weitesten verbreitete Architektur bei Mikrocontrollern
16 BitMehr Leistung bei noch überschaubarem Stromverbrauch
32 BitHeute für anspruchsvollere Aufgaben Standard, unter anderem beim ESP32

Speichergrößen im Vergleich

Ein Mikrocontroller hat deutlich weniger Speicher als ein normaler Computer, deshalb muss der Code so sparsam wie möglich sein.

ProgrammspeicherTypisch zwischen 1 Kilobyte und 2 Megabyte
Arbeitsspeicher (RAM)Typisch zwischen 32 Byte und 48 Kilobyte
Zum VergleichEin normaler PC hat oft 16.000 Megabyte RAM oder mehr

Programmiersprachen

CDie mit Abstand häufigste Sprache für Mikrocontroller in der Industrie
AssemblerSehr hardwarenahe Sprache, vor allem bei kleinen, einfachen Chips im Einsatz
MicroPythonEine vereinfachte Python Variante speziell für Mikrocontroller, beliebt bei Einsteigern und Hobbyprojekten

Bekannte Einsteiger Plattformen

ArduinoSehr einsteigerfreundliches Board mit großer Community und vielen fertigen Beispielen
ESP32Günstiger Mikrocontroller mit eingebautem WLAN und Bluetooth, oft mit MicroPython programmiert
Raspberry Pi PicoKleines, preiswertes Board, ebenfalls häufig mit MicroPython genutzt
In der Praxis

Einen ESP32 mit MicroPython programmieren

Wie ein Mikrocontroller im Hobbybereich tatsächlich zum Einsatz kommt, am Beispiel ESP32.

Was ist MicroPython

Eine eigene, schlanke Programmiersprache, die auf Python basiert, aber gezielt für Mikrocontroller mit wenig Speicher entwickelt wurde.

VorteilDeutlich einfacher zu lernen als die sonst übliche Sprache C
Unterschied zu PythonEnthält nur einen kleinen Teil der normalen Python Bibliotheken, weil auf dem Chip wenig Platz ist
REPLEine interaktive Befehlszeile, in der einzelne Python Befehle sofort ausgeführt werden

Firmware und Software

Bevor ein Mikrocontroller eigenen Code ausführen kann, braucht er eine Grundausstattung an Software.

FirmwareDie Basis Software, die zuerst auf den leeren Chip übertragen wird, erst danach versteht er zum Beispiel Python Code
IDEEin Programm auf dem PC, in dem der Code geschrieben und anschließend auf den Mikrocontroller übertragen wird
TreiberEin zusätzliches Programm auf dem PC, das die USB Verbindung zum Mikrocontroller erst ermöglicht

GPIO Pins

Die Anschlüsse eines Mikrocontrollers, über die er mit der Außenwelt verbunden wird.

GPIOGeneral Purpose Input Output, ein frei nutzbarer Anschluss für Eingabe oder Ausgabe
HIGH und LOWEin Pin kennt nur zwei Zustände, Spannung an oder aus, ähnlich wie eine 1 oder 0
1 (HIGH)Beim ESP32 üblicherweise 3,3 Volt, eine daran angeschlossene LED leuchtet
0 (LOW)0 Volt, eine daran angeschlossene LED bleibt dunkel
Typisches BeispielEine LED über einen Ausgang anschalten oder einen Taster über einen Eingang auslesen

I2C Bus

Ein Verfahren, um mehrere Bauteile über nur zwei Leitungen mit dem Mikrocontroller zu verbinden.

SDA und SCLDie zwei Leitungen des I2C Busses, eine für Daten, eine für den Takt
AdresseJedes angeschlossene Bauteil hat eine eigene feste Adresse, darüber spricht der Mikrocontroller es gezielt an
VorteilMehrere Sensoren und Displays gleichzeitig, ohne für jedes einzelne eigene Leitungen zu brauchen

SPI Bus

Ein zweites, schnelleres Verfahren, um Bauteile mit dem Mikrocontroller zu verbinden, etwa als Alternative zu I2C.

MOSI, MISO, SCKGetrennte Leitungen zum Senden, Empfangen und für den Takt, dadurch schneller als I2C
Chip SelectEine eigene Leitung pro Bauteil, statt einer Adresse wie bei I2C, wählt aus, welches Bauteil gerade angesprochen wird
Typischer EinsatzDisplays und Speicherkarten, wenn es auf hohe Geschwindigkeit ankommt

PWM

Pulsweitenmodulation, ein Trick, um mit einem einfachen An/Aus Pin trotzdem feine Abstufungen zu erzeugen.

FunktionsweiseDer Pin schaltet sehr schnell zwischen an und aus, das Verhältnis der beiden Zeiten bestimmt den effektiven Wert
Typischer EinsatzDie Helligkeit einer LED dimmen oder die Geschwindigkeit eines kleinen Motors steuern

ADC, Analog Digital Umsetzer

Wandelt eine analoge Spannung in eine Zahl um, die der Mikrocontroller weiterverarbeiten kann.

Analoges SignalEine Spannung, die stufenlos zwischen zwei Werten liegen kann, zum Beispiel von einem Temperatursensor
DigitalisierungDer ADC wandelt diese Spannung in eine feste Zahl um, mit der sich im Code weiterrechnen lässt
Typischer EinsatzEin Poti auslesen oder einen analogen Sensor wie einen Lichtsensor abfragen

Beispiel: Sensor und Display

Zwei typische Bauteile, die per I2C an einen ESP32 angeschlossen werden, jeweils über eine fertige Treiber Bibliothek angesprochen.

BME280Ein Sensor, der Temperatur, Luftfeuchtigkeit und Luftdruck misst
SSD1306Ein kleines OLED Display, auf dem sich zum Beispiel die gemessenen Sensorwerte anzeigen lassen
Treiber BibliothekFertiger Code, der die Kommunikation über I2C übernimmt, sodass man selbst nur wenige einfache Befehle aufrufen muss