Trying to run 64-bit Python library but BlueOS only runs 32-bit libraries

I’m trying to write my own BlueOS extension in order to use an OAK-D camera for obstacle avoidance. However, I’ve run into one problem where BlueOS is currently running on a 32-bit ARMv7 version of Raspberry Pi OS, but the DepthAI library for the camera is only built for 64-bit ARMv8. I’ve thought of a few solutions, but I’m curious which one would be the most practical?

  1. Use depthai version 2, which has an ARMv7 build, instead of the current version 3, but there are lots of breaking changes I would have to change

  2. Manually compile depthai v3 on ARMv7, which seems complicated and I’m not sure if it would work

  3. Use second Raspberry Pi with an ARMv8 architecture and connect this to the boat’s main pi, but this also seems a bit complicated

  4. Reflash the BlueBoat’s SD card to use the 64-bit ARMv8 version of Raspberry Pi OS (since the Pi 4 supports both 32 and 64 bit operating systems), but on the Blue Robotics website I only see pre-built ARMv8 image for the Raspberry Pi 5, not the Pi 4

Hi @JonathanM, welcome to the forum :slight_smile:

This is a game of compromises (as many engineering problems are), so here are some ideas:

  1. It’s possible the 64-bit image will work ok on a Pi4, we just don’t test with it, and had some issues with it in the past, so we don’t actively recommend doing so. In this case that’s the easiest option to try, so I’d suggest trying that first and seeing whether you have issues, with the understanding that we may not be able to help much with fixing them.

  2. If there are problems with that, the next thing I’m inclined to suggest is just using a Pi5 instead of your Pi4, but that then has compatibility issues with our current Navigator setup, so it may not be a viable option at the moment.

  3. I would note that computer vision can take substantial resources to run, and on those grounds it may be preferable to have a secondary board (like a Pi5, or possibly an Nvidea Jetson or similar) for running that, in which case BlueOS isn’t required, but there may be challenges with fitting/mounting everything nicely, and/or with power delivery and heat buildup.