WendyOS Docs
Hardware Access

Camera Access

Use USB and CSI cameras from WendyOS apps

Camera Access

Camera access is used for webcam streaming, computer vision, image capture, and ML inference pipelines. WendyOS keeps camera devices hidden from apps by default, so your project needs a camera entitlement before the app can open /dev/video*.

Add the entitlement from your project directory:

wendy project entitlements add camera

The older video entitlement is still accepted for compatibility, but new projects should use camera.

Inspect Cameras on a Device

Use the device camera commands to see which cameras WendyOS can see:

wendy device camera list

The output includes a device ID, transport type (usb or csi), name, and path such as /dev/video0. Use the ID with view commands:

wendy device camera view --id 0

To request a specific stream shape:

wendy device camera view --id 0 --width 1280 --height 720 --fps 30

If you want to pipe the encoded stream instead of opening a local preview window:

wendy device camera view --id 0 --stdout

For broad hardware inspection, filter the device capability list:

wendy device hardware list --category camera

App Configuration

A minimal wendy.json camera app looks like this:

{
  "appId": "com.example.camera",
  "platform": "linux",
  "version": "1.0.0",
  "entitlements": [
    { "type": "camera" }
  ]
}

To restrict the app to one camera device:

{
  "type": "camera",
  "allowlist": ["/dev/video0"]
}

Common Pairings

Camera apps often also need:

  • network for HTTP or WebSocket video streams
  • gpu for NVIDIA Jetson inference or accelerated image processing
  • persist for saving snapshots or clips

For a camera plus GPU app:

wendy project entitlements add camera
wendy project entitlements add gpu

Then deploy:

wendy run
The Wendy CLI deploying a camera app to a WendyOS device

On this page