ArduCopter-3.0.1 released!

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.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • ALERT- The motors on fast when Armed in Stabilize Mode on the ground and Tx failure/Off has carried over into rc7.

    I was wrong before guessing the Throttle went to Full (100%). It is actually Half (50%) Throttle.

    The APM still runs the motors from zero to half throttle when armed in Stabilize Mode and loss of Tx. If you re-establish the Tx the APM transitions into RTL (default) or likely your preferred F/S setting. Shortly it will Disarm. The Tx has no control for throttle but does for other attitude input sticks. The APM will disarm in an unknown amount of time and if the machine was flying it is now - falling...  Or, if it was cutting something up it will stop. I think. This really needs a coder to play with on his APM/machine to fix this. Currently the APM regarding 'This Condition' is unsafe and unpredictable.

    Test Request by Jason4Short
    Upon some testing within the F/S screen - I've seen that anytime there is no Tx recognized the APM Channel #3 Throttle goes to Half position. This is not good - I would suggest a code check on Channel #3 Throttle would be: If ThrIn= 0 (zero) - remain at zero for multi-rotors. Now, for planes? I do not know because they may be gliding. Unless, they have a Glide Mode. An added check for multi-rotors? If over a previous time 'X' the ThrIn=0, RSSI => .25(?), AltZ(?)=0 Then ThrIn=0 (remain at zero) and Disarm until APM reboot. [Disclaimer: I do not know fw variables or coding.]


    Yes- I understand - Do Not turn off the Radio - But, we have control of how this system is made and the current condition can be corrected. So, we should make it Mo'betta (not english... gutter slang.)

    Thanks all --- If I wasn't caught on this Safety issue (Pet Peeve) the rest is pretty Awesome!  :-D

  • I tried to update RC7 to PX4 with official 3.0.1, but connecting with MP was impossible after upgrade? 

  • Hello, This morning I was testing my upgrade to AC3.1-RC5 because I was having some problems with my sonar in loiter mode in 3.0.1. This morning evry problems were solved loiter was perfect. But alt-hold not so much... when I use yaw the copter drops... I tested also the land mode, first as you can see in the logs, it lands perfect but too fast for me (50cm/s) I changed to 30 cm/s and tested again... When I changed the mode to Land at  4m, the copter fell too fast, hit the ground and it overturned breaking all the props... :( 

    The strange thing is that while in the fall, the logs stopped recording....

    I would appreciate some help with this, thank you very much.

    2013-11-22 15-10 13.log

    2013-11-22 12-47-12.tlog

  • I'm using APM2.6 and github rc7 to compile with radio channel 5/6 swap. I had to disable the below to get it to upload and fit within memory. With rc5 I only had to disable mount to make it fit into memory. Would this be correct?

    With RC5 and RC7 I did not reset/erase anything prior to uploading. So it's using the same config.

    #define MOUNT DISABLED // disable the camera gimbal to save 8K of flash space
    #define OPTFLOW DISABLED // disable optical flow sensor to save 5K of flash space
    #define AC_FENCE DISABLED // disable fence to save 2k of flash
    #define CAMERA DISABLED // disable camera trigger to save 1k of flash
    #define COPTER_LEDS DISABLED // disable external navigation leds to save 1k of flash

  • Guys, Im still running the last full release 3.0.1 on my two main machines and was wondering when to expect the next full version.

    I think 3.0.1 had the memory overhead problem on octas so have turned off all logging on mine. It will be good to get it back again. I believe this memory issue also caused a slowing of telemetery. I presume this would also slow the OSD update?


    I appreciate the efforts of the devs and all those who risk their machines checking out the RCx versions.

    Im also keen to see how the autotune copes with my floppy, bendy frames.



    Might I suggest some system to automatically upload the main PIDs to some central system so folks can check for gross deviations from the norm. Perhaps this could be linked to MP so that the PID numbers change from green to amber when away from the middle ground. This may need some size & config filter to work well.


  • Developer

    AC-3.1-rc7 is now available in the mission planner through the BetaFirmwares link.  All feedback welcome!

    Changes from 3.1-rc6
    1) MOT_SPIN_ARMED default to 70
    2) Smoother inertial nav response to missed GPS messages
    3) Safety related changes
        a) radio and battery failsafe disarm copter if landed in Loiter or AltHold and throttle zero (previously they would RTL)
        b) Pre-Arm check failure warning output to ground station every 30 seconds until they pass
        c) INS and inertial nav errors logged to dataflash's PM message
        d) pre-arm check for ACRO_BAL_ROLL, ACRO_BAL_PITCH
    ArduCopter 3.1-rc6 16-Nov-2013
    Improvements over 3.1-rc5
    1) Heli improvements:
        a) support for direct drive tails (uses TAIL_TYPE and TAIL_SPEED parameters)
        b) smooth main rotor ramp-up for those without external govenor (RSC_RAMP_TIME)
        c) internal estimate of rotor speed configurable with RSC_RUNUP_TIME parameter to ensure rotor at top speed before starting missions
        d) LAND_COL_MIN collective position used when landed (reduces chance copter will push too hard into the ground when landing or before starting missions)
        e) reduced collective while in stabilize mode (STAB_COL_MIN, STAB_COL_MAX) for more precise throttle control
        f) external gyro parameter range changed from 1000~2000 to 0~1000 (more consistent with other parameters)
        g) dynamic flight detector switches on/off leaky-i term depending on copter speed
    2) SingleCopter airframe support (contribution from Bill King)
    3) Drift mode replaces TOY
    4) MPU6k SPI bus speed decreased to 500khz after 4 errors
    5) Safety related changes:
        a) crash detector cuts motors if copter upside down for more than 2 seconds
        b) INS (accel and gyro) health check in pre-arm checks
        c) ARMING_CHECK allows turning on/off individual checks for baro, GPS, compass, parameters, board voltage, radio
        d) detect Ublox GPS running at less than 5hz and resend configuration
        e) GPSGlitch acceptable radius reduced to 5m (stricter detection of glitches)
        f) range check roll, pitch input to ensure crazy radio values don't get through to stabilize controller
        g) GPS failsafe options to trigger AltHold instead of LAND or to trigger LAND even if in flight mode that does not require GPS
        h) Battery failsafe option to trigger RTL instead of LAND
    6) Bug fixes:
        a) missing throttle controller initialisation would mean Stabilize mode's throttle could be non-tilt-compensated
        b) inertial nav baro and gps delay compensation fix (contribution from Neurocopter)
        c) GPS failsafe was invoking LAND mode which still used GPS for horizontal control

  • Hi Randy & Leonard,

    I've noticed something strange in rc5 today. I have a quick run early on and I notice a stuttering motor after running autotrim, I run AC 3.1rc5 FW. Unfortunately I wasn't able to enable the motor log.

    Here's my quad specs:

    dji 2212 920kv motors (all new motors)
    hobbywing quattro esc 20amp
    tiger 2200 11.1v lipo battery (new)

    I try to changed the battery but still no luck.

    Here's my log and I hope you find time in looking at it. thanks.


    2013-11-22 08-51 4.log

    2013-11-22 08-54 6.log
  • Randy apology. be announced. is that I'm already test
    already in github. v3.1rc7 expected

    only testers

    ArduCopter Release Notes:
    ArduCopter 3.1-rc7 21-Nov-2013
    Changes from 3.1-rc6
    1) MOT_SPIN_ARMED default to 70
    2) Smoother inertial nav response to missed GPS messages
    3) Safety related changes
        a) radio and battery failsafe disarm copter if landed in Loiter or AltHold (previously they would RTL)
        b) Pre-Arm check failure warning output to ground station every 30 seconds until they pass
        c) INS and inertial nav errors logged to dataflash's PM message
        d) pre-arm check for slow GPS update rate (if arming in Loiter mode or circular fence enabled)
        e) pre-arm check for ACRO_BAL_ROLL, ACRO_BAL_PITCH
  • ALERT - Props Full Throttle Upon Tx Disconnect

    APM 2.5
    ESCs 30A Multistar
    3S pack

    3.0.1 rc5

    When the vehicle is armed and the propellers are slowly spinning if you disrupt or turn off the Tx (radio) the motors will go to Full Throttle. The vehicle is VERY DANGEROUS.

    I was a supporter of the props spinning but, with this code fault I am not. It does not matter what my pwm, stick position or tlogs or other conditions are ---- The machine was idle, armed and on the ground. The Tx was turned off and the machine went CRAZY!

    Note: There is a good note - I was testing the props startup slow spin for danger - ha, ha... The slow spin is very slow and stops easily if you insert something or bump a motor or prop. They stop and do not re-start. But, this turning off the Tx and having the remaining ones go to 100% Full Throttle is beyond SCARY. I nearly lost some meat!

    The code needs to go to FULL STOP AND DISARM WITH AN ALERT! It doesn't matter what my Tx PWM WAS Nor what any log states ---- This is repeatable on demand. Try it but, TIE THE THING DOWN. I held it once to try - DUMB - and they have some serious PULL! So, take off the props and test this with rc5.


    2013-11-21 12-40-28.tlog

  • About GPS Glitch, I notice something strange.

    When my copter is for away from me (more than 400m) and I do a RTL, my copter isn't tilting as hard as in Loiter when a GPS Glitch occurs, in fact with RTL it's moving slowly comparing to Loiter with a GPS Glitch. When looking at the log when a GPS Glitch occurs, distance between two measures wasn't bigger than 150m (far less from 400m or above when doing a RTL).

    I never had any GPS Glitch with 2.9.1, so I was wondering if the hard tilting when a "GPS Glitch" occurs isn't a symptom of an ArduCopter bug, like a 0 division or something like that

This reply was deleted.