ArduCopter 3.0.1 has been released and is now available in the Mission Planner,, GitHub and the new Downloads Area.

Warning #1: Compass calibration and reducing interference is far more important than with 2.9.1b

Warning #2: GPS glitches can cause sudden and aggressive position changes while in loiter mode.  You may wish to reduce the Loiter PID P to 0.5 (from 1.0) to reduce aggressiveness (see image below of where this gain can be found in mission planner).

Warning #3: optical flow is not supported but will be back in the next release (AC-3.0.2 or AC-3.1.0).

Warning #4: loiter turns does not maintain altitude.  This bug will be fixed in AC-3.0.2.

Warning #5: This release has only been lightly tested on Traditional Helicopters.

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 (get it here)

2. Click on the MissionPlanner's Hardware, Install Firmware screen.  The version numbers should appear as "ArduCopter-3.0.1", 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. Although not directly related to this release, if you purchased an APM prior to March of 2013, update your PPM encoder to the latest firmware (instructions here).

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

Numerous How-To videos are available:

Special Thanks to MarcoDaveC and the large number of testers on the pre-release thread who put 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.

Views: 387123

Reply to This

Replies to This Discussion

Well it certainly is interesting, in my case most of the weight is placed fore and aft (camera + battery) with very little left and right. So it only makes sense that the pitch and roll PIDs should be different.  I have flown several auto missions lately and some manual flying, all is working great.  However I have yet to try any spline curves, it is on my list though.

MHA, that fixed the zomming, but not the failed connection to APM2 with AC 3.1rc5.

When Copter is connected to APM,

with USB + Battery means you may be doing compassmot. Right now it is not possible to use CLI (Command Line Interface) using Telemetry 3DR radio.

It would be nice if is allowed using 3DR Radio..

I've noticed my compass heading when connected via the USB cable is about 10-15degs different from when I'm powering the APM from a flight pack and connecting via telemetry.  Is this normal?

Very interesting David,

I don't know why it would do this, do you have a log of the tune and the spline flight I can have a look at?

Sorry Raefa, I don't understand what you are saying about ACRO. Could you try to explain this a little more. Also a flash log might help too.

Hi Randy, I need to upload modified arduino code on Apm, i need to change sonar analog imput 0 to analog imput 7 because an hardware issue.

I try to modify config.h and compile/verify with arduino but it's a little too big:

Binary sketch size: 260,882 bytes (of a 258,048 byte maximum).

How i can try to reduce size? arduino troubleshooting guide says "Delete any #include statements at the top of your sketch for libraries that you're not using."

or May I use Mission planner features to modify sonar analog imput from 0 to 7?

or what i could try to compile and upload modified arducopter code?



Thanks Randy and I definitely will try it no matter what. I would like to try and reproduce that to help find this bug, if it is a bug! Weather is looking pretty good today but I want to get a few more flights in today to make sure it doesn't appear in 3.1rc5. So far it hasn't showed up even once. Does that make since to you? Do you have some idea what could be causing this that might have been changed from 3.0 to 3.1?

Hi Leonard,

Here are the logs attached. The first log I flew with PID parameters found with autotune on 3.1rc5, then flashed the firmware to SplineNav 0.3, which is based on 3.0.1 (latest SplineNav code here:

The second log is those same parameters, flying the same spline curve, except averaged so that pitch and roll have symmetric PIDs. 

Now that I look at them, actually both these logs show sections of severe oscillation in pitch, each lasting many seconds. But with the autotune parameters, there are nasty roll oscillations at the same time as well, whereas with the averaged parameters the roll is well-behaved most of the time.

For good quality video I need to find a way to get rid of both the pitch and roll oscillations, although for a good smooth SplineNav track it's probably mainly important just to have smooth roll.

Please let me know if you have any advice for tuning these PIDs to get my copter flying smoothly, because I'd been working on tuning it for weeks and have yet to find really good PID settings; I finally gave up with the manual PID adjustment and decided to try autotune, but it doesn't seem to have helped much.

Although I did find that I can get a lot of improvement by tripling autotune's rate I terms, and halving the stab P terms. Still I can never get rid of the bad oscillations entirely though. They usually appear during a sharp curve, or on a descending slope.

Maybe it was just a bad autotune and I should do it over and see if I can get some improvement the second time?

Notes: SplineNav is mode 14 in the logs. Also, this is a 3DR Quad frame, with two-axis brushless gimbal, and GoPro. APM 2.6 with external compass in the GPS module.



You can't do it using Mission Planner. What you want to disable is the code (hex file) size that gets burnt into your flash memory. This can only be done by avoiding certain part of code being compiled and thus make a small code (smaller hex file) which will get uploaded using Arduino tool.

Download the RC5 beta version from git and open this in Arduino sketchbook. What you need to do is go to APMconfig.h file and DISABLE some of the statements like (or write the following there)



you can define disable anything else that you think might reduce the code size. Just compile and upload to bring it lower than 258,048 bytes max.

Hope it helps!

In the new firmware I have noticed a strange behavior.
The old was this: Everything worked as a stabilize mode, but the difference was only in the corners of the deviation. In the steady state deviation of up to 45 degrees, in ACRO to 60 degrees. In sticks reaction was the same as in a stabilize mode . When I drop sticks, then after 1-2 seconds copter leveled into the horizon .

With new firmware ACRO and begin do sticks. If i move stick separately only by Roll or Pitch, then copter flies right. If you fly on a diagonal, then the copter starts to rotate Yaw. When I release sticks, the copter continues to fly without alignment.

I try change presets and not see any good result.

In ACRO mode copter use compass? Need compassmot?

What is the flash memory we have in APM 2.5?

And isn't there any way to increase that?

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service