Skip to content

feat: add Orange Pi / non-RPi SBC compatibility and dashboard stream fixes#203

Open
rickstonerz wants to merge 1 commit into
geezacoleman:mainfrom
rickstonerz:feat/orangepi-compat-and-dashboard-fixes
Open

feat: add Orange Pi / non-RPi SBC compatibility and dashboard stream fixes#203
rickstonerz wants to merge 1 commit into
geezacoleman:mainfrom
rickstonerz:feat/orangepi-compat-and-dashboard-fixes

Conversation

@rickstonerz
Copy link
Copy Markdown

@rickstonerz rickstonerz commented Apr 21, 2026

Summary

Adds compatibility for non-Raspberry Pi single-board computers, specifically tested on Orange Pi Zero 2 running Orange Pi OS (Bookworm), with a Logitech C270 USB webcam (046d:0825).

OWL previously failed on non-Pi SBCs due to hard dependencies on Raspberry Pi-only tools and assumptions. This PR removes those blockers.

Changes

USB Camera (video_manager.py)

  • Switched to cv2.CAP_V4L2 backend on Linux for reliable USB webcam detection
  • Added YUYV codec preference for UVC webcams
  • Rewrote _init_usb_camera() to try multiple /dev/videoX candidates sequentially — fixes SBC codec node conflicts where /dev/video0 is not always a capture device

Raspberry Pi Detection (input_manager.py, output_manager.py, directory_manager.py)

  • Replaced platform string detection with /proc/device-tree/model check — more accurate across SBC types
  • Unknown devices now classified as non-rpi instead of rpi-other
  • Relaxed storage mount requirements on non-Pi Linux systems while keeping strict USB-mount behavior on Pi

RPi.GPIO Dependency (owl_setup.sh, requirements.txt)

  • Removed RPi.GPIO from base requirements
  • owl_setup.sh now conditionally installs it only on Raspberry Pi — prevents setup failure on other SBCs

Dashboard Stream (standalone.py)

  • Changed MIME boundary from frame to FRAME for stream stability
  • vcgencmd temperature check now only runs if /usr/bin/vcgencmd exists — prevents crash on non-Pi boards

Tested On

Hardware OS Camera Result
Orange Pi Zero 2 Orange Pi OS Bookworm 3.1.0 Logitech C270 (USB UVC) ✅ Working
Raspberry Pi (existing) Raspberry Pi OS Pi Camera / USB ✅ Unchanged

Notes

  • No changes to existing Raspberry Pi behaviour — all Pi-specific paths remain intact
  • USB UVC webcam is the recommended camera path for Orange Pi and similar boards

@rickstonerz rickstonerz force-pushed the feat/orangepi-compat-and-dashboard-fixes branch from 1345395 to 3915987 Compare April 21, 2026 09:49
@rickstonerz rickstonerz changed the title Feat/orangepi compat and dashboard fixes feat: add Orange Pi / non-RPi SBC compatibility and dashboard stream fixes Apr 21, 2026
@rickstonerz
Copy link
Copy Markdown
Author

Hi @geezacoleman — just opened this PR to add Orange Pi Zero 2 + USB webcam support, tested on OPi Zero 2 with Logitech C270. Happy to make any changes you'd like before merge. Thanks!

@geezacoleman geezacoleman self-assigned this Apr 21, 2026
@geezacoleman
Copy link
Copy Markdown
Owner

This is awesome! Thanks so much for contributing it. Let me test it out at home over the weekend on a Pi here (I unfortunately don't have an Orange Pi at hand), and I'll let you know how it goes. Makes a lot of sense to improve the flexibility of this across platforms.

Would you be open to sharing some photos/insight on the community page? I'm sure people would be really interested in hearing about it.

@rickstonerz
Copy link
Copy Markdown
Author

Would you be open to sharing some photos/insight on the community page? I'm sure people would be really interested in hearing about it.

Thanks! I’d be happy to share some photos and notes on the community page once I have things a bit more stable.

Right now I’m testing across multiple operating systems and boards. I’ve also tested it on a second Orange Pi, this time running Armbian. It does work, but I’m still not fully happy with the performance yet, so I’m continuing to test before I suggest any changes to the current patch.

There may still be a few small improvements needed around USB camera handling, but I now have USB cameras working on my builds without too much trouble. I’ll confirm this with a few more tests, but so far Logitech cameras appear to integrate almost seamlessly.

Once I have the setup more repeatable, I’ll put together some photos, notes, and hardware details for the community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants