Hi @cfoste, welcome to the forum ![]()
ArduPilot is a family of autopilot firmware - our ROVs run the ArduSub variant. BlueOS doesn’t require an ArduPilot- (or PX4-) compatible flight controller board to be connected, but several BlueOS services at least expect some kind of autopilot that communicates using MAVLink, so if your setup doesn’t provide that then you would have quite limited functionality with BlueOS, and you wouldn’t be able to run Cockpit.
It is possible, but as @tony-white mentioned it may involve a fair amount of work.
- The most cohesive approach would be to implement your setup in ArduPilot’s hardware abstraction layer (similar to how we added Navigator support), which you could then use to build a custom ArduSub firmware. From there you could add detection support for it in BlueOS, and it could be used like any other supported flight controller board.
- For context, our Navigator is essentially a collection of sensors and other peripherals - unlike an independent flight controller board (like a Pixhawk), the autopilot firmware runs on the Raspberry Pi (in BlueOS), using the hardware provided by the Navigator
- Alternatively you could implement your own autopilot code within BlueOS, either using one of the existing development Extensions, or (/later) as your own Extension, possibly presenting itself to BlueOS as an unknown autopilot platform (if you integrate MAVLink communication), with the caveat that it may still be challenging to integrate with some of BlueOS’s other services
- If you want to keep your separate Raspberry Pi as a faux flight controller board then to connect that to BlueOS you’d mostly need to get it talking MAVLink
We don’t have great documentation on any of those approaches, and while I’d be interested in writing some I have some other higher priority docs to write at the moment. I’ve raised an Issue in the meantime, so it doesn’t get forgotten about ![]()