Changes in Radio Telemetry with Navio2?

I’ve been trying to get my drone ready to take out to a field and hopefully perform the auto tune for the PIDs. It makes me a little nervous since it is a lower KV drone and I’ve heard there is a possibility for issues with the motors.

Anyways, I am trying to get my radio for telemetry/mavlink to work. I had it working when I was using the same two radios and a Navio+ on a different drone.

But I can’t get it to work with the Navio2. It fails out with no heartbeat received.

I can see jibberish when I type on my computer to the raspberry pi using like teleterm and minicon. I thought I would see the actual letters I typed but I get other symbols instead. Is this a problem?

Anyways, I’m not sure what I’m doing wrong or if something has changed between Navio+ and Navio2.

Looks like a baud rate mismatch. Make sure that baud on radios and ports matches.

Do you have screen shots? I’m not super familiar with the differences.

Do you use -A or -C for radio?

I had also some troubles, but the problem was on my side.

  1. Check the data rate
  2. Check and compare the baud rates (maybe test with 3dr radio config utility)
  3. Check whether on both radios tr/rx pins are set correct (I was connecteing the rx pin on the transmitter in a wrong way and so I was just able to get the heartbeat)
    In most cases it is one of these points and I have several 433 radio combos.

I use -C /dev/ttyAMA0 for radio.

Here is a picture of when I load the settings into the 3dr radio config tool.

I also verified that the baud on the pi is set to 57, with stty < /dev/ttyAMA0

How does the output in the “Terminal” mode look if you start ArduPilot?

I’m not sure what you mean with that.

Have you tested, whether you can receive a signal.
The 3DR radio config program also has a tab “Terminal”…

Here is the screen shot of running terminal and then minicom through ssh.

To ensure you don’t send binary data, can you run this test script?

import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=57600, timeout=3.0)
while True:
    rcv =
    port.write("\r\nYou sent:" + repr(rcv))