Gemini 335 + Raspberry Pi 4 for a wearable navigation aid, will this work?

Hi everyone,

We’re a team of four electrical engineering students at BCIT working on our capstone project. It’s a wearable navigation aid for people who are blind or have low vision, and we’re thinking about using a Gemini 335 as the main depth sensor. Before we order one, we’d love some input from people who’ve used it.

How we plan to use it:

  • The camera is mounted on a chest harness, about 1.3 m off the ground, tilted down around 15°.

  • We only care about roughly 0.3 to 3 m in front of the user, indoors mainly but outdoors would be great too.

  • A Raspberry Pi 4 on the user’s back reads the depth frames, removes the floor using the IMU, and splits what’s left into 7 to 9 left-to-right sectors. It then sends the closest distance in each sector to a vibration headband.

  • We’re aiming for under 250 ms from sensing to vibration, so we’d probably run depth at a lower resolution like 640x400 at 15 to 30 fps.

  • The Pi also reads a VL53L8CX ToF sensor aimed at the floor for drop-offs, plus an ultrasonic sensor for glass.

  • Everything runs off a 20,000 mAh USB-C power bank.

What we’re unsure about:

  1. Pi 4 support. The OrbbecSDK v1 README lists the Raspberry Pi 4 (arm64) as supported, and the 330 series as fully maintained. Has anyone actually run a Gemini 335 on a Pi 4? Did you use Ubuntu 22.04 or Raspberry Pi OS? And is v1 the right SDK here, since v2 only lists Jetson boards for ARM64?

  2. Performance. Can a Pi 4 keep up with depth at 640x400 and 30 fps while also doing light NumPy processing? Did you see dropped frames or USB bandwidth issues?

  3. Power. The camera needs 5 V at 1.5 A or more, and the Pi 4’s USB ports share about 1.2 A. Do people power the camera separately with a Y cable or powered hub, or does it run straight from the Pi?

  4. Wearing it while walking. Has anyone used a Gemini on a moving person or robot? We’re wondering about motion, vibration, and how the depth holds up when the camera is tilted toward the floor.

  5. Tricky surfaces. How does it handle glossy floors, blank white walls, and dark furniture indoors?

  6. Interference. Will the Gemini’s 850 nm projector interfere with a VL53L8CX (940 nm) aimed at roughly the same patch of floor?

  7. Python. Is pyorbbecsdk stable on a Pi 4, or would we be better off in C++?

If you think the Pi 4 is going to be a bottleneck, we’d also be glad to hear what you’d use instead. A Pi 5 is our fallback, but we haven’t checked how well it’s supported yet.

Thanks a lot for any advice!

Team Argus, BCIT