ArduCopter 3.0 is ready for widespread use.  To make the transition easier, this time we are asking people to voluntarily upgrade from 2.9.1b for the next month or so before we make 3.0 the default firmware downloaded by the mission planner.  The new version can be found in the Mission Planner's Beta firmware's link,, GitHub and the new Downloads Area.

Warning #1: A bug was found in the FENCE in which if you lost GPS it could lean at extreme angles as it tried to maintain an invalid position.  This is fixed in AC3.0.1-rc1.

Warning #2: This release has not been fully tested on Traditional Helicopters

Warning #3: GPS glitches can cause sudden and aggressive position changes while in loiter mode.  You may wish to reduce the WPNAV_ACCEL to 100 and Loiter PID to 0.2 (from 1.0) to reduce aggressiveness.

Improvements over 2.9.1b include:

  • Inertial Navigation for Loiter and Auto meaning much more accurate control (Randy,Leonard,JonathanC)
  • 3D navigation controller follows straight lines in all dimensions between waypoints (Leonard,Randy)

         WPNAV_SPEED, WPNAV_SPEED_UP, WPNAV_SPEED_DN, WPNAV_ACCEL allows configuring speeds and acceleration during missions

  • "compassmot" to compensate for interference on compass from the pdb, motors, ESCs and battery.  (Randy,JonathanC) (Set-up video here)
  • Safety improvements:
    • simple Tin Can shaped Geo Fence
    • pre-arm checks to ensure all calibration has been performed before arming (can be disabled by setting ARMING_CHECK to zero).  (video description here)
    • GPS failsafe - switches to LAND if GPS is lost for 5 seconds
    • stability patch improvements to stop rapid climbs in very overpowered or overtuned copters
  • Circle mode improvements including "panorama" when CIRCLE_RADIUS set to zero (Randy,Leonard)
  • SONAR_GAIN parameter added to allow better tuning of sonar surface tracking
  • CH8 auxiliary switch (same features as CH7)
  • works on PX4 (some minor features still not available) (Tridge,PatH)

How to upgrade:

1. Make sure you are using Mission Planner 1.2.59 or newer.

2. Click on the MissionPlanner's Firmware screen and click the "Beta Firmwares" link on the bottom right.  The version numbers should update to "ArduCopter-3.0.1rc2", then click the appropriate frame icon and it should upgrade as per usual.

3. Reduce the Loiter and Alt Hold PIDs if you have modified them from the defaults.  The modified PID values for the 3dr frame can be seen in the image below.

Note: Nav parameters have been combined with Loiter so do not be concerned if you can't find them.

4. If you purchased an APM prior to March of 2013, update your PPM encoder to the latest firmware.

5. Try out the new version in stabilize mode first, then alt-hold, then loiter and finally RTL and Auto.

Special Thanks to MarcoDaveC and the rest of the beta testers for putting their copters at risk during the extended testing period.  Some of their videos can be found hereherehereherehere and here.  Thanks also to MichaelO for the MP changes required for this release.

All feedback welcome.  Please put your questions, comments (good and bad!) below.  

Added by Craig:

Please watch Randy's videos on setting up and flying APM-Copter 3.0 before you go flying.  They are excellent!

3DR Quad Set-Up Suggestions
AC 3.0 "Live" Compass Calibration
AC 3.0 CompassMot Setup      
AC 3.0 Pre-Arm Checks            
AC 3.0 Fence                               
AC 3.0 Maiden Flight Checks   

Views: 134253

Reply to This

Replies to This Discussion

Sorry to say my impressions are a bit different! Installed 3.0.1rc1ACRO from 2.9.1b. It´s perfect for aerobatics but loiter simply does not work so far. I still have to do all the adjustments proposed by Marco Robustini but even if it works after it won´t fit the needs of FPV at all.

In that case rock solid RTL is required not the hope for nailed in the spot Loiter mode! Copter needs to come home reliably when loosing contact but it is far from important whether loiter radius is 10cm or 3m!

As far as I understand inertial navigation is that sensitive to correct setup that even if it works perfectly today I still have to be scared what happens when toggling RTL two hours later. So all a FPV pilot can do is to deactivate it!

Is this possible, getting back simple, reliable GPS functions of 2.9.1b and still be able to do aerobatics, just to switch off inertial navigation in 3.0.1rc1Acro?

As if you couldn't tell from my recent posts, I'm with Phillip too. To the point I've actually reverted to 2.9.1, just so I can fly again.

Yeh, it has been a bit harder for some people than others.

It is sort of disheartening as a developer. We have been working on this release for at least 3 months now, maybe more. It works so well when all the calibrations have been done. But some people don't do them at all, others have vibration problems that need to be addressed.

Once those user issues are addressed there are a couple of things that we can't change. One of them is the GPS accuracy and drop outs. The new code shows them up more because it can be tuned more aggressive.

There are a couple of things we will do before we actually release 3.0 (3.01 by official release). We will slow down the loiter correction, auto accelerations and PID parameters. This will tend to hide the problems with the GPS like 2.9.1b and earlier did but still retain the improved loiter.

And MY yaw bug. It sucks to be responsible for that. All those yaw problems should all go away with the 3.01rc2.

The thing we may still be able to do better in the code is the third order complementary filter used in the inertial navigation. I think we can change it to make it easier to set it to rely less on the accelerations and more on the baro and gps. Currently if you do this too much the velocity prediction starts moving around to much.

We will get all these issues sorted but this is such a massively complicated system it just takes time. And the time spent on support is mind boggling!

The dev team and test team spent many hours testing and working towards a bug free release. At the time of the 3.0 release there was only the small loiter wobble on 1 copter that we hadn't tracked down. We also didn't release this as the default version to get wider feedback and testing from the community and work out what we needed to do to make it easier for the every day pilot. Hopefully when we do make this the default we will be a little closer to our goal.

No problem here Leonard. This is a very complex system. Even for testers it is not so easy to diagnose a problem for sure without help and reports from other testers and developers. This is taking time.

For example i did see the Yaw problem quite soon in the test period, but i did report it to Randy only weeks later after seeing other people having the same kind of problems because i thought primarily that it was a hardware problem.

Statistics help a lot here and that's why we are still correcting some small problems in the release candidate public period. Thanks to the larger count of test flights, we are able to enhance our diagnostics and find hided bugs.

This is a normal (and interesting) process for such a complicated code.

And MY yaw bug. It sucks to be responsible for that. All those yaw problems should all go away with the 3.01rc2.


I do genuinely sympathise L, and I really feel bad that I've been critical of 3.0.x.

Everything you say is correct, barring one correction - while some users have skipped some of the steps, others have not - I for one had done my utmost to get this right. My vibes are excellent, I've run compassmot a total of 12 times, with the same number of live compass calibrations, accelerometer calibrations...I've tried mumetal, I've tried ferrous rings, I've tried twisting wires...

The one thing i can't really justify - for reasons that are both practical and principle - is the radical re-design of my airframe to make it work. This is the bit you're missing - elevating the APM above everything else is not a small job, and involves some (small) financial undertaking for servo and DF extensions, new risers etc. I'd also lose the protective cage that sits about the electronics, as there are no risers tall enough to keep it above the APM, and I'd also lose my dome, which does a good job keeping out grass dust etc.

Hi Philipp, there's something yet to be fixed in V3, however that the group of testers had already identified and reported before the official exit, alt-hold problem (baro drift) and other.
We never had a fly-away or strange RTL during testing, but usually our setups are very attractive, especially free from unnecessary vibration and the magnestims induced by the motors is very low.

I am sure that this baro/gps priority vs inertial "problem" will be resolved in an acceptable time.
This is my "compassmotor" result (about the quad in the video on this thread):


and this one from the "S800 clone" with VR Brain:


Clearly the latter will have more trouble with the INS and the compass that has to compensate for that.
I intend to make my next test with a configuration "on the edge of flyable"... ;-)

As far as I understand what you said before, Leonard, it is not possible to deactivate inertial navigation by setting INAV_TC_XY to zero for instance?

First full fpv flight with V3 rc1 and I had not issues whatsoever. I have been hovering, getting compassmot to 39% and little vibration due to weather. In other words I spent time getting everything right.

Tried Stab, ALT Hold and Loiter in about 10kts and was perfect. Tried RTL to test and flew straight home and a simple 3 waypoint AUTO mission on TBS Discovery in X-mode on stock PID's.

On 9x5s it was pulling a few too many amps so I switched to 10 x 5s expecting to have to do some tuning and same smooth perfect flight with no extra tuning.

I have had APM 1, 2 and 2.5 and for me this version is a real breakthrough especially in holding ALT without any pulsing which I always struggled with.

Only problem I have had is once or twice it hasn't got GPS fix, but after a couple of restarts it works.

Well done to the developers and testers. I am hopeless at any of that stuff so wouldn't be doing this without you.


I just want to share my experience with Ardupilot. I have followed the project a long time and bought my first Ardupilot 2 years ago. The one with GPS on the print. That resaulted in a flyaway. Lost the quad and Gopro.

I believe the reason today was a total compass or GPS mess. Bought a new one with separate GPS. Tried it for the first time in the easter this year. Had one successful flight i Auto for every 5 unsuccessful ones. That was with firmware 2.9.1. Then I put the GPS on a pole about 10-12 cm above the Ardupilot. It was like I ended up in heaven. Every Auto mission just went on rails. Still using this firmware on this quad.

Then I built a tricopter on David Winterstål descriptions and plans. Bought a new Ardupilot and raised the GPS here too. Loaded with Firmware 3.0 rc 1. Just problems all over, loiter all over the place, RTL hunting in all directions. Then I bought a separate magnometer, put on the same pole as the GPS. Same experience as my quad. No it flies on rails in Auto and RTL. Loiter is spot on. Everything with standard pids.

I have just tried to catch what people write about what has been working for them in practical flying and that have sure worked for me.

But I realize the tremendious work the development team has done and of course still do and want to give them every credit possible! Thanks a lot!


Thank you for this statement, Marco!

As my question is still unanswered:

Is there any possibility to deacitivate inertial navigation in V3 so far (setting INAV_TC_XY to zero e.g.)?

No Philipp, as far as I know that is not possible.

It's possible to disable the accelerometer based throttle controller using THR_ACC_ENABLE = 0.

A velocity based controller is used instead.

If you do that you'll need to heavily retune your throttle control PIDs. It is not working with stock PIDs.


Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service