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

Reply to This

Replies to This Discussion

Yes, i did draw this flowchart. Hopefully it will help users to better understand how does work the radio failsafe stuff.

The Wiki team did add as well a chapter (forged from my previous message) about the PPM encoder failsafe behavior when it is used in PPM passthrough mode.

It's here :

Operation of Failsafe using a PPM Sum Receiver

All in all I really appreciate all the hard work and effort that the team is making and has achieved so far. Its an enormous task which probably most of us have no idea whats involved. I am sure I don't. .

I also recognize its from the efforts and testing by everyone here who tries out a new release that helps accelerate the process of development. The amount of feed back on this forum alone is massively valuable for everyone involved.

The time taken I see of many developers to answer questions and often the same questions over and over and no doubt valuable time taken away from actual development is a patients appreciated enormously. 

I  have learned so much in such a short span of time also due to this forum.  I can only take off my hat to everyone and thank you all. Well done . John

Here is the log. Roman


I had another uncontrolled roll today with my Quad. This time I think I had all the right logging on.


3DR Quad frame Rev C
APM 2.5 running 3.0.1-Rc1
uBlox LEA-6H GPS
3DR AC2830-358 850KV motors
3DR 20A ESCs
APC 10x4.7 props
3S 5000mAH battery
Spektrum AR8000 Rx

Spektrum DX8 Tx

It initially appeared as if I was having a loiter fly away as the quad rolled hard left. I snapped it back to stabilize and used stick input to fight it and turn it into a slow controlled crash. 

The quad did not flip or move more than 45 degrees past level. The MP screen capture is with it sitting on my table. It just thinks its continuously rolling right now.


My tricopter has some loiter jitters as well that I didn't have when using 2.9.1 software.  My ESCs are running simonk firmware. 

I made a quick flight in my back yard switching from stab to alt-hold to loiter with the majority of the time in loiter mode.   Not the best GPS lock (too many trees) but perhaps my log will help in the investigation.

See attached.  Thank you.


Hi All,

Just a quick question about the versions of  AC 3.0.

In missionplanner if you use the button beta firmware you get version AC 3.0 RC 1.

But if I go to the download sites github etc I see that AC 3.0 RC 6 is already available.

What is the reason that missionplanner shows RC1?

Thanks Erik

I think the best solution for failsafe is PPM straight into the APM, with RC reciever configured to send no signal. This means, without any configuration, the APM can detect loss og signal, and then act appropriatly.

The PPM encoder could be improved by having a seperate communication mechanism to the APM, so instead of setting a known state, it truely said, i have no signal. This helps simplyfy the failsafe code. Maybe in a future design the PPM encoder could have a digtsl i/o line connected to the APM to signal this signal loss event.

Mission Planner is showing AC 3.0.1rc1

AC 3.0.0rc6 was an earlier version

when I load the latest firmware, I can connect to my apm 2.5 over usb with no lipo connected and all is fine. I proceed to calibrate my radio, accel, and turn on current sensor, optical flow, and sonar. then I disconnect and try to reconnect. usb connection fails, and no matter what I do I can not connect again. if I plug in the lipo motors will be an spin on their own. i thought maybe that all the sensors drew to much power over the USB connection, so i that's why i tried to connect with a lipo plugged in. today i even got hold of another APM 2.5, still no luck. im a good trouble shooter and usually work these things out. unless there is something im doing wrong....... back to 2.9.1b, works every time no funny business. i appreciate everyone's patience's and for the help i have received. this is making me loose sleep now. here is my copter and a list of its componets, let me know if anyone sees any red flags that would stop  me from using firmware 3.0.1rc1

if anyone lives near geelong, Victoria, Australia, and can solve this there is many beers and free life time membership to our hacker workshop with access to all the tools you can dream of!





apm 2.5


voltage and current sensor

optical flow

ublox gps

 30amp multistar opto with simonK firmware.


Bill, there is a provision to do that, using APM CH5 input and modifying a pad on the board. In this case the PPM encoder is fully bypassed at the hardware level.

The advantage of not using this is that even without radio failsafe enabled on the APM, the PPM encoder will send throttle low and CH1,2,4 = 1500 us. This will drop the copter from the air.

Actually for PWM servo mode we have a #define to use 800us signaling if a channel is lost. Each channel has an independent detection with switching its output to 800 us if a channel is lost or out of tolerance.

But we need to make the APM code aware of this and build a new failsafe strategy to support this.


How stupid of me 3.0.1rc1 and 3.0.0rc6.

I was to hasty when looking at different sources.

Two suggestions, try again from the beginning without the optical flow and sonar. And try another computer.

I am pretty sure optical flow isn't supported on 3.0. That might be causing the problem.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service