BaseCamera and provide a consistent interface for the vehicle.
Available Cameras
PiCamera (Raspberry Pi Camera Module)
The standard camera for Raspberry Pi using the Picamera2 library (Bullseye/Bookworm). Location:donkeycar/parts/camera.py:23
image_w: Image width in pixels (default: 160)image_h: Image height in pixels (default: 120)image_d: Color depth - 3 for RGB, 1 for grayscale (default: 3)vflip: Vertical flip boolean (default: False)hflip: Horizontal flip boolean (default: False)
- Connect camera ribbon cable to CSI port on Raspberry Pi
- Enable camera interface:
sudo raspi-configā Interface Options ā Camera - Requires:
picamera2library (pre-installed on recent Raspberry Pi OS)
Webcam
USB webcam support using pygame. Location:donkeycar/parts/camera.py:85
image_w,image_h,image_d: Image dimensionsframerate: Target frames per second (default: 20)camera_index: Camera index when multiple USB cameras (default: 0)
CSI Camera (NVIDIA Jetson)
For Jetson Nano IMX219 camera modules using GStreamer. Location:donkeycar/parts/camera.py:194
capture_width,capture_height: Native camera resolutionimage_w,image_h: Output resolution (will be scaled)framerate: Target FPS (default: 60)gstreamer_flip: Image rotation/flip method
V4L Camera (Video4Linux)
Direct V4L2 access for low-level camera control. Location:donkeycar/parts/camera.py:273
Advanced Cameras
OAK-D (Luxonis)
Intel Movidius-based depth camera with onboard AI processing. Location:donkeycar/parts/oak_d.py:34
- RGB color camera
- Stereo depth sensing
- Onboard neural network inference
- 4K video capability
RealSense T265 (Intel)
Tracking camera with visual-inertial odometry. Location:donkeycar/parts/realsense2.py:13
- Position (x, y, z) in meters
- Velocity (vx, vy, vz) in m/s
- Acceleration (ax, ay, az) in m/s²
- Optional fisheye camera images
Leopard Imaging Camera
High-performance camera for NVIDIA Jetson with built-in fast stretch. Location:donkeycar/parts/leopard_imaging.py:7
- Hardware-accelerated image processing
- High frame rates (up to 60 FPS)
- Optimized for Jetson platform
Testing Cameras
Use the camera test script:Mock Cameras for Testing
MockCamera
Returns a static image for testing without hardware. Location:donkeycar/parts/camera.py:333
ImageListCamera
Replays images from a tub for testing. Location:donkeycar/parts/camera.py:350
Camera Configuration
Inmyconfig.py:
Common Issues
Camera Not Detected
Raspberry Pi:Low Frame Rate
- Reduce image resolution
- Disable unnecessary image processing
- Use hardware acceleration when available
- Check USB bandwidth (for USB cameras)
Image Quality Issues
- Adjust lighting conditions
- Clean camera lens
- Check focus (if adjustable)
- Verify correct image orientation (use flip settings)
Next Steps
- Controllers - Add user input
- Models - Process camera images with AI
- Data Stores - Record camera data
