ArduCopter-3.1 released!

After months of testing AC3.1 is finally available in the Mission Planner and GitHub.

Warning #1: If the vehicle is left landed (but armed) while in AltHold or Loiter mode for more than a few seconds, the vehicle may suddenly jump into the air the moment the pilot raises the throttle above zero.  The reason is the baro altitude may fall while the vehicle is sitting on the ground.  In AC3.2 this bug is fixed because we reset the target before take-off.

Warning #2: Motors will spin (slowly) by default as soon as the copter is armed!  You can switch this feature off by setting the MOT_SPIN_ARMED parameter to zero.

Warning #3: if you see "Bad Gyro" on the HUD then you may have a blown 3.3V regulator.  See this thread for details.

Warning #4: if you use a sonar set the SONAR_GAIN parameter to 0.8 or lower

Warning #5: Trad Heli users should now connect their main rotor ESC to APM's RC8 output

Warning #6: Trad Heli BUG causes loss of collective control in ACRO mode if swash type set to flybarred (i.e. not flybarless).  Will be fixed in AC3.2.


The major improvements over AC3.0.1 are (full list here):

1. Pixhawk support (Tridge & PX4 development team)

2. Autotune of Roll and Pitch gains (Leonard/Randy)

3. Drift mode (Jason)

4. Improved Acro (Rob/Leonard) and new Sport mode (Leonard)

5. Arming, Take-off, Land in Loiter or AltHold

6. TradHeli improvements (Rob) including:

a) support for direct drive tail rotors

b) smoother ramp-up of main rotor

c) reduced collective for better control in stabilize mode (STAB_COL_MIN, STAB_COL_MAX params)

7. Support for SingleCopter (Bill King)

8. Performance improvements resolve AltHold troubles for Hexa & Octacopters

9. Safety Improvements:

a) GPS Glitch detection (Randy)

b) Motors spin when armed (Jonathan Challinger)

c) crash detector shuts off motors if copter flipped for 2secs

d) batt failsafe option to RTL instead of LAND, gps failsafe option to trigger AltHold instead of Land

e) more pre-arm checks of inertial nav speed,

10. Bug fixes:

a) optical flow working again (although performance is still not great because not integrated with inertial navigation)

b) ROI working (use DO_SET_ROI command)


How to upgrade:
Click on the MissionPlanner's Initial Setup >> Install Firmware screen.  The version numbers should appear as "ArduCopter-3.1", then click the appropriate frame icon and it should upgrade as per usual.

Special thanks to Marco and the many beta testers on the AC3.0.1 thread who put their copters at risk during the testing of this new version and uncovered many problems so that you don't have to!  Here are some of their videos: loiter in wind, patio sonar, autotune, autotune2, roi, beach, acro, vrbrain, tricopter, train spotting, radio failsafe, the tree, double loiter


If you haven't seen it recently, please check out the ArduCopter wiki.


Feel free to post comments below and we're going to use the new APM Forum for support issues so please post your support requests there.

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

Join diydrones

Email me when people reply –


  • Hi Robert
    You can produce this dangerous condition even if you are routing the ESC through the APM.
    If you arm before the main batteries connected, switch the motor off again, and then connect the main batteries. Meanwhile the APM may have disarmed and you could fly. I tried this on my 450, there I’m routing the ESC through the APM.
    With ArduCopter2.7 I was just fine not routing the ESC through the APM on my 600, you could NOT get collective while unarmed. If I liked to check the operation of the swash plate on the ground as part of a pre-flight check, I just did not connect the main batteries.
    But anyway that’s not even the main problem. If you can fly in Stab Mode unarmed just fine, why does the collective go to the minimum position when switching to AltHold??? According to the logs the flight mode did not even change to AltHold, because it was not armed. But why did it not keep the condition and fly further in Stab as it did before I switched to AltHold??? The mode did not change, but what did???
  • WOW, I like it!

    Tested my 3DR X8 with 3.1, simple stuff so far, but the GPS/INS system is rock solid.

    I was in Loiter, and went to give the octo a push. Not only did it stay in place, but it forced against me very solidly. Like it was "stuck in the sky". Doesn't move more than about 10 cm!  Better than videos I have seen and hoped I could achieve with one of my own UAVs.

    This Christmas, I'll be testing everything!! ROI, simple / super simple and auto-tune in particular.

    In both my IRIS and X8

    Oh boy, oh boy, oh boy......!!

    Great work guys

  • испытания прошли успешно, благодарю - the tests were successful, thank

  • Hello,Randy!I've flied the AC3.1hexa for many times.In loiter mode,I tried takeoff and land,when i push the throttle slowly,it works properly,but when i push the throttle fast,it will takeoff suddenly sometimes,and the throttle is lower than the mid.How it happens - This website is for sale! - Times Resources and Information.
    This website is for sale! is your first and best source for all of the information you’re looking for. From general topics to more of what y…
  • ArduCopter 3.1 Traditional heli will destroy your heli if you manage to fly unarmed in stab mode and switch to AltHold. As soon you switch to AltHold the collective pitch will go to the minimum position, and drives the heli like a rocket into the ground.
    It happened to me. The heli flew like a dream in stab mode but unarmed until I tried AltHold.
    You are able to get collective pitch if unarmed, so you not realising that the APM has, after a while disarmed again. ArduCopter 2.7 allowed NO collective pitch if not armed.
    • I am actually tuning my heli, it flies ok in stab (I am not done yet), but even when armed I get the same behaviour from althold that will swing the collective to full minimum (fortunately, unlike you I tested that on the bench and did not crash). I am still looking for a solution. It has to work, others did it.

      I route the esc through the apm, so it has to be armed to fly.

      • Ok, my error. It has to be armed and the motor has to be activated in order to have althold working. I tought that having the copter armed on the bench was sufficient to verify the switch between modes, but it was not.

        So, I just disconnected the motor, armed the copter, activated the motor switch and checked that althold was handling the collective in a coherent manner. Bench test successful.

        I tried it outside for real, excellent results.

        I might be over cautious, but as we say, better safe than sorry !


  • Randy, two weeks ago I asked for help because I was having a message "bad compass health" using an external mag. Ended up I changed the external mag for another one, same type, and problem is gone. No more error messages. Maybe i just had bad luck with that first external mag. 

    APM now its working pretty good. No more heading problems, loiter is perfect (outperform my naza at strong wind), no more TBE, no more yaw problems. You guys did a pretty damn good job. Thank you.

    Only problem i am facing now (last one) is when the quad hit the waypoint it drop from sky and when it almost hit the ground it goes up fast back  to the right altitude and go to the next waypoint. It is behaving like that when reach every waypoint. Could be a problem related to an uncovered barometer?

    My best regards,



  • Can we Add an Explanation of Thr_IN THR_OUT to the Log Diagnoses Wiki ? I forgot what it means When ThrIn Is above ThrOut. am i under powered? How do you correct that? Change THR_MID? i dont think this counts as  a support question on firmware 3.1, thats why i asked it here? thanks in advance

  • How is the sonar on this version? On my 3.0.1 it isn't great but other than that I have a perfect flying machine.

This reply was deleted.


DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
DIY Robocars via Twitter
DIY Robocars via Twitter
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Noticed my car zigzagged in last run. It turned out to be the grass stuck in the wheel and made the odometry less accura…
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Test my car. RTK GPS worked great. Thanks @emlid for their support.
May 8
DIY Drones via Twitter
RT @chr1sa: @kane That's @diydrones circa 2009. Still have a box of those Canon cameras that we used to strap into planes, just like this.…
May 3
DIY Robocars via Twitter
RT @chr1sa: Our next @diyrobocars race is going to be outside at a real RC racetrack in Fremont on May 28. Fully autonomous racing, head-to…
Apr 30
DIY Robocars via Twitter
RT @f1tenth: Our Spring 2022 F1TENTH course @PennEngineers is coming to an end with a head-to-head race as a big finale. So proud of our st…
Apr 26
DIY Robocars via Twitter
RT @DanielChiaJH: I wrote a thing! Throughout the development of my @diyrobocars car I've been using @foxglovedev Studio to visualize and d…
Apr 23
DIY Robocars via Twitter
RT @SmallpixelCar: My new car for high speed. Low body, everything ( @NVIDIAEmbedded Jetson Xavier NX, @emlid RTK GPS, IMC) under the deck…
Apr 23
DIY Robocars via Twitter
Apr 21
DIY Robocars via Twitter
RT @f1tenth: F1TENTH Race training setup @PennEngineers for our upcoming ICRA2022 @ieee_ras_icra competition. @OpenRoboticsOrg @IndyAChalle…
Apr 21
DIY Robocars via Twitter
RT @fatcatFABLAB: Proud to be hosting a restarted DIY Robocars NYC Meetup April 26. Come by if you want to talk about and race self-driving…
Apr 17