How to log into the Navio+ using SSH?

I tried searching this but could not find a good explination.

What program do I need to use and how do I go about logging into the Navio using SSH so I can download the APM Files?

This is my first navio and I have the image up and running on the board and can use a keyboard to type things in, however, it was mentioned it is best to log in using an SSH.

I configured the WPA Supplicant file to use our network, but, not sure what to do next.

Thank you,


I use a program called “putty”. It runs on Windows Linux Mac
without installation.


On my Android tablet and phone I use something called ConnectBot.
On my laptop I use a Chrome App called Secure Shell.

Ensure SSH is enabled on your RPi using the config tool.

In either of the above you can connect by specifying pi@##.##.##.##:22 where ## are the IP address assigned to your RPi by your network router.

Additionally I setup my RPi to have a static IP address so as to not have to look it up every time I want to connect.

There are plenty of examples of setting up static IPs on the web, eg:

I normally also set the interfaces file up so the wlan0 is set one static IP and the eth0 another so it doesn’t matter if the LAN cable is plugged in or it is using WiFi.

Whatever you do don’t make the Pi visible outside the LAN. Also I would strongly recommend changing the default pi password to something secure.

Hope that helps!



Thank you for the help. 1 more silly question,

How do I look up the IP Address assigned to the raspberry pi?

Ok, I found it by typing “hostname -i” but when i try to connect it says connection refused.

To setup the wifi dongle I go to that wpa supplicant file and open it with notebook and change the SSID=“EMLID” to the name of my server and the password as well, correct?

You could look it up in the dhcp client table of your router.
For android their is an app called ‘Fing’. It scans your network and displays all devices found in it, with IP adresses.
The same thing for Windows would be ‘The Dude’ for example.

I use Fing too on tablet / phone, very useful. Otherwise connect to your router via the PC and check what devices are connected.

If your network is set to not broadcast its SID you will need to add scan_ssid=1 to the wpa_supplicant.conf file. Also make sure you have the correct authentication method set.

When logged into RPi type ifconfig to get the assigned network IP, router address etc, etc as per the link above.

Fing normally works though. You could set up the ethernet (eth0) to be static IP and leave Wifi to be dhcp (dynamic IP).

Awesome, thank you.

I ended up just plugging the Ethernet cable in directly and configuring with a keyboard. I got the Navio+ into Arduplane firmware as the navio light is now flashing yellow, however, I can not seem to get it to connect with my GCS. I am using RFD900 Radios to make the connection.

I have tried the default IP Address and my Computers specific IP Address but neither has worked.

I got my computer IP address from doing “Whats my Ip address” on google for the GCS. Is this sufficient?

I don’t understand why it needs the IP address of the computer if I am connecting through telemetry radios. Is there something else I have to change to use the telemetry radios?

What am I doing wrong now?

Thanks for all the help!!

What’s my IP will give the external IP address that the internet sees, which is the IP address given via your internet provider.

APM will be wanting the ip of your GCS machine on your local network.

If using telemetry radios shouldn’t need IP. However, I found today telemetry connected to UART didn’t work but USB did (not found out why yet). Also, you will need to specify baud of 57500 (or whatever it is closest) on GCS side for radios. Found on RPI had to start APM using -C /dev/ttyUSB0 to also get same baud rate (see my previous question re telemetry answered by @schuermannsebastian).

thank you,

Yes, I get the same crazy message when trying to connect via UART on the main -A telemetry output. I don’t understand how so few are using UART for the primary radio link, When you are flying, how is everyone maintaining telemetry over WIFI?

Can it be easily setup with a 3g or 4g dongle and connect via UDP that way?

Man, I can not win with this thing. The manual is horribly vague for someone who is not used to linux.

Now I can not get it to autostart Arduplane.

I open up the rc.local file and add the “sudo ArduPlane -C /dev/ttyUSB0” line before Exit0 and it does nothing.

When I open it back up to see what happenes, the rc.local file is back to normal and the command line that I wrote and saved is completely gone. I don’t know what i’m doing wrong here now.

From the console, either through ssh or with keyboard monitor connected to the RPi, type:

sudo nano /etc/rc.local

then add the line:
(move the cursor with the arrow keys, mouse clicking does not work)

sudo ./Arduplane -C /dev/ttyUSB0


sudo ./Arduplane -C /dev/ttyAMA0

before the exit 0
(depending on where you connected the telemetry radio)

Press Ctrl-X

to save the modified rc.local

I had to add the ./ before Arduplane to make it work for me.
Linux is case sensitive, so be careful to write everything right or it will not work.

I hope you get it up and running!

On my rover I have connected the telemetry radio to USB. You do not have to use the UART. It is just convinient, if you used a pixhawk before, because the connectors are the same.

You probably opened rc.local without superuser permission, that can be the reason the changes were not saved.

Got it! Thank you!

For me to get it to work I had to open the file and use

sudo ArduPlane -C /dev/ttyUSB0

and then save and exit, and then do

sudo reboot

for it to properly save.

Thanks for the help! you guys rock!

1 Like

Final Question,

How do we choose which firmware for the Navio+ to run?

The firmware that was installed for Arduplane was 3.3.0 Beta1

I would like to run 3.3.0 Beta2 as it has a few new features that I want and should be released as stable very shortly. Also, once 3.3.0 stable is released, how do I load that firmware onto the navio?

Do we get a choice?

If you want the latest firmware, you will have to compile from source. I just noticed the navio branch is still ArduCopter 3.3-dev (or rc1), so I compiled from “git clone” instead of the emlid repository.
I now have ArduCopter 3.3-rc3 running on my RPi/Navio+.
You can just follow the manual in the docs, just replace the repository with the one I mentioned above.
“git checkout navio” is not necessary.


We will be releasing deb packages with stable versions as they appear. If you’d like a specific version it can be compiled from sources.

What direction is considered forward for the navio? Does it matter?

Thank you

Thank you,

I just tried that and all seemed to go well until I did “make navio” then it loaded all the libraries, etc but at the end said failed.

I rebooted and it ran the original version.

Do I have to change anything with the auto startup with the new compiled firmware?

If I can’t get it I will just wait for emlid to update it and download it the normal way from them.