Active Arducopter version


According to, latest stable compiled version is 3.4.2-FIRMWARE_VERSION_TYPE_OFFICIAL.

I had 3.4 installed on my Hexa frame (3.4 (ac78fd00)) and I did an update yesterday (apt-get…) in order to move to 3.4.2 version. After reboot, Arducopter version stay at 3.4 (ac78fd00).

Please can you confirm what version is available via apt-get procedure?


Sometimes it looks like EMLID works on super mega incredible projects and looses focus on basis, this is the case i guess.
Best answer you’ll get is build your own or have patience :slight_smile:

p.s. 3.4 is the latest you will get with apt-get, 3.4.2 and all seguent rc releases not avail yet.

apt-get has version 3.4, we will update it to 3.4.2 soon. Meanwhile, you can download the binaries for Navio2 from ArduPilot build server.


I did that and used rsync to move the file but it is confusing as the version number stay at 3.4 (ae78fd00).

I also had a try at compiling the source (not easy, some errors and twitch before success) but with the same result with the version number??

Meanwhile, precision loiter settings are available??




A further note about this matter, AC-3.4.2 is necessary since onboard compass calibration do not complete
with AC-3.4.0 (I tried myself). From “Copter Release Notes”:

Changes from 3.4.1, Bug Fixes: a) compass calibration (onboard) fix to return completion status

Best regards

What do you mean by precision loiter settings?


Something quite obscure but recently added…


As i understand it in order to do that you need some kind of optical beam such as IR-Lock.

On that particular device, i have been asking Emlid for support for months. Not added yet. It is only a driver problem.

The company that makes IR-lock says that Emlid is the one that should adjust the driver, Emlid says it is the company that produces it that should do it.

In the mean time final users can’t use a device that could be very very helpful or at least very exciting to test.


@jetpathar I agree with you.

Hello again,

At least, Arducopter 3.4.2 is running on my config.

Not easy but done: I did some Linux research and managed to find the right directory then move the file downloaded from Ardupilot repository.

1: go there to grab the 3.4.2 file for my Hexa (Navio2)

2: transfert the file in the /boot directory of my sdcard (not the right place but convenient).

3: Find where to copy this file.

when logged in Navio type cd /opt/ardupilot/navio2/arducopter/bin/

That is the place where to copy your file…

4: kill the arducopter-hexa process.

top command show me it is the process 399, “q” top, then kill

sudo kill 399

As the new file is in the boot directory, go to boot,

cd /boot

then copy…

sudo cp -i arducopter-hexa /opt/ardupilot/navio2/arducopter/bin/

arg -i is for interactive, you are asked to confirm…

Then reboot and enjoy, Mission planner msg show APM Copter V3.4.2 (6076bdfc) is running…

RMK: /opt/ardupilot/navio2/arducopter/bin/ is on my ROS version SDCard.


Can it be done like that? changing just the bin file and everything else just works?


Have you read the greeting on ssh connection?

The docs are not updated for beta, but will be updated as soon as we roll a new stable (ETA: before the end of this year), so I guess it might be a little confusing.

The only thing that should’ve been modified is a line in /lib/systemd/system/ardupilot.service

From now on, we use systemd as a tool start services.


  1. sudo nano /lib/systemd/system/ardupilot.service
  2. Read carefully through and change ExecStart line to point to your newly (custom) downloaded binary
  3. sudo systemctl daemon-reload
  4. sudo systemctl restart ardupilot

sudo systemctl stop ardupilot to stop
sudo systemctl enable/disable ardupilot to enable/disable ardupilot on boot


Yes, but I forgot to reload them when trying to move the firmware, so the “kill” command… No way to remember the [quote=“staroselskiy, post:12, topic:4395”]
sudo systemctl stop ardupilot

I went to the field and had a short flight to be sure it is OK. All is fine but wind is freezing cold, so I’m back at home.



One more advice:

You can use pidof <program> to deduce PID. This is way simpler than use top.