OpenIPC camera over USB

OpenIPC FPV cameras (SigmaStar and Goke sensors) are tiny, light, and cheap. With a custom firmware build they present themselves to the Pi as a USB Ethernet (RNDIS) gadget and serve RTSP over that single USB cable — no Ethernet port, no switch, and no transcoding on the Pi.

Status: Tested & supported — requires the custom USB-gadget firmware below

Custom firmware required. Stock OpenIPC streams over Ethernet, not USB. This setup needs a firmware build with the USB RNDIS gadget enabled. If your camera only has an Ethernet pad, use the standard RTSP-over-Ethernet flow instead.

Why USB

  • One cable — power and video share the USB link; no separate Ethernet run on the airframe
  • Tiny and light — OpenIPC FPV cameras are a few grams
  • Native RTSP — the camera encodes H.264/H.265 itself, so the Pi never transcodes

How it works

The firmware's gadget service builds a USB composite device on boot via configfs and brings up a usb0 interface. The camera takes the address 192.168.7.1 and expects the host (your Pi) at 192.168.7.2. The on-camera streamer publishes RTSP on port 554 at /stream0 (primary) and /stream1 (secondary). AirCast pulls that URL and re-publishes it as WebRTC, HLS, and RTSP.

Connect it to AirCast

1

Flash the USB-gadget firmware

Flash the OpenIPC build that includes the USB Ethernet gadget. On boot it runs the gadget service (/etc/init.d/S39usbgadget), which creates the RNDIS device and assigns the camera 192.168.7.1.

2

Plug the camera into the Pi's USB port

Connect the camera to the Raspberry Pi over USB. It enumerates as a USB Ethernet device and the Pi gets a new usb0 interface. Give that interface the host address the camera expects:

sudo ip addr add 192.168.7.2/24 dev usb0 && sudo ip link set usb0 up

Confirm the camera answers: ping 192.168.7.1.

3

Set the Camera Source in AirCast

Open the dashboard's Streaming page and paste the camera's RTSP URL as the Camera Source:

rtsp://192.168.7.1:554/stream0

Use /stream1 for the lower-resolution secondary stream. When the reachability badge turns green the camera is live.

Success: the Streaming page preview shows the OpenIPC feed.

AirCast views over WebRTC in the browser. Set the camera's primary stream to H.264 — many browsers will not decode H.265 over WebRTC.

SettingValueWhy
Codec (stream0)H.264Universal WebRTC support; H.265 often shows a black frame
Resolution1080p or 720pMatch the sensor; 720p saves bandwidth on weak signal
Bitrate2–4 MbpsFits a typical LTE uplink
Rate controlCBRPredictable bandwidth over cellular

What's verified

  • Camera enumerates as a USB Ethernet (RNDIS) gadget at 192.168.7.1
  • AirCast pulls the native RTSP stream from rtsp://192.168.7.1:554/stream0 — no transcoding
  • H.264 plays in the browser over WebRTC
  • Single USB cable carries both camera power and video to the Pi