Choosing the correct companion computer

Hi guys :slightly_smiling_face:

I am working on a project where I have made a simple arduboat that I am happy with. The microcontroller I am most familiar and comfortable working with is Arduino, but I have read on the wiki that I could also use Jetson, Pi etc.

My goal is to add a companion computer, which can be used to connect all kind of sensors without worrying about Pixhawk compatibility and writing drivers.

An example would be for instance connecting a temperature sensor to Arduino and measure the temperature hourly. Then use the GPS on Pixhawk to add coordinates so I know where the temperature was measured and use the Telemetry connected to my Pixhawk, to send the measurements with its GPS coordinates to my PC. Alternatively, send it over to Pi and have Pi send it to a webpage I can access from my PC.

Which companion computer do you recommend for this project? And would I need to connect a separate GPS and Telemetry to my microcontroller or can I borrow it from the GPS and Telemetry connected to Pixhawk as described in my example?

1 Like

RPi all the way, it is a proven, low cost and has a wide range of communities to support you.
Of course, if its computational power is enough for you :slightly_smiling_face:

You absolutely don’t need it.
Serial connection between RPi and pixhawk will enable to reach all the telemetry data of the flight controller with MAVLink easily.


I am a little intimidated by Pi because It uses python and my skills are in C and C++. Its still not nearly as intimidating than programming Pixhawk as I have 0 idea how that works. Couldn’t really understand it and information is limited.

And this is done with lua scripting? Is there something about this on the wiki? I couldn’t find anything. (Not the connecting them together part, but getting for instance GPS data from Pixhawk and using the Pixhawk telemetry to send data from Pi to PC)

I think an even better way would be to use a 4g modem on Pi and have Pixhawk use the Pi modem as its telemetry. Maybe even have Pixhawk use a GPS connected to Pi instead of the other way around.

Pi is a fully working single-board computer that runs Linux. Of course, you can compile and run C, CPP, and all other languages.

MAVLink is the communication protocol for the firmware, and has various implementations for programming languages, Python and C++ included.
Here is the wiki for communicating between the companion computer and autopilot.

You can provide GPS input to autopilot but I choose GPS attached to autopilot and provide GPS information from autopilot to companion computer :slightly_smiling_face: