New ArduPilot flight controller: the Navigator from Blue Robotics!

Our team at Blue Robotics is proud to announce a new ArduPilot-compatible flight controller, the Navigator.

The Navigator is a Raspberry Pi 4 based flight controller with the following features:

  • 6-axis IMU with accelerometers and gyroscopes for orientation
  • Dual three-axis magnetometers for compass heading
  • Barometer for altitude in air
  • 16 servo PWM channel outputs
  • Current and voltage ADC inputs
  • Built-in leak detection for 2 probes
  • 4 serial ports
  • 2 I2C ports
  • 2 16-bit analog-to-digital converter (ADC) ports
  • RC receiver input (SBUS)
  • RGB status LED
  • External LED port compatible with Neopixel RGB LEDs

We designed the Navigator primarily for our ArduSub application and included some specific features for that, like a leak detection circuit, but also designed it for general applications. It is compatible with all ArduPilot firmwares and has the core sensors needed for those vehicle types.

One of the biggest difference with the Navigator compared to most flight controllers is that the ArduPilot firmware runs directly in Linux rather than on a separate microcontroller. We’ve built a new operating environment for that, called BlueOS, that manages that autopilot, services, processes, networking, and updates. It has a browser-based user interface with access to all of these features:

There’s a lot more details about BlueOS on our forum post here.

The schematic design for the Navigator is open source and available here. You can find a lot more information on the product page and documentation. We’d love to hear your thoughts and questions here.

@patrickelectric @williangalvani @jaxxzer are part of our team and part of the ArduPilot and QGC developer teams and can join the conversation as well.

We’re grateful for this community and for what ArduPilot has allowed us to do. We look forward to continuing that with this product!


Great integration and thanks for making it open system, really like the 4 uart implementation that is quite a challenge on a RPI


Always great to be seeing new boards! Congratulations!

Question: We’ve seen in the past a few more attempts to make a linux board running Ardupilot with a “shield” on top, e.g. the Fire Cape project on a Beagle Bone Black, or the Erle Brain.

Did you do any research on those? Why haven’t we seen more of these recently? Are they disadvantaged in some way? Are you doing anything different?

Hi @Georacer, we did follow along with some of those past projects and even considered using the Navio2, which is similar.

I think the biggest difference now is that the Raspberry Pi 4 has much better peripheral support than previous Raspberry Pis. The Navio2, Erle Brain, etc were all Raspberry Pi 3 based. That limited them to one serial port and one I2C and that was too limiting for us, and probably others.

The Raspberry Pi 4 has many UARTS and I2C ports broken out so we were able to leverage that and have a lot more capability.

There are some other potential things to consider as well:

  • You have to be a bit more careful with software because if the Raspberry Pi crashes, it could stop the autopilot. That could be catastrophic on a drone, but not on an ROV, UGV, USV, etc.
  • We’re not using a realtime kernel patch so we don’t have RTOS capability.
  • The overall software setup is really important. We’re trying to do the best job of that possible with BlueOS so that it’s a pleasure to use the Navigator and easy to work with.

I’m curious to hear other’s thoughts on this!


First thank you very much for sharing schematic. I reviewed the schematic, and I learned some tips and tricks from it. I also found that PCA9685PW enable button connected to RPI & VDD which is important to avoid motors keep spinning if RPI restarts accidently while motors are armed.

My suggestion is add extra button so that motors never starts unless button is ON especially it comes with no extra cost. also can be optional.

Thanks for sharing the knowledge.

Navigator now has libraries for Python, C++ and Rust!