Luna SL1680 Dual Camera AI Demo on Torizon OS
Introduction
This article shows how to run the Luna SL1680 dual camera AI demo application developed by Toradex and presented at Embedded World 2026. The demo runs two TensorFlow Lite inference pipelines simultaneously, each fed by a separate USB camera:
- Object detection: identifies objects in the camera feed
- Human body pose estimation: detects body joint keypoints from the camera feed
The inference results are rendered on a connected HDMI display and are also accessible remotely from a web browser by acessing the board's IP address.
Prerequisites
- Hardware prerequisites:
- Luna SL1680
- Two USB cameras (see Camera Compatibility for detailed specs)
- Compatible Heatsink
- Optional HDMI display
- The application can run headless, with the interface accessed from a web browser on the host computer. For local display, a screen larger than 10" is highly recommended.
- Software prerequisites:
- Torizon OS based on BSP 2.1.0 or newer installed
Camera Compatibility
Both cameras share an USB 2.0 hub with a total bandwidth of 480 Mbps. As the demo application uses isochronous USB transfers, the maximum bandwidth for two cameras together is 384 Mbps (~192 Mbps per camera). Cameras must stay within this limit per device:
| Format | Resolution | FPS | Bandwidth | Compatible |
|---|---|---|---|---|
| MJPEG | Any | 30 | 15-50 Mbps | ✅ |
| YUYV | 640x480 | 30 | ~147 Mbps | ✅ |
| YUYV | 1280x720 | 30 | ~442 Mbps | ❌ |
MJPEG cameras are the most flexible option since their compressed output is well within the bandwidth limit at any resolution.
Run the Demo Application
The demo application starts three services in order:
weston: Wayland display server for the HDMI output- ``luna-cameras-ai-demo`: the AI inference application
chromium: opens the web output automatically in a browser on the display
To run the demo application, follow the steps below:
- Connect both USB cameras to the Luna SL1680 single-board computer.
- Follow the instructions available at Torizon Demo Gallery to deploy the demo application.
Troubleshooting
If the demo does not detect the USB cameras, disconnect and reconnect the cameras, then run the demo container again. If the cameras are still not detected, reboot the device and retry.
This problem can occur because USB camera enumeration may occasionally be inconsistent with the Synaptics BSP.
Expected Results
After startup, the HDMI display shows two side-by-side video feeds, each annotated with the inference results from its respective pipeline:
- The object detection feed draws bounding boxes with labels around detected objects
- The body pose feed overlays skeleton keypoints on detected people

The same output is also accessible remotely by opening a browser and navigating to http://<BOARD_IP_ADDRESS> in the same network as the Luna SL1680. The web output shows the same annotated video feeds as the HDMI display.
Replace <BOARD_IP_ADDRESS> with the IP address of the Luna SL1680. For instructions on how to find the board's IP address, refer to Scan Your Local Network to Find the Board IP and MAC Address documentation.