Eine Kamera per CSI-Kabel an den Raspberry Pi 5 anschließen, Raspberry Pi OS starten und mit rpicam-hello testen – eigentlich klingt das nach einer Sache von wenigen Minuten.
Genau das dachte ich auch, als ich die Waveshare IMX708 mit 12 Megapixeln an meinen Raspberry Pi 5 anschließen wollte.
Die Kamera war mit dem CSI-Anschluss verbunden, der Raspberry Pi lief und der erste Test konnte beginnen. Doch statt eines Kamerabildes erschien lediglich:
raspi@raspberry:~ $ rpicam-hello [0:00:25.909833854] [1850] INFO Camera camera_manager.cpp:340 libcamera v0.7.2+rpt20260817 MESA-EGL: warning: DRI3 error: Could not get DRI3 device MESA-EGL: warning: Ensure your X server supports DRI3 to get accelerated rendering Made egl preview window ERROR: *** no cameras available ***
Auch die Prüfung mit
rpicam-hello --list-cameras
lieferte zunächst nur:
No cameras available!
Die Lösung lag letztendlich nicht bei rpicam selbst. Die Waveshare IMX708 musste auf meinem Raspberry Pi 5 zunächst korrekt über ein Device-Tree-Overlay konfiguriert werden.
In diesem Beitrag zeige ich dir meinen kompletten Aufbau, den Anschluss der IMX708 an CSI CAM1, die notwendige Konfiguration und schließlich die Aufnahme eines ersten Fotos.
Verwendete Hardware
Für meinen Aufbau verwende ich:
- Raspberry Pi 5
- originales Raspberry-Pi-5-Gehäuse
- Waveshare IMX708 Kamera
- passendes CSI-Flachbandkabel für den Raspberry Pi 5
- Raspberry Pi OS
Die IMX708 basiert auf demselben Sony-Sensor, der auch beim Raspberry Pi Camera Module 3 verwendet wird. Der Sensor bietet eine maximale Auflösung von 4608 × 2592 Pixeln und wird von Raspberry Pi OS über den imx708-Treiber unterstützt.
Offizielle Raspberry-Pi-Dokumentation
Raspberry Pi stellt für die eigenen Kameramodule eine offizielle Anleitung zur Einrichtung und ersten Nutzung bereit. Dort wird gezeigt, wie eine Kamera angeschlossen und anschließend unter Raspberry Pi OS getestet wird.Offizielle Raspberry-Pi-Anleitung zur Kameraeinrichtung
Für die Waveshare IMX708 sind zusätzlich die herstellerspezifischen Hinweise wichtig, da hier die passende Overlay-Konfiguration eine Rolle spielt.
Waveshare IMX708 am Raspberry Pi 5 anschließen
Der Raspberry Pi 5 besitzt zwei MIPI-Anschlüsse, die sowohl für Kameras als auch für Displays verwendet werden können.
Für meinen Aufbau habe ich die Waveshare IMX708 mit CAM/DISP1 beziehungsweise CAM1 verbunden.
Bevor das CSI-Kabel angeschlossen oder entfernt wird, sollte der Raspberry Pi vollständig heruntergefahren und anschließend vom Netzteil getrennt werden.
Das Flachbandkabel wird vorsichtig in den Anschluss geschoben und anschließend mit der kleinen Verriegelung fixiert. Gerade bei den sehr schmalen Anschlüssen des Raspberry Pi 5 sollte man darauf achten, dass das Kabel gerade und vollständig im Stecker sitzt.


Erster Test mit rpicam-hello
Nach dem Start des Raspberry Pi wollte ich zunächst prüfen, ob die Kamera funktioniert.
Dazu reicht normalerweise:
rpicam-hello
Bei mir erschien jedoch unter anderem:
MESA-EGL: warning: DRI3 error: Could not get DRI3 device MESA-EGL: warning: Ensure your X server supports DRI3 to get accelerated rendering Made egl preview window ERROR: *** no cameras available ***
Die MESA-EGL-Meldungen sehen zunächst verdächtig aus, waren aber nicht die Ursache meines eigentlichen Problems.
Entscheidend war:
ERROR: *** no cameras available ***
Der Raspberry Pi hatte zu diesem Zeitpunkt schlicht keine Kamera erkannt.
Prüfen, ob eine Kamera erkannt wurde
Mit folgendem Befehl lässt sich unabhängig von der Vorschau prüfen, welche Kameras Raspberry Pi OS erkennt:
rpicam-hello --list-cameras
Bei mir sah die Ausgabe zunächst so aus:
No cameras available!
Spätestens damit war klar, dass nicht lediglich die Bildvorschau Probleme machte. Die IMX708 war im System überhaupt nicht verfügbar.
IMX708 in der config.txt konfigurieren
Raspberry Pi OS kann offizielle Kameramodule normalerweise automatisch erkennen. Bei Drittanbieter-Kameras kann allerdings eine manuelle Konfiguration notwendig sein.
Raspberry Pi weist für solche Kameras ausdrücklich darauf hin, die Konfigurationshinweise des jeweiligen Herstellers zu beachten.
Die Kameraeinstellungen befinden sich bei aktuellen Raspberry-Pi-OS-Versionen in:
/boot/firmware/config.txt
Die Datei öffne ich mit:
sudo nano /boot/firmware/config.txt
Zunächst wird die automatische Kameraerkennung deaktiviert:
camera_auto_detect=0
Anschließend wird der Treiber für den IMX708-Sensor aktiviert.
Da meine Kamera an CAM1 angeschlossen ist, verwende ich:
dtoverlay=imx708,cam1
Die relevante Konfiguration sieht damit so aus:
camera_auto_detect=0 dtoverlay=imx708,cam1
Bei Raspberry Pi ist CAM1 für diesen Overlay-Typ auch der Standardanschluss, wenn kein cam0 beziehungsweise cam1 angegeben wird. Die explizite Angabe von cam1 macht die Konfiguration meiner Meinung nach jedoch deutlich nachvollziehbarer.
Wer die Kamera stattdessen an CAM0 angeschlossen hat, verwendet:
dtoverlay=imx708,cam0
Nach dem Speichern der Datei muss der Raspberry Pi neu gestartet werden:
sudo reboot
Erfolg: IMX708 wird erkannt
Nach dem Neustart habe ich erneut geprüft, ob die Kamera verfügbar ist:
rpicam-hello --list-cameras
Dieses Mal sah die Ausgabe deutlich besser aus:
Available cameras
-----------------
0 : imx708 [4608x2592 10-bit RGGB] (/base/axi/pcie@1000120000/rp1/i2c@80000/imx708@1a)
Modes: 'SRGGB10_CSI2P' : 1536x864 [120.13 fps - (768, 432)/3072x1728 crop]
2304x1296 [56.03 fps - (0, 0)/4608x2592 crop]
4608x2592 [14.35 fps - (0, 0)/4608x2592 crop]
Damit war die Waveshare IMX708 erfolgreich eingebunden.
Besonders wichtig ist die erste Zeile:
0 : imx708 [4608x2592 10-bit RGGB]
Der Raspberry Pi erkennt jetzt den IMX708-Sensor und bietet verschiedene Aufnahmeauflösungen beziehungsweise Frameraten an.
Erstes Foto mit der IMX708 aufnehmen
Nachdem die Kamera erkannt wurde, lässt sich sehr einfach ein erstes Foto aufnehmen:
rpicam-still -o test.jpg
Das Bild wird anschließend im aktuellen Verzeichnis als test.jpg gespeichert.
Für eine Aufnahme mit der maximalen Sensorauflösung kann beispielsweise folgender Befehl verwendet werden:
rpicam-still \ --width 4608 \ --height 2592 \ -o test-full.jpg
Autofokus für Nahaufnahmen verwenden
Meine Kamera soll später nicht einfach nur einen Raum oder eine Landschaft aufnehmen. Ich möchte damit unter anderem elektronische Bauteile, Sensoren und Mikrocontroller aus relativ kurzer Entfernung erfassen.
Dafür ist der Autofokus der IMX708 besonders interessant.
Für Nahaufnahmen kann beispielsweise der Makrobereich verwendet werden:
rpicam-still \ --autofocus-mode auto \ --autofocus-range macro \ -o test-macro.jpg
Damit versucht die Kamera vor der eigentlichen Aufnahme automatisch auf ein Objekt im Nahbereich scharfzustellen.
Für einen Aufbau, bei dem sich der Abstand zwischen Kamera und Objekt nur wenig verändert, ist das sehr praktisch.
Shell-Skript für automatische Fotoaufnahmen
Da ich später häufiger Fotos aufnehmen möchte, habe ich mir noch ein kleines Shell-Skript erstellt.
Das Skript legt einen Ordner für die Aufnahmen an, erzeugt automatisch einen Dateinamen mit Zeitstempel und nutzt den Autofokus der Kamera.
#!/bin/bash
# Zielordner
OUTPUT_DIR="$HOME/camera"
# Ordner anlegen, falls er noch nicht existiert
mkdir -p "$OUTPUT_DIR"
# Dateiname mit Zeitstempel
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
FILE="$OUTPUT_DIR/foto_$TIMESTAMP.jpg"
echo "Foto wird aufgenommen..."
rpicam-still \
--autofocus-mode auto \
--autofocus-range macro \
--width 4608 \
--height 2592 \
-o "$FILE"
if [ $? -eq 0 ]; then
echo "Foto gespeichert:"
echo "$FILE"
else
echo "Fehler bei der Aufnahme."
exit 1
fi
Das Skript kann beispielsweise als
foto.sh
gespeichert werden.
Anschließend muss es einmal ausführbar gemacht werden:
chmod +x foto.sh
Danach reicht:
./foto.sh
Ein erzeugtes Foto bekommt dann beispielsweise einen Dateinamen wie:
/home/raspi/camera/foto_2026-10-08_19-48-32.jpg
Damit habe ich bereits eine gute Grundlage, um die Kamera später aus anderen Skripten oder Anwendungen heraus anzusteuern.
Wenn weiterhin „No cameras available“ erscheint
Sollte die Kamera trotz Konfiguration weiterhin nicht erkannt werden, würde ich zunächst nicht weitere Software installieren.
Stattdessen sollten einige grundlegende Punkte geprüft werden:
CSI-Kabel prüfen
Der Raspberry Pi sollte vollständig ausgeschaltet und vom Netzteil getrennt werden. Anschließend das CSI-Kabel an Kamera und Raspberry Pi noch einmal herausnehmen und sorgfältig neu einsetzen.
Das Kabel muss gerade und vollständig im Anschluss sitzen.
Richtigen Kameraanschluss verwenden
Die Einstellung in der config.txt muss zum verwendeten Anschluss passen.
Für CAM1:
dtoverlay=imx708,cam1
Für CAM0:
dtoverlay=imx708,cam0
Konfiguration kontrollieren
Mit folgendem Befehl lassen sich die relevanten Einträge schnell anzeigen:
grep -nE "camera|imx708" /boot/firmware/config.txt
Für meinen Aufbau an CAM1 sollten dabei unter anderem diese beiden Zeilen erscheinen:
camera_auto_detect=0 dtoverlay=imx708,cam1
Nach jeder Änderung neu starten
Änderungen an den Device-Tree-Overlays werden erst nach einem Neustart aktiv:
sudo reboot
Anschließend erneut:
rpicam-hello --list-cameras
Fazit
Die Waveshare IMX708 am Raspberry Pi 5 in Betrieb zu nehmen war letztendlich nicht kompliziert – allerdings auch nicht ganz so automatisch, wie ich zunächst erwartet hatte.
Das eigentliche CSI-Kabel war schnell angeschlossen. Der entscheidende Punkt war in meinem Fall die passende Konfiguration des IMX708-Sensors in der /boot/firmware/config.txt.
Aus:
No cameras available!
wurde nach der Konfiguration:
0 : imx708 [4608x2592 10-bit RGGB]
Damit steht mir nun eine hochauflösende Kamera mit Autofokus zur Verfügung, die ich im nächsten Schritt in einem größeren Projekt einsetzen möchte.
Geplant ist ein kleiner KI-gestützter Werkstatt-Assistent: Eine Kamera soll elektronische Bauteile, Sensoren und Mikrocontroller auf einem definierten Arbeitsbereich aufnehmen. Die Bilder sollen anschließend analysiert und Informationen zum erkannten Bauteil auf einem Display ausgegeben werden.
Der Raspberry Pi 5 und die IMX708 bilden dafür jetzt die technische Grundlage.
Letzte Aktualisierung am: 09. Oktober 2026








