Communicating Between a Navio2 and Second RPI/Arduino

So I am looking at creating a second RPI/Arduino that would connect to my Navio2 and that from command from the Navio2 it would take a sensor reading and log it. My question is I can not find a lot of information on connecting a second device to the Navio2 and how I would be able to send communication and commands to it. My goal would be to use a Ground Control Software like Mission Planner to send a command to the Navio2 that would send the command to the sensor package through something like UART.

So I guess my questions are:
Is it possible to attach a second Device (RPI/Arduino) to the Navio2 and send commands through either UART or one of the USB ports to the second device and how would I go about sending commands from Mission Planner to Navio2 to RPI?

Hi Brandon,

Thanks for sharing your ideas on the project! I’ve never faced a similar setup, but we can think about how it can work.

Raspberry Pi is a computer. Even though Navio2 has a UART port and Raspberry Pi has a USB port, you can hardly establish the communication of two computers using those. To connect two Raspberry Pi boards, you can consider an Ethernet cable. It’s a common way of connecting two computers.

In contrast, Arduino can be connected to Raspberry Pi via serial. You can try the communication via USB. It’s possible to connect them via GPIO pins, but those are occupied by Navio2 already. For more details on this, please check the article that I’ve found.

The communication with Mission Planner can be done only on the Raspberry Pi board with attached Navio2. You’re using the image with the autopilot software, allowing you to work with the GCS application. It won’t be feasible to send those commands from the secondary connected Raspberry Pi or Arduino.

2 Likes

My hope was that I could somehow send Mavlink protocol commands from Mission Planner to the Navio2 which would then send the command still in Mavlink a second Raspberry pi/Arduino that would interpret those commands for themselves.

It sounds like that wouldn’t work though since the autopilot software would be running and wouldn’t let me send things down to another controller?

Hi Brandon,

In theory, you should be able to listen to the MAVLink messages from one port and redirect those to another port. This port will be an input port for another device. Running ArduPilot shouldn’t prevent you from doing this. Nevertheless, it needs to be tested to say whether it works for sure.

How would you set that up? Is that an adjustment in the NAVIO2 settings or ardupilot?

Hi Brandon,

Not sure what exact steps you need to perform, but I believe you need to create a script for it. There’s no ready functionality for this. MAVLink messages require some skills for setting them up in a custom way. I suggest reading through the following articles on ArduPilot documentation to get an idea of this technology: