How to launch APM Planner without RC

Is it possible to install the firmware and do the set up without the RC ?


Yes people are using joysticks with Mission Planner (and recent APM Planner 2 beta builds). But seriously a cheap RC receiver is advisable as a backup or for agile control (take-off/landings/racing).

But the firmware = program on RasPi/Linux. There is no firmware download necessary in the GUI. Just follow instructions to download the APM build for Linux/Navio HAL, run it then connect with Mission Planner and do the steps in Initial Setup after that (power module offsets, calibration, etc…)

These links may help:

Hi thanks a lot !
I was quite confused , but you can use APM Planner instead of Mission Planner right ?
I have installed APM on Linux/Navio without a problem but whenever I open APM Planner it doesn’t connect so thats why I was wondering if it was because it needed a radio connection. Sorry Im very new to this :smiley:

Yes APM Planner will connect but you’ll have to clean-up a load of junk it automatically adds:

  1. Start APM Planner 2, go to the File menu and enable “Advanced Mode”.

  2. New menus will appear. Click the “Communication” menu then, for each entry (connection) below the top “Add Link” option, click it. In the connection dialog, click “Disconnect” if connected (else it will show “Connect” then do nothing) then click “Delete Link”.

  3. Check: Now you should have NO connections at all (a good starting point).

  4. Click the “Communication -> Add Link -> TCP” then enter the port and IP address you started APM with (e.g. “sudo ArduCopter.elf -A tcp:”) then “Connect”.

It should connect. If not, you have to check a few things on the Linux side:

  1. Did you supply the start-up parameters to match? There are three virtual serial (UART) ports in APM which are mapped to local (physical or pipe) or remote (network) ports of Navio via the “-A”, “-B” and “-C” parameters. Run “ArduCopter --help” for examples.

  2. Be aware you really have to put the Navio’s own IP address in the command line parameter of APM, not the GCS/client address. You can’t use localhost or, it just doesn’t bind to any address (shame as that would be much easier to configure).

  3. As an alternative to the complexity of #2 and also to support DHCP you can use UDP to broadcast to anyone on the same subnet (e.g. secure WiFi). Then you would use the “UDP Client” type of link in the APM Planner menu.For more information see: Broadcasting the output of the firmware in the network

I’m still experimenting with different combinations to find the ideal configuration for me. Some people report permanent disconnections when using direct IP addresses with APM when interference occurs (e.g. mobile network reconnect).

That could also be an APM limitation (bug in my opinion) so let’s hope it gets an improvement soon. We should just be able to start APM with “-A tcp:” then get it it via any address which is currently working, even after reconnects and USB plug-and-play.

In the meantime I think broadcasting general information is a good idea for ease of use and flexibility (DHCP and mesh networks), so you can tune-in multiple devices like you do with FPV monitors. But if you have no RC transmitter/receiver in your build, you really should choose TCP for the main (joystick) RC input unless there is a specific network limitation preventing you from achieving that.

Okay Im following this exactly, opening APM from my laptop then from the rpi sudo ArduPlane -A tcp:“IP of laptop”:5555, and configuring the communication tab on APM. However a message comes on the RPi and says it is not connected to 5555. Any ideas ?

TCP is a listening address, so put the address of your Navio not the laptop. The error on the Pi is telling you it cannot “bind” (listen) on that address because it doesn’t exist.

Run “ifconfig” on the Pi to see which addresses you have active and use that in the APM start parameter.

I worked :slight_smile: Just calibrated the accelerometer,barometer…
Just a confirmation :the firmware is already installed I am guessing, because when mavlink is disconnected I can’t select the type of frame.

1 Like

Yes the “firmware” is the APM binaries you already downloaded. You can ignore the firmware screens in the ground station software and just focus on initial setup (and optional setup if you have the Emlid or pixhawk power connector - choose the Pixhawk 90A option also for the Emlid connector).

As an alternative to the firmware update GUI, you can use this script to keep updated in the future:

1 Like

Thanks !

Bit late, but with this command you do not need to know the ip of navio to start APM with its own IP:

ArduPlane -C /dev/ttyAMA0 -A tcp:$(ifconfig | sed -En 's/;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'):14550

This part of the command ifconfig | sed -En 's/;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' will get the IP from ifconfig. With the above command it is integrated in the arduplane/copter/whatever start and it can be run automatically. Then you can connect to navio using bonjour browser or avahi discovery or so.

I am hoping this knowledgeable community can assist me.
My application is a bit different than usual and I am struggling to find the info I need to choose a suitable flight controller.

I would like to build a simple autopilot system that gets activated by a simple on/off switch whilst the aircraft is airborne (fixed wing).

The must haves are:

  1.   Must be able to function without a radio control receiver
  2.   Must be able to control a single aileron trim tab servo (standard RC type servo)
  3.   Must be able to maintain wings level and magnetic heading
  4.   Must be as simple as possible to create, program and operate

The nice to haves are:

  1.   Interface to a GPS with NMEA GPS output string to follow GPS target waypoint bearing
  2.   Maintain altitude by controlling elevator trim servo (this is NOT a standard RC type servo but a linear actuator currently operating via simple up/down pushbutton with position feedback on simple LED bargraph display)
  3.   Flight tracklog for later download, ideally stored directly onto USB flashdrive or datacard
  4.   Datalogging of other user defined variables eg. engine temperatures, vibration, rpm etc.
  5.   Display various bits of data on an onboard LCD display for diagnostics.

My research have come up with the OpenPilot Revo Flight Controller or the APM but I really need a bit of expert opinion. I am not sure if it can function without an RC receiver and do what I need? I am just trying to get it working ASAP and hopefully in a neat robust and reliable way that I can keep tinkering with later and add more cool features.
I hope to hear from you soon! How can I get at least the “MUST HAVES” list ??