Ratgeber · 15 Min. Lesezeit

Raspberry Pi oder Arduino? Unterschiede und Entscheidungshilfe

Raspberry Pi oder Arduino? Linux-Computer und Mikrocontroller im Vergleich: Bootzeit, Stromverbrauch, GPIO, Analogeingänge, Sprache, Preis und Beispielcode.

Der Unterschied zwischen Raspberry Pi und Arduino passt in einen Satz: Der Raspberry Pi ist ein Computer im Scheckkartenformat, auf dem ein Linux-Betriebssystem läuft; der Arduino ist ein Mikrocontroller-Board, das ein einziges hochgeladenes Programm immer wieder ausführt. An den Pi kannst du Tastatur, Maus und Monitor anschließen, im Internet surfen, mit Python Kamerabilder verarbeiten oder zu Hause einen kleinen Server betreiben. Der Arduino legt los, sobald er Strom bekommt, liest Sensoren mikrosekundengenau aus, steuert Motoren und LEDs ohne jedes Stocken und läuft tagelang mit Batterien.

Kurz gesagt: Für Projekte mit Kamera, Bildverarbeitung, grafischer Oberfläche oder Netzwerkdiensten ist der Raspberry Pi die bessere Wahl; bei Sensoren, Motoren, präzisem Timing und geringem Stromverbrauch gewinnt der Arduino. In dieser Anleitung vergleichen wir beide Plattformen mit echten Zahlen: Bootzeit, Stromverbrauch, GPIO und Analogeingänge, Programmiersprache, Echtzeitverhalten und Preis. Danach zeigen wir dir in einer Tabelle, welches Board zu welchem Projekt passt, geben dir Beispielcode, mit dem beide über ein USB-Kabel zusammenarbeiten, und erklären, wo der Raspberry Pi Pico einzuordnen ist, der trotz seines Namens eher einem Arduino ähnelt.

Arduino Uno R3 Mikrocontroller-Board
Arduino Uno R3: Ein Betriebssystem gibt es hier nicht; der ATmega328P mit 16 MHz führt das eine hochgeladene Programm aus, sobald Strom anliegt.

Was ist ein Raspberry Pi, was ist ein Arduino?

Der Raspberry Pi ist ein Einplatinencomputer (SBC), entwickelt von der britischen Raspberry Pi Foundation. Der Raspberry Pi 5 hat einen Vierkern-Prozessor Arm Cortex-A76 mit 2,4 GHz, 1 bis 16 GB RAM, zwei 4K-HDMI-Ausgänge, USB 3.0, Gigabit-Ethernet, WLAN und Bluetooth. Statt einer Festplatte nutzt er eine microSD-Karte (oder mit Zusatzplatine eine NVMe-SSD), und darauf läuft das Debian-basierte Raspberry Pi OS. Du hast also einen kleinen, günstigen Bruder deines Desktop-PCs vor dir; der einzige Unterschied ist die 40-polige GPIO-Leiste am Rand, über die du LEDs, Taster und Sensoren direkt anschließen kannst.

Der Arduino dagegen ist eine in Italien entstandene Open-Source-Mikrocontroller-Plattform. Im Herzen des verbreitetsten Boards, des Arduino Uno R3, arbeitet ein 8-Bit-ATmega328P mit 16 MHz: Prozessor, 2 KB RAM, 32 KB Programmspeicher und Analog-Digital-Wandler stecken alle in einem kleinen Chip. Es gibt kein Betriebssystem, kein Dateisystem und keinen Bildschirmausgang. Der Code, den du in der Arduino IDE auf deinem Rechner schreibst, wird kompiliert und im Flash-Speicher des Boards abgelegt; bei jedem Start läuft zuerst setup() einmal und danach loop() endlos. Mehr über die Plattform erfährst du im Artikel Was ist Arduino?.

Kurze Antwort: Welches Board wofür?

Deine SituationWahlWarum?
Du fängst mit Elektronik anArduino UnoEinfach, robust, direkt kompatibel mit 5-V-Modulen
Kamera, Gesichts- oder ObjekterkennungRaspberry PiRechenleistung, RAM, OpenCV und Kamera-Unterstützung
Roboterauto, Servo, SchrittmotorArduinoUnterbrechungsfreies, präzises Timing
Webserver, Datenbank, Smart-Home-ZentraleRaspberry PiLinux, Netzwerkdienste, Speicherplatz
Sensor, der tagelang mit Batterie läuftArduino oder PicoVerbrauch im Milliwatt-, nicht im Wattbereich
Gerät mit Bildschirm, Tastatur und MausRaspberry PiDesktop, Browser, HDMI
Python lernen und Hardware steuernRaspberry Pi Pico oder Raspberry PiMicroPython oder vollwertiges Python
Bildverarbeitung und Motorsteuerung zusammenRaspberry Pi + ArduinoDer Pi entscheidet, der Arduino setzt um

Vergleichstabelle: Raspberry Pi 5, Arduino Uno und Raspberry Pi Pico

MerkmalRaspberry Pi 5Arduino Uno R3Raspberry Pi Pico
TypEinplatinencomputerMikrocontroller-BoardMikrocontroller-Board
ProzessorBCM2712, 4 Kerne Cortex-A76, 2,4 GHzATmega328P, 8 Bit, 16 MHzRP2040, 2 Kerne Cortex-M0+, 133 MHz
RAM1, 2, 4, 8 oder 16 GB2 KB264 KB
SpeichermicroSD-Karte oder NVMe-SSD32 KB Flash2 MB Flash
BetriebssystemRaspberry Pi OS (Linux)KeinsKeins
BootzeitEtwa 15–40 SekundenUnter 1 SekundeUnter 1 Sekunde
StromverbrauchEtwa 3 W im Leerlauf, 7–8 W unter LastEtwa 0,25 W (50 mA)Etwa 0,1 W (20–25 mA)
StromversorgungUSB-C, 5 V 5 A empfohlenUSB 5 V oder 7–12 V über HohlsteckerUSB 5 V oder 1,8–5,5 V an VSYS
Logikpegel3,3 V (nicht 5-V-tolerant)5 V3,3 V (nicht 5-V-tolerant)
GPIO28 GPIOs an der 40-poligen Leiste20 (14 digital + 6 analog)26
Analogeingänge (ADC)Keine (externer ADC nötig)6 Kanäle, 10 Bit3 Kanäle, 12 Bit
Hardware-PWMAn 4 Pins (GPIO 12, 13, 18, 19)6 PinsAn allen GPIOs, 16 Kanäle
FunkWi-Fi 5 + Bluetooth 5.0KeinsKeins (WLAN + Bluetooth beim Pico W)
Bild und Ton2 × 4K-HDMI, 2 KameraanschlüsseKeineKeine
ProgrammierungPython, C/C++, Node.js und fast jede Linux-SpracheArduino C/C++MicroPython, C/C++ SDK, Arduino
EchtzeitfähigkeitNein (Linux-Scheduling)Ja, im MikrosekundenbereichJa, mit PIO noch genauer
Plötzlicher StromausfallSD-Karte kann beschädigt werdenKein ProblemKein Problem
Listenpreis (Oktober 2026)Von 45 $ (1 GB) bis über 300 $ (16 GB)Original etwa 25–30 $, Klon 5–10 $4 $ (Pico W 6 $, Pico 2 5 $)

Ein kurzer Hinweis zu den Preisen: Weil die Kosten für die LPDDR4-Speicherchips im Raspberry Pi 4 und 5 durch die Nachfrage von KI-Rechenzentren stark gestiegen sind, hat Raspberry Pi die Preise seit Dezember 2025 mehrfach erhöht; im Oktober 2026 liegt der Listenpreis des Pi 5 mit 2 GB bei 77,50 $. Der Pi Zero 2 W mit älterem Speicher ist bei 15 $ geblieben. Dazu braucht ein Pi eine microSD-Karte, ein 27-W-USB-C-Netzteil und am besten einen Kühler, was weitere 20–30 $ ausmacht. Ein Arduino Uno oder ein Pico braucht dagegen nur ein USB-Kabel.

Der grundlegende Unterschied zwischen Linux-Computer und Mikrocontroller

Auf dem Raspberry Pi ist dein Python-Programm nur einer von Hunderten Prozessen, die Linux gleichzeitig verwaltet. Der Kernel teilt den Prozessor reihum der Netzwerkverbindung, dem Bildschirm, den USB-Geräten, den Hintergrunddiensten und deinem Programm zu. Das ist sehr mächtig: Du kannst in Dateien loggen, gleichzeitig einen Webserver und einen Kamerastream laufen lassen und deinen Code per SSH aus einem anderen Raum bearbeiten. Auf dem Arduino läuft dagegen nur dein Code auf dem Prozessor. Da kein Betriebssystem dazwischensitzt, ändert ein digitalWrite-Befehl den Pin innerhalb weniger Mikrosekunden, und das jedes Mal gleich schnell. In der Praxis bedeutet das:

  • Multitasking: Der Pi führt Browser, Python-Skript und Datenbank gleichzeitig aus; der Arduino arbeitet mit einer einzigen loop(), und mehrere Aufgaben planst du selbst mit millis().
  • Speicher: Auf dem Pi kannst du Gigabytes an Fotos, Logs und Datenbanken ablegen; beim Uno muss dein Programm in 32 KB und müssen deine Variablen in 2 KB RAM passen.
  • Netzwerk: Der Pi geht direkt per WLAN und Ethernet ins Internet; der Uno hat keine Netzwerkverbindung, dafür brauchst du einen ESP32 oder ein Zusatzmodul.
  • Wartung: Weil der Pi ein Computer ist, braucht er Updates, ein Benutzerpasswort und etwas Sicherheitspflege; auf den Arduino lädst du einmal Code hoch, und er läuft jahrelang gleich.
  • Im Fehlerfall: Stürzt auf dem Pi ein Programm ab, läuft das System weiter und du kannst die Fehlermeldung lesen; hängt der Code auf dem Arduino, bleibt das Board still stehen, kann sich aber mit einem Watchdog-Timer selbst neu starten.

Bootzeit und plötzlicher Stromausfall

Sobald der Arduino Strom bekommt, startet dein Programm in weniger als einer Sekunde; selbst nach einem Druck auf den Reset-Taster wartet der Bootloader nur einen Moment. Der Raspberry Pi lädt zuerst seinen Bootloader, dann den Linux-Kernel und die Dienste; je nach Modell und Geschwindigkeit der SD-Karte dauert es 15–40 Sekunden bis zum Desktop. Bei Geräten, die nach einem Stromausfall sofort wieder funktionieren müssen, etwa einer Türklingel, einer Alarmanlage oder einer Bewässerung, ist das wichtig. Noch kritischer ist das Ausschalten: Linux schreibt ständig auf die SD-Karte, und fällt der Strom mitten in einem Schreibvorgang aus, kann das Dateisystem beschädigt werden, sodass der Pi nicht mehr startet. Da das Programm des Arduino unverändert im Flash liegt, kannst du ihm jederzeit den Stecker ziehen.

Schalte den Raspberry Pi nicht durch Stecker-Ziehen aus; führe vorher sudo poweroff aus oder wähle auf dem Desktop Herunterfahren und warte ein paar Sekunden. Baust du ein Gerät, das oft vom Strom getrennt wird, kannst du das System in raspi-config unter Performance Options mit Overlay File System schreibgeschützt machen. Nutze für den Pi 5 ein USB-C-Netzteil mit 5 V 5 A (27 W); bei einem schwachen Netzteil erscheint eine Unterspannungswarnung, vcgencmd get_throttled liefert einen anderen Wert als 0x0, und das Board kann unter Last neu starten.

Stromverbrauch und Batteriebetrieb

Beim Stromverbrauch liegt der Unterschied beim Faktor 10 bis 30. Ein Raspberry Pi 5 braucht im Leerlauf etwa 3 W und bei voller CPU-Last 7–8 W, mit USB-Laufwerk und Kamera noch mehr. Ein Arduino Uno zieht etwa 50 mA, also 0,25 W bei 5 V, ein Pico rund 0,1 W. Die Tabelle unten zeigt ungefähre Laufzeiten mit einer 10.000-mAh-Powerbank. So wird gerechnet: Die 10.000 mAh auf dem Etikett beziehen sich auf 3,7-V-Zellen, das sind etwa 37 Wh; nach den Verlusten der Wandlung auf 5 V bleiben rund 30 Wh nutzbar. Diesen Wert teilst du durch den Verbrauch des Boards in Watt. Für deine eigene Schaltung kannst du den Akkulaufzeit-Rechner verwenden.

BoardTypischer VerbrauchMit 10.000-mAh-Powerbank
Raspberry Pi 5 (Leerlauf)Etwa 3 WEtwa 10 Stunden
Raspberry Pi 5 (Volllast)7–8 WEtwa 4 Stunden
Raspberry Pi Zero 2 WEtwa 0,6 WEtwa 2 Tage
Arduino Uno R3Etwa 0,25 WEtwa 5 Tage
Raspberry Pi PicoEtwa 0,1 WEtwa 12 Tage (wenn die Powerbank nicht abschaltet)
Schlafender Arduino Pro Mini (LED und Spannungsregler entfernt)Mikroampere-BereichMonatelang direkt an Batterien
Die meisten Powerbanks schalten sich ab, wenn der Strom unter 50–100 mA fällt; sparsame Geräte mit Pico oder Arduino können deshalb nach ein paar Sekunden ausgehen. Nutze für solche Projekte direkt Batterien, eine 18650-Zelle oder eine Powerbank mit "Always on"-Modus. Für Funksensoren, die monatelang mit Batterie laufen sollen, ist auch der Deep-Sleep-Modus des ESP32 eine gute Wahl.

GPIO-Pins und Analogeingänge

Die 40-polige Leiste des Raspberry Pi hat 28 GPIOs; GPIO 0 und 1 sind für das ID-EEPROM von HAT-Platinen reserviert und werden meist nicht benutzt. Diese Pins arbeiten mit 3,3 V, sind nicht 5-V-tolerant und liefern pro Pin nur wenige Milliampere (höchstens etwa 16 mA); eine LED mit Vorwiderstand geht, ein Relais oder einen Motor solltest du aber nicht direkt treiben. Die größte Lücke sind die fehlenden Analogeingänge: Auf dem Pi gibt es kein Gegenstück zu analogRead, und um einen analogen Sensor wie ein Potentiometer, einen LDR oder einen Bodenfeuchtesensor auszulesen, brauchst du einen externen ADC-Chip. Der Arduino Uno hat 6 Analogeingänge, und fast jeder 5-V-Sensor lässt sich direkt anschließen.

ThemaRaspberry PiArduino UnoRaspberry Pi Pico
Logikpegel3,3 V5 V3,3 V
Strom pro PinWenige mA, höchstens etwa 16 mA20 mA empfohlen, 40 mA absolutes MaximumStandard 4 mA, einstellbar bis 12 mA
Analog lesenNicht möglich; MCP3008 oder ADS1115 nötiganalogRead(), 0–1023ADC(26).read_u16(), 0–65535
PWMHardware an 4 Pins, sonst SoftwareanalogWrite() an 6 PinsHardware an jedem Pin
Pin-NummerierungGPIO-Nummer weicht vom physischen Pin ab (GPIO17 = Pin 11)Nummer auf dem BoardGP-Nummer (GP15 = Pin 20)
5-V-Module wie der HC-SR04Spannungsteiler nötigDirektSpannungsteiler nötig

Es gibt zwei Wege, einen analogen Sensor an den Pi anzuschließen. Der erste ist ein ADC-Modul wie der 8-Kanal-MCP3008 mit 10 Bit am SPI-Bus oder der 4-Kanal-ADS1115 mit 16 Bit am I2C-Bus; die Bibliothek gpiozero unterstützt den MCP3008 direkt. Der zweite: Du schließt die Sensoren an einen Arduino oder Pico an und schickst die Messwerte per USB an den Pi; den Code dafür findest du weiter unten. Wie analoges Messen funktioniert, erklärt der Artikel Was ist ein ADC?, die Pinbelegungen der Boards findest du im Pinout-Tool.

Programmiersprache und Entwicklungsumgebung

Der Arduino wird in der C/C++-basierten Arduino-Sprache programmiert: Du schreibst den Code in der Arduino IDE auf deinem Rechner, er wird kompiliert und per USB auf das Board geladen. Auf dem Raspberry Pi schreibst und startest du den Code direkt auf dem Pi, einen separaten Upload-Schritt gibt es nicht. Die beliebteste Sprache ist Python, und Raspberry Pi OS bringt den Editor Thonny und die Bibliothek gpiozero schon mit. Du kannst aber auch jede andere Sprache nutzen, die unter Linux läuft, etwa C, C++, Node.js, Go oder Java. So sieht ein Programm "LED leuchtet, solange der Taster gedrückt ist" in Python auf dem Pi aus:

Python
1from gpiozero import LED, Button
2from signal import pause
3
4led = LED(17)       # GPIO17 = fiziksel pin 11 / GPIO17 = physical pin 11
5buton = Button(27)  # GPIO27 = fiziksel pin 13, dahili pull-up açık / physical pin 13, internal pull-up on
6
7buton.when_pressed = led.on    # Basınca LED yanar / LED on when pressed
8buton.when_released = led.off  # Bırakınca söner / LED off when released
9
10pause()  # Programı açık tut, olayları bekle / keep running and wait for events

Schließe den Taster zwischen GPIO27 und GND an und die LED über einen 220-Ω-Widerstand an GPIO17; die Klasse Button schaltet den internen Pull-up-Widerstand selbst ein. Speichere die Datei als buton_led.py und starte sie im Terminal mit python3 buton_led.py. Achtung: Beim Raspberry Pi 5 laufen die GPIOs über den neuen RP1-Chip, deshalb funktioniert die alte Bibliothek RPi.GPIO nicht mehr und bricht mit "RuntimeError: Cannot determine SOC peripheral base address" ab; nimm für neue Projekte gpiozero. Meldet pip install auf aktuellem Raspberry Pi OS den Fehler "externally-managed-environment", installiere das Paket mit sudo apt install python3-... oder lege eine virtuelle Umgebung (venv) an. Auf dem Raspberry Pi Pico nutzt du dasselbe Python-Wissen mit MicroPython.

Echtzeit: Warum der Arduino bei Motoren und Sensoren?

Weil Linux den Prozessor zwischen Programmen aufteilt, kann dein Python-Code gelegentlich für einige Millisekunden pausiert werden, und wann das passiert, lässt sich nicht vorhersagen. Für eine Webseite ist das egal, für zeitkritische Hardware aber ein ernstes Problem. Ein paar konkrete Beispiele:

  • Ultraschallsensor HC-SR04: Der Schall braucht pro Zentimeter Abstand etwa 58 µs für Hin- und Rückweg. Schleicht sich beim Messen der Echo-Zeit eine Verzögerung von 100 µs ein, liegt das Ergebnis 1,7 cm daneben; auf dem Pi sind solche Abweichungen häufig.
  • Servomotor: Ein Servo wird über einen 1–2 ms breiten Impuls in einem 50-Hz-Signal positioniert, und 1 Grad entspricht etwa 5,5 µs. Ein per Software-PWM vom Pi angesteuerter Servo zittert, am Arduino steht er ruhig.
  • LED-Streifen WS2812B: Jedes Bit dauert 1,25 µs, und das Timing verlangt eine Genauigkeit von 0,15 µs; der Pi schafft das nur mit SPI- oder PWM-Hardware plus DMA, Arduino und Pico steuern ihn direkt.
  • Schrittmotoren und Encoder: Tausende Schrittimpulse pro Sekunde oder schnelle Encoder-Signale erfasst der Arduino per Interrupt, ohne einen zu verpassen.
Brauchst du auf dem Pi unbedingt präzises Timing, nutze die Hardware-PWM-Pins (GPIO 12, 13, 18, 19) oder eine 16-Kanal-Servotreiberplatine PCA9685. Sauberer ist es, das Timing einem Arduino oder Pico zu überlassen und mit dem Pi nur Befehle auszutauschen; die PIO-Blöcke des Pico sind genau dafür gemacht (siehe Pico PIO und zwei Kerne).

Welches Board für welches Projekt?

ProjektBestes BoardWarum?
Kamera mit Gesichts- oder ObjekterkennungRaspberry Pi 5OpenCV, Picamera2, KI-Beschleuniger
WLAN-Überwachungskamera, Fotos verschickenESP32-CAM oder Raspberry Pi Zero 2 WFür einfache Fotos reicht die ESP32-CAM, für Stream und Aufnahme der Pi
Hindernisausweichender Roboter oder LinienfolgerArduinoPräzise, unterbrechungsfreie Schleife für Sensoren und Motoren
Roboter, der per Kamera navigiertRaspberry Pi + ArduinoDer Pi sieht und entscheidet, der Arduino treibt die Motoren
Automatische PflanzenbewässerungArduino oder ESP32Analoger Feuchtesensor, wenig Verbrauch, sofortiger Start
Smart-Home-Zentrale (Home Assistant)Raspberry PiDauerhaft laufender Server, Datenbank, Weboberfläche
WetterstationESP32 oder Pico WWLAN und geringer Verbrauch zusammen
Retro-Spielkonsole, MediaplayerRaspberry PiHDMI, Ton, USB-Gamepad
Batteriebetriebener DatenloggerArduino Pro Mini oder PicoSehr geringer Verbrauch im Schlafmodus
Elektronikunterricht, erste SchaltungenArduino Uno5 V, robuste Pins, viele Beispiele

Kamera und Bildverarbeitung sind die größte Stärke des Raspberry Pi. Die 12-MP-Camera Module 3 mit Autofokus wird per Flachbandkabel an den Kameraanschluss gesteckt; mit rpicam-still -o foto.jpg machst du ein Foto, und mit den Bibliotheken Picamera2 und OpenCV gelingen in Python Bewegungserkennung, Farbverfolgung, QR-Code-Lesen oder Gesichtserkennung. Für anspruchsvollere KI-Modelle gibt es Beschleunigerplatinen wie das AI HAT+ oder die AI Camera, die das Bild direkt in der Kamera verarbeitet. Die Kameraanschlüsse des Raspberry Pi 5 sind kleiner (22-polig) als bei älteren Modellen, ältere Kameras brauchen deshalb ein passendes Adapterkabel. Die 2 KB RAM des Arduino Uno reichen dagegen nicht einmal für ein kleines Foto; willst du nur Bilder aufnehmen und per Telegram verschicken, ist die günstige ESP32-CAM ein guter Mittelweg.

Bei Sensoren und Motoren hat der Arduino dagegen praktisch keinen Konkurrenten. Da er mit 5 V arbeitet, lassen sich die meisten Module auf dem Markt, etwa der HC-SR04, Relaismodule, der Motortreiber L298N oder Zeichen-LCDs, ohne Zusatzschaltung anschließen, und Shields für Motoren, Relais und Sensoren werden direkt aufgesteckt. In einem Roboterauto liest der Arduino den Abstandssensor Dutzende Male pro Sekunde und stoppt die Motoren in dem Moment, in dem er ein Hindernis sieht; diese Reaktionszeit hängt nie davon ab, wie ausgelastet ein Betriebssystem gerade ist. Aus demselben Grund laufen auch Servomotoren und Schrittmotoren am Arduino sauber.

HC-SR04
HC-SR04
SG90 servo
SG90 servo
L298N
L298N
DHT11
DHT11

Beide zusammen nutzen: Raspberry Pi + Arduino

Bei den meisten anspruchsvollen Projekten ist die beste Lösung, beide zu kombinieren. Stell es dir wie den menschlichen Körper vor: Der Raspberry Pi ist das Gehirn; er verarbeitet das Kamerabild, geht ins Internet, speichert Daten und trifft Entscheidungen. Der Arduino ist Rückenmark und Muskeln; er liest die Sensoren, treibt die Motoren und reagiert im Notfall reflexartig, ohne den Pi zu fragen. In einem Roboterauto mit Kamera erkennt der Pi zum Beispiel die Linie im Bild und schickt den Befehl "links abbiegen"; der Arduino setzt ihn in Motorgeschwindigkeiten um und hält von selbst an, wenn ein Hindernis auftaucht. Die üblichen Verbindungswege sind:

VerbindungWie?Worauf achten?
USB-Seriell (am einfachsten)Arduino an einen USB-Port des Pi stecken; er erscheint als /dev/ttyACM0 oder /dev/ttyUSB0Der Pi versorgt den Arduino gleich mit, kein Pegelwandler nötig
UART (GPIO 14 und 15)Pi TX → Arduino RX, Arduino TX → Pi RX, gemeinsame MasseSpannungsteiler für das 5-V-TX-Signal des Arduino nötig
I2CPi als Master, Arduino als Slave mit einer Adresse wie 0x08Pegelwandler empfohlen
WLAN / MQTTEin ESP32 schickt Messwerte übers Netzwerk an einen MQTT-Broker auf dem PiKeine Kabel, aber etwas Netzwerklatenz
  1. Lade den Arduino-Code unten von deinem Rechner auf das Board (alternativ geht das auch vom Pi aus mit arduino-cli).
  2. Verbinde den Arduino per USB-Kabel mit dem Pi und finde den Portnamen mit ls /dev/ttyACM* /dev/ttyUSB* im Terminal. Ein originaler Uno erscheint meist als /dev/ttyACM0, Klone mit CH340-Chip als /dev/ttyUSB0.
  3. Ist die Bibliothek pyserial nicht installiert, installiere sie mit sudo apt install python3-serial.
  4. Hat dein Benutzer keinen Zugriff auf die serielle Schnittstelle, gib sudo usermod -a -G dialout $USER ein und melde dich danach ab und wieder an.
  5. Speichere den Python-Code als pi_arduino.py und starte ihn mit python3 pi_arduino.py; ist der serielle Monitor der Arduino IDE offen, schließe ihn vorher.
C++ (Arduino IDE)
1// Arduino Uno: A0 değerini Pi'ye gönderir, Pi'den gelen komutla LED'i yönetir
2// Arduino Uno: sends the A0 reading to the Pi and drives the LED on the Pi's command
3const int SENSOR_PIN = A0;      // LDR ya da potansiyometre / LDR or potentiometer
4const int LED_PIN = 13;         // Dahili LED / built-in LED
5unsigned long sonGonderim = 0;  // Son gönderim zamanı / time of the last send
6
7void setup() {
8  Serial.begin(115200);         // Pi tarafıyla aynı hız / same baud rate as the Pi
9  pinMode(LED_PIN, OUTPUT);
10}
11
12void loop() {
13  // Pi'den komut geldi mi? / has a command arrived from the Pi?
14  if (Serial.available()) {
15    String komut = Serial.readStringUntil('\n');  // Satır sonuna kadar oku / read up to the newline
16    komut.trim();                                  // Boşluk ve \r karakterlerini sil / strip spaces and \r
17    if (komut == "LED1") digitalWrite(LED_PIN, HIGH);
18    else if (komut == "LED0") digitalWrite(LED_PIN, LOW);
19  }
20
21  // 500 ms'de bir ölçüm gönder, loop'u bekletmeden / send a reading every 500 ms without blocking
22  if (millis() - sonGonderim >= 500) {
23    sonGonderim = millis();
24    int deger = analogRead(SENSOR_PIN);  // 0-1023
25    Serial.print("A0:");
26    Serial.println(deger);               // Örnek: A0:512 / example: A0:512
27  }
28}
Python
1import time
2import serial  # sudo apt install python3-serial
3
4# Orijinal Uno: /dev/ttyACM0, CH340'lı klon: /dev/ttyUSB0 / genuine Uno: /dev/ttyACM0, CH340 clone: /dev/ttyUSB0
5ser = serial.Serial("/dev/ttyACM0", 115200, timeout=1)
6time.sleep(2)             # Port açılınca Arduino yeniden başlar / opening the port resets the Arduino
7ser.reset_input_buffer()  # Eski verileri temizle / drop stale data
8
9ESIK = 300                # Karanlık eşiği, sensörüne göre ayarla / darkness threshold, tune it for your sensor
10led_durum = None
11
12while True:
13    satir = ser.readline().decode("utf-8", errors="ignore").strip()
14    if not satir.startswith("A0:") or not satir[3:].isdigit():
15        continue          # Boş ya da yarım satırı atla / skip empty or partial lines
16    deger = int(satir[3:])
17    print("Sensor:", deger)
18
19    yeni = "LED1" if deger < ESIK else "LED0"  # Karanlıkta LED'i yak / LED on in the dark
20    if yeni != led_durum:                      # Yalnız değişince gönder / send only on change
21        ser.write((yeni + "\n").encode())
22        led_durum = yeni

Der Arduino schickt alle 500 ms eine Zeile wie "A0:512" und wartet auf die Befehle "LED1" oder "LED0" mit Zeilenende; da er millis() verwendet, bremst das Warten auf Befehle die Messungen nie aus. Auf der Python-Seite ist die Zeile time.sleep(2) wichtig: Öffnet der Pi die serielle Schnittstelle, startet der Arduino automatisch neu, und alles, was in den ersten zwei Sekunden gesendet wird, geht verloren. Passe den Schwellwert 300 an deinen Sensor an; je nachdem, wie herum du den LDR angeschlossen hast, steigt oder fällt der Wert bei Dunkelheit. Mehr zur seriellen Kommunikation findest du in Serielle Kommunikation zwischen Arduino und Python und Was ist UART?.

Schließt du den Arduino statt per USB an GPIO 14 (TX) und GPIO 15 (RX) des Pi an, liefert die TX-Leitung des Arduino 5 V und kann den RX-Pin des Pi zerstören. Setze einen Spannungsteiler dazwischen: Mit 1 kΩ in Reihe am TX des Arduino und 2 kΩ zwischen RX des Pi und GND erhältst du 5 × 2 / (1 + 2) = 3,33 V. Das 3,3-V-TX-Signal des Pi erkennt der Arduino meist korrekt; für I2C und SPI verwende einen Logikpegelwandler.

Wo der Raspberry Pi Pico hingehört: Raspberry Pi im Namen, Mikrocontroller im Wesen

Hier entsteht die meiste Verwirrung. Obwohl er von Raspberry Pi stammt, ist der Raspberry Pi Pico kein Computer, sondern ein Mikrocontroller-Board wie der Arduino: Er hat kein Betriebssystem, startet sofort, verbraucht etwa 0,1 W und arbeitet in Echtzeit. Im Inneren steckt der von Raspberry Pi selbst entwickelte Zweikern-Chip RP2040 (beim Pico 2 der RP2350 mit 150 MHz). Gegenüber dem Arduino Uno hat er viel mehr RAM (264 KB), einen 12-Bit-ADC und PIO-Blöcke für zeitkritische Aufgaben, und du programmierst ihn in MicroPython, C/C++ oder mit der Arduino IDE. Mit 4 $ ist er günstiger als ein Arduino Uno, arbeitet aber mit 3,3 V, weshalb du bei 5-V-Modulen aufpassen musst. Details liefert der Artikel Was ist der Raspberry Pi Pico?.

Raspberry Pi Pico Mikrocontroller-Board
Raspberry Pi Pico: Trotz des Namens läuft darauf kein Betriebssystem; wie ein Arduino ist er ein 3,3-V-Mikrocontroller-Board, das ein einziges Programm ausführt.

Der größte Vorteil des Pico in diesem Vergleich: Er arbeitet mit demselben 3,3-V-Pegel wie der Raspberry Pi. Du kannst seine UART-Pins ohne Pegelwandler direkt mit dem Pi verbinden oder ihn per USB anstecken und wie einen Arduino nutzen. Der MicroPython-Code unten sendet Daten im selben Format "A0:Wert" wie der Arduino-Code oben und hört auf dieselben LED-Befehle, sodass das Python-Skript auf dem Pi ohne jede Änderung funktioniert. Speichere den Code mit Thonny als main.py auf dem Pico und schließe Thonny danach, damit die serielle Schnittstelle für das Skript auf dem Pi frei ist.

MicroPython
1import sys, select, time
2from machine import ADC, Pin
3
4sensor = ADC(26)        # GP26 = ADC0 (fiziksel pin 31) / GP26 = ADC0 (physical pin 31)
5led = Pin(25, Pin.OUT)  # Pico dahili LED; Pico W'de Pin("LED") / onboard LED; use Pin("LED") on Pico W
6poll = select.poll()
7poll.register(sys.stdin, select.POLLIN)  # USB'den gelen veriyi dinle / listen for data over USB
8son = time.ticks_ms()
9
10while True:
11    # Pi'den komut var mı? / is there a command from the Pi?
12    if poll.poll(0):
13        komut = sys.stdin.readline().strip()
14        if komut == "LED1":
15            led.on()
16        elif komut == "LED0":
17            led.off()
18
19    # 500 ms'de bir, Arduino ile aynı biçimde gönder / every 500 ms, same format as the Arduino
20    if time.ticks_diff(time.ticks_ms(), son) >= 500:
21        son = time.ticks_ms()
22        deger = sensor.read_u16() >> 6  # 0-65535 -> 0-1023
23        print("A0:" + str(deger))

Die Grenzen verschwimmen zudem immer mehr. 2025 hat Arduino den Arduino UNO Q vorgestellt, der beide Welten auf einer Platine vereint: Auf dem Board im Uno-Format sitzen ein Vierkern-Prozessor von Qualcomm, auf dem Debian Linux läuft, und ein STM32U585-Mikrocontroller, der Arduino-Sketches in Echtzeit ausführt. Die Architektur "Pi + Arduino" passt also inzwischen auf ein einziges Board. Das Prinzip bleibt aber gleich: Die Linux-Seite kümmert sich um Netzwerk, Bild und Anwendung, die Mikrocontroller-Seite um Pins und Timing. Wer die Unterschiede aus diesem Artikel kennt, holt auch aus solchen Hybrid-Boards deutlich mehr heraus.

Häufige Fehler und Irrtümer

  • "Der Raspberry Pi Pico ist ein kleiner Raspberry Pi": Ist er nicht; er führt kein Linux aus und hat keinen HDMI-Ausgang. Der Pico ist ein Mikrocontroller und gehört in dieselbe Klasse wie der Arduino.
  • 5-V-Signale an den Pi anschließen: Wird der ECHO-Pin des HC-SR04 oder die TX-Leitung des Arduino direkt an einen GPIO gelegt, können der Pin oder sogar der Prozessor dauerhaft Schaden nehmen; nimm einen Spannungsteiler.
  • analogRead auf dem Pi suchen: Der Raspberry Pi hat keine Analogeingänge; verwende einen MCP3008, einen ADS1115 oder einen Arduino bzw. Pico als Helfer.
  • Ausschalten durch Stecker-Ziehen: Das ist der schnellste Weg, eine SD-Karte zu beschädigen; nutze jedes Mal sudo poweroff.
  • Pi 5 am Handy-Ladegerät betreiben: Mit einem Netzteil, das keine 5 V 5 A liefert, begrenzt der Pi 5 den Gesamtstrom der USB-Ports auf 600 mA und kann unter Last neu starten.
  • Fehler "Permission denied: '/dev/ttyACM0'": Dein Benutzer ist nicht in der Gruppe dialout; führe den usermod-Befehl aus und melde dich neu an. Bei "Device or resource busy" blockiert ein anderes Programm (serieller Monitor oder Thonny) den Port.
  • Der Gedanke "Arduino ist veraltet, es gibt ja den Pi": Die beiden sind keine Konkurrenten, sondern Werkzeuge für verschiedene Aufgaben; die meisten Geräte, von der Waschmaschine bis zum Auto, laufen bis heute mit Mikrocontrollern.
Wenn du dich nicht entscheiden kannst, lerne die Grundlagen der Elektronik mit einem Arduino Uno: Bei der Arbeit mit LEDs, Tastern, Sensoren und Motoren erlebst du Strom, Spannung und Timing hautnah. Sobald du eine Idee mit Kamera, Netzwerk oder Bildschirm hast, nimm einen Raspberry Pi dazu; dann hilft dir das am Arduino Gelernte, die GPIOs des Pi sicher zu nutzen. Bei der Wahl des Boards helfen dir auch Welchen Arduino soll ich kaufen? und Arduino oder ESP32?.

Kurz gesagt: Der Raspberry Pi ist ein Computer, der denkt und sieht, der Arduino ein Controller, der Wahrgenommenes sofort in Aktion umsetzt; ein gutes Projekt verbindet oft die Stärken beider. In der BlueGrays-App findest du Dutzende Projekte mit Arduino, ESP32 und Raspberry Pi Pico, von LEDs und Sensoren bis zu Robotern und WLAN-Projekten, jeweils mit Schritt-für-Schritt-Schaltplan und fertigem Code, und du kannst mit den kostenlosen beginnen.

Häufige Fragen

Was ist der Unterschied zwischen Raspberry Pi und Arduino?

Der Raspberry Pi ist ein Einplatinencomputer mit Linux-Betriebssystem; mit Bildschirm, Tastatur, Internet und Kamera nutzt du ihn wie einen PC. Der Arduino ist ein Mikrocontroller-Board ohne Betriebssystem, das ein einziges hochgeladenes Programm sofort und in Echtzeit ausführt. Der Pi glänzt bei komplexen Berechnungen und Netzwerkaufgaben, der Arduino bei Sensoren, Motoren und stromsparenden Anwendungen.

Raspberry Pi oder Arduino für Anfänger?

Wenn du Elektronik lernen willst, fang mit einem Arduino Uno an: Er arbeitet direkt mit 5-V-Modulen, verzeiht Fehler eher und es gibt unzählige Beispiele. Geht es dir vor allem um Linux, Python-Programmierung, Kameras oder Serverprojekte, ist der Raspberry Pi der bessere Einstieg. Wer Python mag und Mikrocontroller lernen will, findet im Raspberry Pi Pico einen günstigen Mittelweg.

Läuft Arduino-Code auf dem Raspberry Pi?

Nicht direkt. Arduino-Sketches werden für Mikrocontroller wie den ATmega328P kompiliert; auf dem Raspberry Pi musst du dieselbe Logik mit Python und Bibliotheken wie gpiozero neu schreiben. Du kannst den Raspberry Pi aber als Computer nutzen, um mit arduino-cli Code auf einen Arduino zu laden.

Kann man Raspberry Pi und Arduino zusammen verwenden?

Ja. Am einfachsten verbindest du den Arduino per USB-Kabel mit dem Pi und tauschst Daten über die serielle Schnittstelle aus; in Python genügt die Bibliothek pyserial. Dabei übernimmt der Pi Kamera, Netzwerk und Entscheidungen, der Arduino Sensoren und Motoren. Verbindest du sie über UART oder I2C an den GPIOs, brauchst du wegen 5 V gegenüber 3,3 V einen Spannungsteiler oder Pegelwandler.

Ist der Raspberry Pi Pico ein Arduino?

Nein, aber er gehört in dieselbe Klasse: Wie der Arduino ist der Pico ein Mikrocontroller-Board ohne Betriebssystem. Dank des RP2040 ist er schneller als der Uno, hat mehr RAM und lässt sich in MicroPython programmieren, auf Wunsch auch mit der Arduino IDE. Der wichtigste Unterschied: Er arbeitet mit 3,3 V statt 5 V.

Ist Raspberry Pi oder Arduino besser für einen Roboter?

Für einen Roboter, der Hindernissen ausweicht, einer Linie folgt oder ferngesteuert fährt, reicht ein Arduino und ist zuverlässiger; er steuert Motoren und Sensoren ohne Verzögerung. Soll der Roboter mit einer Kamera Objekte erkennen, eine Karte erstellen oder übers Internet gesteuert werden, brauchst du einen Raspberry Pi. Fortgeschrittene Roboter nutzen meist beide: Der Pi entscheidet, der Arduino treibt die Motoren.

Alle Projekte ansehen
LED Blinken
#1Anfänger

LED Blinken

Das allererste Hallo der Elektronik: eine einzelne LED an- und ausschalten. Der Arduino schaltet die LED in kurzen Abständen ein und aus, das Licht blinkt also schnell. So siehst du ganz einfach, wie

4.6(188)
1127
Raspberry Pi Pico Onboard-LED Blinken (Pico und Pico W)
#147Anfänger

Raspberry Pi Pico Onboard-LED Blinken (Pico und Pico W)

Das Eröffnungsprojekt der Raspberry Pi Pico-Serie! Wir bringen die grüne interne LED zum Blinken, um zu überprüfen, ob die Platine funktioniert — ein klassisches "Hello World"-Erstexperiment. Keine externen Komponenten, nur Pico und USB-Kabel. Der Code ist in MicroPython geschrieben (die offiziell von der Raspberry Pi Foundation unterstützte Sprache). Lerne die machine.Pin-Klasse, Pin.OUT-Modus, led.on()/off()-Methoden und time.sleep() in Thonny IDE. Verfolge jede Umsch

5.0(1)
10
Lichtstärke messen mit LDR
#11Anfänger

Lichtstärke messen mit LDR

Willst du sehen, wie hell dein Zimmer ist, und zwar als Zahl? Der LDR, ein kleines lichtempfindliches Bauteil, misst das Umgebungslicht, und der Arduino schreibt den Wert jede halbe Sekunde auf deinen

4.6(81)
139
Temperatur und Luftfeuchtigkeit mit DHT11
#55Mittel

Temperatur und Luftfeuchtigkeit mit DHT11

Wie warm ist dein Zimmer, und ist die Luft feucht oder trocken? Der DHT11-Sensor misst Temperatur und Luftfeuchtigkeit, und der Arduino schreibt die Werte auf ein zweizeiliges LCD und aktualisiert sie

4.7(47)
73
HC-SR04 Abstandsmessung (serielle Anzeige)
#27Anfänger

HC-SR04 Abstandsmessung (serielle Anzeige)

Der Sensor HC-SR04 funktioniert wie eine Fledermaus, die im Dunkeln ihren Weg findet: Er sendet einen Ton, den du nicht hörst, lauscht auf das Echo und misst, wie weit der Gegenstand vor ihm entfernt

4.6(46)
71
Einweg-Kommunikation zwischen 2 Arduinos
#57Mittel
Premium

Einweg-Kommunikation zwischen 2 Arduinos

Du bringst zwei Arduinos über ein einziges Kabel zum Reden: Drückst du den Knopf am einen, geht die LED am anderen an, drückst du noch einmal, geht sie aus. Die sendende Platine meldet den Knopfdruck

4.4(37)
50
Python-Entwickler-Tastatur
#66Mittel
Premium

Python-Entwickler-Tastatur

Wenn du es leid bist, beim Programmieren immer wieder dieselben Muster zu tippen, ist diese kleine Tastatur genau das Richtige. Der Arduino Leonardo meldet sich am Computer wie eine ganz normale Tasta

4.6(35)
45
Intelligente Bewässerungsstation
#83Fortgeschritten
Premium

Intelligente Bewässerungsstation

Ein Gärtner, der deine Pflanzen von selbst gießt, damit sie im Urlaub nicht vertrocknen. Ein Bodenfeuchtesensor misst, wie nass die Erde ist; wird sie trocken, lässt der Arduino die Wasserpumpe ein pa

5.0(42)
57