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: 134234

Reply to This

Replies to This Discussion

Hi Randy,

Yes I wanted to tune some PIDs using channel 6. Unfortunately, I had no time to do this...

I have re-run modes "level" and "accel", but same results.Then, I have new uploaded the entire code (V3.0.1-rc1) via MP, have run cli-modes "erase", "reset", "level" and "calibration" + "compass calibration" via MP. Same results.


Maybe this is a non-problem, but I can't get my head around it, so I hope somebody can shed some light on it.

When looking at my log data for Roll/Pitch vs. Desired Roll/Pitch during loiter, it seems that they don't track very well. I have attempted to adjust the Loiter_P and Loiter_Rate_P, but I don't really see any change in the log data.

This log is from a short loiter flight in somewhat gusty conditions with 4-8mph winds.

My motors are 750kV 400W@16V, SimonK:d ESC:s, Props are SF 1245, GPS is Neo-6M, Frame is a Tri.

FW is 3.0.1-rc1

FWIW, I'm quite happy with my loiter performance, I just like fixing things 'til they're broke. ;)


During loiter the Desired Roll/Pitch are your inputs. You have to go to the NAV command to see what the commanded angles are. So during any auto mode these shouldn't match (or acro).

Glad things are going well for you!

Hi Roman,

Randy and I have been working on this and we hope we have a fix. The problem is that we don't actually have a copter with this problem so we are basically working blind and guessing what the cause is.

I have one more addition and then I will send the code to Marco to see if it does the job...... Fingers crossed. In any case the changes improve the performance of loiter so it isn't work lost.

Hi. As of right now, there are 114 pages and 1367 replies to this thread. Getting overwhelming and hard to follow. Was wondering if there was any chance a new Arducopter 3.0 Category could be created so that individual issues could have their own separate post? May be easier to navigate and find info?

I think that is a good suggestion. I don't know if the powers that be will do it or not but I am pretty sure that it won't happen until the formal release of 3.01.

K, thanks.

But, in that case, shouldn't Droll/Dpitch be zero if I don't touch the sticks?

I guess I mistakenly thought Roll/Pitch In were my stick inputs.

Click between IMU row and AccZ column and then click the first button  about "create a chart from this data"

Make this for AccX and AccY

AccX and AccY are between -3 +3 and AccZ -15 and 5

It is here:


Except for the battery it is all inside the frame and you can't see it easily but basically the same as you with the addition of a zip tie near the esc to bring the wires together quickly and less turns per unit length.

My focus is on keeping the matching positive and negative wires as close together as possible. Then a couple of twists and I am done. 1 twist per 10cm might be a little bit of an underestimation, maybe 2 or 3.

yeh, exactly. roll and pitch should be zero if you don't touch the sticks. If they aren't then I have misunderstood something!

How would you turn the motor logging on? I don't think it is on by default...

Some altitude changes that you are seeing may actually be real changes in the barometric pressure. My tablet has a barometer and I chart it constantly. Most days it's moving enough to see 2-3 meter changes during an hours recording, however if a storm front is near it could change enough to see a 30 meter change in only 5 or 10 minutes. I had no idea that it changed this much until I started charting it!

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service