I have a question about Navio2 and raspberry pi

I have a question about Navio2 and raspberry pi.

  1. I want to buy a socket that connects uart, i2c, adc, and power on Navio2, but I couldn’t find it, so I’m asking here.
    I would appreciate it if you could tell me the name and specifications of the socket connected to Navio2.

  2. I wonder what role the raspberry pi that connects to Navio2
    I asked the community that when the mission is handed over from the mission planner to Navio2, it is stored in Navio2’s memory.
    (If not, tell me what happens.)
    Then, I wonder what role raspberry pi plays.
    Please explain in detail what role Navio2 and raspberry pi each play.

  3. I wonder where the motor output connected to Navio2 is involved.
    The pin connected to the motor is in Navio2, but I wonder if Navio2 commands the output to the motor or raspberry pi commands the output to the motor.

Hi @osung1598,

For UART and ADC ports, you can use a DF13 6-pin connector. For the I2C port, DF13 4-pin. I believe the pinout scheme might be of help to you.

We also sell the wire pack that you can check in our store.

Let me give you a brief overview.

Navio2 is a HAT for Raspberry Pi. It means that the main computations are happening on the Raspberry Pi. Its capacities are used for running the ArduPilot’s software that Navio2 provides the sensor data for.

If you control the drone manually, you can send the commands to it via the telemetry link. GCS software - for example, Mission Planner - helps you to prepare your vehicle and control the data from it in real-time.

To prepare for an autonomous flight, you need to use your GCS software. In Mission Planner, you can do it in the Flight Plan. Here’s the guide about it. It’s not necessary to load the mission to your autopilot as you can just connect your vehicle and run the mission.

However, you can load the mission to the ArduPilot in a file by configuring it in Mission Planner. In this case, the data is stored in EEPROM, as mentioned here. Please note that you need to set all the parameters before loading it onto your vehicle. It’s also necessary to set the flight mode to AUTO so that the ArduPilot could run the mission autonomously.

The motors are controlled by the ArduPilot software. The Ardupilot is run on the Raspberry Pi. Navio2 then executes these commands.

I can see that you’re in the conversation with Marc in this thread. It’d be great to continue communication there. This way, we’ll keep all details in one thread and avoid doubling of the threads.

Thank you for your kind reply.
But the last question is, where is the adupilot software in raspberry pi?
So the adupilot software in raspberry pi sends out motor output based on the various sensor data and mission data from Navio2?

Hi @osung1598,

ArduPilot software is pre-installed on the Raspbian image. As on most Unix-like systems, its binaries and scripts are stored in /bin or /usr/bin. The other parts are located in various configuration directories like /etc.

That’s right.

Let me ask you the last question.
Does the adupilot software in raspberry pi continue to read data from Navio2?
Or what data are sent from Navio2 to raspberry pi to run the adupilot software?
I’m asking this question because I can’t find it no matter how much I look for it.

Hi @osung1598,

You need to enable the ArduPilot autopilot software manually. After this, the autopilot can get readings from the Navio2’s sensors.

You can also check out the ArduPilot documentation here to learn more about the software.

I asked the adupilot community about the question I asked you last time, but there was a different answer, so I am asking you again.
At first, I asked the mission planner where it would be stored when it was handed over to Navio2, but the Navio2 community said it would be stored in Navio2 memory.
But the adupilot community says it’s stored in /var/lib at raspberry pi.
So I went into raspberry pi’s /var/lib, and I checked, and there was an adupilot file and there was a binary file.
So I’d like to ask you again.
Where is the mission sent by mission planner stored?
Also, where are logs and other files stored?
Which community is right?
The link below is the adupilot community.

Hi @osung1598,

As I see from the answer on ArduPilot’s forum, they’ve commented that you can find the autopilot’s logs and files with parameters in /var/lib. That’s true. However, here you asked where the ArduPilot software is stored. It’s located in other repositories.

It’s a bit unclear for me what you are aiming to accomplish here. Could you please specify why you need to get this file?

It’s more convenient to download the logs from the GCS. For example, here is explained how you can get the logs from Mission Planner.

My goal is to use one Navio2 and two raspberry pi.
At first, Navio2 is connected to raspberry pi 1 and when raspberry pi 1 is broken, it is connected to raspberry pi 2 to carry out the mission.
So I asked you where the mission tasks and other files are stored, how the adupilot works.
I wonder where the mission file and other files for the mission are.
So I’m asking because I think I can copy the files of raspberry pi 1 into raspberry pi 2.
Please check.


In case your Raspberry Pi went down, you can rearrange the SD card to the new board and attach Navio2 to it. All the configurations should remain as they were.

In my opinion, two raspberry pi should be connected to a separate sd card.
So I want to check where the mission and other files are and make copies.

You want to connect the Navio2 to two RPis at the same time? How is that supposed to work? Connecting them directly with some kind of y-cable will cause all kinds of trouble with I2C, UART and SPI. Ardupilot on both RPis will get really confused. Using some kind of 40pol hardware switch will also not work, because Ardupilot will not start on the RPi not connected to the Navio2 or crash as soon as the connection is switched off. There are a host of other reasons this will not work and it seems like a lot of trouble to catch the slim chance of the RPi crashing during the operation of the vehicle. You could make it work, if you use two sets of RPis/Navio2s and an external failover/watchdog device, which switches RC outputs from one Navio2 to the other in case of a failure. There are devices like this availlable already. Most of them use a operator controlled input to switch from one flightcontroller to the other.


I know about redundancy boards.
But I’m making my own redundant board.
That’s why I asked for the location of the mission and other files.
I think the dualized board of the link you shared is a simple switching board, isn’t it?
If not, how do you know and perform the mission sent to one Navio2 or pixhawk?
I’m curious about this.

For two RPi/Navio combos you could run a rsync script which synchronizes the folders/files needed to keep both up to date. For a pixhawk it will be a little bit more complicated. Either load the same mission to both pixhawks or perhaps a dronekit script on a companion computer might work, which reads the waypoints from one pixhawk and writes them to the other one.
But you will still need a way to switch control over ESCs/Motors from one FC to the other.

I’ve already found a way to switch.
So, as you said, I’m thinking of a way to synchronize files and folders.
If the product of the link you uploaded proceeds with the file and synchronization, which files and folders will you synchronize? That’s what I’m curious about. I kept asking where to store the missions and other files.

The link I posted was just an example for connecting to FCs to one set of ESCs. It does nothing regarding fike transfer etc.
I do not have a Navio2 in use at the moment, so I can not look where the files are. I do not know why the folks from Emlid do not answer your question. It should not matter to them, why you want to know where the files are stored.

Mission data is stored in memory, as the parameters, not in a file (unless you save it on your computer for edit or future use).

Arducopter binary is on the SD card but this file is not editable.

Source code is available on GitHub.

Thank you for your answers. Let me ask you one last question. If I copy the file from the file location you mentioned to another raspberry pi, does the other raspberry pi work? For example, there are raspberry pi 1 and 2, and each is connected separately to a drone. So if GCS commands raspberry pi 1 and works, can it work at the same time that number 2 copies the file?

The Navio2 Raspbian (Link to image to create the Raspberry SD Card http://files.emlid.com/images/emlid-raspbian-20200922.img.xz) is needed on each Raspberry. In order to boot, the Navio2 should be installed on the Raspberry. So you need to have two complete hardware configuration or “think a way” to share the Navio2 between the two Raspberry.

It is a lot above our knowledge.

So what I’m talking about right now is I’m going to talk about each raspberry pie, excluding everything about redundancy. Install 2 raspberry pies on each of the 2 drones. We will install the Navio2 software you mentioned here and install each of the two Navio2. And if the GCS assigns a point to one raspberry pi, hands over the mission, asks if the other raspberry pi can do the same thing at the time it takes over the files and folders.