Einleitung
Du hast Lust, zu erfahren wie ein Arduino Board funktioniert oder sogar deinen eigenen Arduino bauen? Dann ist der ATmega328P dein bester Freund! Dieser Mikrocontroller steckt auch im originalen Arduino Uno und bietet dir die volle Kontrolle über deinen DIY-Aufbau. In diesem Beitrag zeige ich dir, wie du mit wenigen Komponenten einen funktionierenden Arduino-Clone baust – ideal für Bastelprojekte, Robotik oder einfach zum Lernen.
Warum ein Arduino-Clone?
- Lerneffekt: Du verstehst, wie ein Mikrocontroller wirklich funktioniert.
- Kostenersparnis: Einzelteile sind oft günstiger als fertige Boards.
- Flexibilität: Du kannst den Aufbau genau an dein Projekt anpassen.
- Spaßfaktor: Es macht einfach Freude, etwas selbst zu bauen!

Was ist der ATmega328P?
Der ATmega328P ist ein 8-Bit-Mikrocontroller von Microchip (ehemals Atmel) und das Herzstück vieler Arduino-Boards – insbesondere des beliebten Arduino Uno. Das „P“ steht für „PicoPower“, was bedeutet, dass dieser Chip besonders stromsparend arbeiten kann.
Funktionen und Fähigkeiten des ATmega328P
Hier sind die wichtigsten technischen Merkmale – einfach erklärt:
Eigenschaft | Bedeutung |
---|---|
CPU: AVR 8-Bit RISC | AVR (Advanced Virtual RISC) – ein kompaktes, effizientes 8-Bit-RISC-Design, das schnelle Befehlsausführung bei geringem Energieverbrauch ermöglicht. RISC (Reduced Instruction Set Computing) mit 130+ Instruktionen |
Taktfrequenz: 16 MHz | Der „Rhythmus“, mit dem der Mikrocontroller arbeitet – vergleichbar mit dem Herzschlag |
Flash-Speicher: 32 KB | Hier wird dein Programm gespeichert – bleibt auch nach dem Ausschalten erhalten |
SRAM: 2 KB | Kurzzeitgedächtnis – für Variablen und Zwischenspeicher während der Programmausführung |
EEPROM: 1 KB | Langzeitgedächtnis – speichert Daten dauerhaft, z. B. Einstellungen oder Sensorwerte |
Digitale I/O-Pins: 23 | Anschlüsse für LEDs, Taster, Sensoren etc. – davon 6 mit PWM-Funktion für z. B. Motorsteuerung |
Analoge Eingänge: 6 | Für Sensoren, die analoge Signale liefern – z. B. Temperatur oder Lichtstärke |
Serielle Schnittstellen | Kommunikation mit PC oder anderen Geräten – z. B. über USB oder Bluetooth |
Timer & Interrupts | Für präzise Zeitmessung und Reaktion auf externe Ereignisse – z. B. ein Tastendruck |
Der ATmega328P besitzt eine CPU, RAM, I/O-Schnittstellen und sogar EEPROM. Das klingt auf den ersten Blick nach der klassischen von Neumann-Architektur, doch tatsächlich folgt er dem Harvard-Modell, bei dem Programmcode und Daten in getrennten Speicherbereichen liegen und über separate Busse angesprochen werden. Dadurch kann der Mikrocontroller effizienter arbeiten, da er gleichzeitig Befehle aus dem Flash und Daten aus dem SRAM verarbeiten kann.
Hersteller:
- Ursprünglich entwickelt von Atmel Corporation
- Heute produziert und vertrieben von Microchip Technology

Arduino-Clone
Benötigte Komponenten für ein Testaufbau
- ATmega328P-PU (der nackte Chip)
- Breadboard
- USB-to-Serial-Adapter (z.B. FTDI-Breakout)
- Quarzoszillator mit 16 MHz
- Zwei Keramikkondensatoren mit 22 pF
- Ein Elektrolytkondensator mit 10 µF
- Zwei Widerstände (einer mit 10 kΩ und einer mit 220 Ω)
- Eine LED
- Taster
- Jumper-Kabel
Die wichtigsten Komponenten und ihre Rolle
Komponente | Funktion im Aufbau |
---|---|
ATmega328P | Das Herzstück – der Mikrocontroller, der dein Programm ausführt. Achte darauf, dass du wirklich den ATmega328P und nicht den ATmega328 (ohne P) verwendest – letzterer hat eine andere Signatur und ist nicht direkt kompatibel mit dem Arduino-Bootloader |
16 MHz Quarz | Taktgeber – sorgt für die richtige Geschwindigkeit der Programmausführung |
2x 22 pF Kondensatoren | Stabilisieren den Quarz – verhindern Störungen beim Taktsignal |
10 kΩ Widerstand | Pull-Up am Reset-Pin – sorgt für zuverlässigen Start des Controllers |
Spannungsregler (z. B. 7805) | Wandelt z. B. 9V Eingangsspannung auf stabile 5V für den Mikrocontroller |
Kondensatoren (z. B. 10 µF) | Glätten die Spannung – wichtig für stabile Stromversorgung |
USB-zu-Seriell-Adapter (FTDI, CH340G) | Ermöglicht die Programmierung über USB – verbindet PC mit dem Mikrocontroller |
LED + Widerstand (optional) | Statusanzeige – zeigt z. B. ob der Arduino läuft oder blinkt |
Schaltplan für den Aufbau
Aufbau – Schritt für Schritt
Hier ist eine einfache Schritt-für-Schritt-Anleitung, um den ATmega328P auf einem Breadboard zu verdrahten:
- Stromversorgung:
- Verbinde den VCC-Pin (Pin 7) und den AVCC-Pin (Pin 20) des ATmega328P mit der positiven Stromschiene (5V) des Breadboards.
- Verbinde den GND-Pin (Pin 8) und den GND-Pin (Pin 22) mit der negativen Stromschiene (GND).
- Quarzoszillator:
- Verbinde die beiden Beine des 16-MHz-Quarzoszillators mit den Pins 9 und 10 des ATmega328P.
- Verbinde nun je einen 22-pF-Keramikkondensator von jedem Bein des Quarzoszillators nach GND.
- Reset-Schaltung:
- Verbinde den Reset-Pin (Pin 1) des ATmega328P über einen 10-kΩ-Widerstand mit VCC.
- Verbinde einen Taster von Pin 1 nach GND. Dieser ermöglicht es, den Chip manuell zurückzusetzen.
- Bootloader-Upload-Schaltung:
- Verbinde den RX-Pin (Pin 2, PD0) des ATmega328P mit dem TX-Pin deines USB-to-Serial-Adapters.
- Verbinde den TX-Pin (Pin 3, PD1) des ATmega328P mit dem RX-Pin deines USB-to-Serial-Adapters.
- Verbinde GND des Adapters mit GND auf dem Breadboard.
- Für den automatischen Reset beim Hochladen: Verbinde den DTR-Pin des USB-to-Serial-Adapters über einen 10-µF-Elektrolytkondensator mit dem Reset-Pin des ATmega328P (Pin 1). Achte dabei auf die Polarität des Kondensators.
- Test-LED (Blink-Sketch):
- Um zu testen, ob alles funktioniert, kannst du eine LED am digitalen Pin 13 anschließen.
- Verbinde den Pin 19 (PB5 / SCK) des ATmega328P mit dem Anoden-Bein (das längere) der LED.
- Verbinde das Kathoden-Bein (das kürzere) der LED über einen 220-Ω-Widerstand mit GND.
Mit dieser einfachen Verdrahtung hast du die wichtigsten Funktionen eines Arduino-Boards nachgebaut. Du kannst nun mit der Arduino IDE einen Bootloader auf den Chip hochladen und anschließend deine eigenen Sketches programmieren.
- Bootloader flashen
Falls dein ATmega328P keinen Bootloader hat, kannst du ihn mit einem anderen Arduino als ISP oder einem USBasp-Programmer flashen. Das ist nötig, damit du später Programme über USB hochladen kannst. - Schaltung aufbauen
- Quarz zwischen XTAL1 (Pin9) und XTAL2 (Pin 10) des ATmega328P
- Je ein 22 pF Kondensator von XTAL1/XTAL2 nach GND
- Reset-Pin über 10 kΩ Widerstand an VCC
- Spannungsregler + Kondensatoren für stabile 5V
- USB-Adapter: RX ↔ TX, TX ↔ RX, GND ↔ GND, VCC ↔ VCC
- Arduino IDE einrichten
- Board: „Arduino Uno“
- Prozessor: „ATmega328P“
- Port: USB-Adapter auswählen
- Sketch hochladen – fertig!