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 –


  • @Emin,
    Saw the videos but hard to understand your explanation.
    It may be a good idea to put some full stops and a bit more clear in the text description.
    This domain may be for sale!
  • rc5 Auto Prop Spin - AGAIN!

    Excellent choice. Developers should leave the motors spinning on arming as in rc5. The setting is very clear and easy to find in 'Standard Params' so if you want to disable the air bags - oh - spinning props then, simply change the feature. You guys are usually the avid tweakers anyway. The others who are not so into every firmware feature/detail (I'm one. I just want to drive.) do not have to miss what we do not have. For our safety the feature should be enabled by default and we do not have to try to understand -everything- to go find all the things to turn on to be safe. ;-)

    Where is it? (I did not know.)
    Config/Tunig > Standard Params > Motors always spin when armed (MOT_SPIN_ARMED)

    The feature has five available settings;
    * Do Not Spin
    * Very Slow
    * Slow  [default]
    * Medium
    * Fast

    IMO - The default - 'Slow' props looks Very Professional and has a Very High Cool! Factor. [If something is ready to go it should not just silently and without any visual indication sit there ready to cut your fingers off!] In Operation: With the enabled Arming Buzzer and an external Arming LED you hear a double beep and the blinking LED goes out - The motors initiate with a momentary quick fast spin - The LED is out - the props go to a slow even spin - The Buzzer double beeps again and the Arming LED lights to remain on and solid. The machine sits proud with the props slowly spinning. Very good presentation! I'm anxious to get a GCS setup to add to the Awe Factor. Oh, also professionalism and safety conscious too. It can't be all fun! lol.

  • 3692881925?profile=original

    To Developers - Thank you

    Not sure the change was in MP dev. or MS Win but, I'll give the MP dev. guys the thanks. It was likely their coding efforts.

    Problem: For over 5 months (June) I'd lost the actions field shown. Its refresh rate had changed and no longer worked on my 2013 Toshiba Laptop w/Win 8. Anyway ---- it now works.

    Thanks - see the nice clean picture - Yahoo!

  • Developer

    RC5 at work on a big multirotor with retractable landing gear...

    Bests, Marco

  • To Developers -

    In vs 3.0.1 the low Battery Alarm Buzzer would sound if the vehicle was connected only to USB - no battery.

    In vs 3.0.1 rc6 - Did you make a change to disable the Buzzer when the vehicle is only attached to USB? If so, thank you.

  • Compiled the master rc6

    This setup:


    // uncomment the lines below to save on flash space if compiling for the APM using Arduino IDE. Top items save the most flash space
    //#define CLI_ENABLED DISABLED // disable the CLI (command-line-interface) to save 21K of flash space
    //#define LOGGING_ENABLED DISABLED // disable dataflash logging to save 11K of flash space
    #define GPS_PROTOCOL GPS_PROTOCOL_UBLOX // hard code GPS to Ublox to save 8k of flash
    //#define GPS_PROTOCOL GPS_PROTOCOL_MTK19 // hard cdoe GPS to Mediatek to save 10k of flash
    #define MOUNT DISABLED // disable the camera gimbal to save 8K of flash space
    //#define AUTOTUNE DISABLED // disable the auto tune functionality to save 7k of flash
    #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
    #define CONFIG_SONAR DISABLED // disable sonar to save 1k of flash

    Used default PID settings

    Frame homebuilt X8 2214 850kv Prop 10X4.7 4s lipo 5000mah AUW 2,5kg

    Tested Stabilize, AltHold and loiter for 4 minutes 2 times

    Everything worked amazing. Had no problem att all :-)

    When wind calm I will try Autotune, well not neccesary I think but anyway!

    One note vibration (se pic)and I think this is the most importent thing to address.

    Big thanks to all in dev team.


  • Finally a nice day in Holland: no wind so a perfect day to try out RC6 and out of curiosity, the autotune feature. I can only say it's perfect. Flight modes tested: stab, alt hold, loiter, rtl and auto. When I load the KMZ from an auto mission into Google Earth, it looks like a roller-coaster track, nice straight lines en rounded angles :-) (Maybe we can start a competition who can make the most beautiful track ?)

    I was happy with the PID settings I already managed to set using Dave C's guide, but the autotune made the quad react much more direct. It's like the quad and the stick are connected, no delays anymore.

    For video I will lower the stab-p from 10.5 to about 6 I think..

    I'd like to thank all the developers for their work, you make my hobby a joy!


     RATE_RLL_P, 0.16
     RATE_RLL_I, 0.27
     RATE_RLL_D, 0.012
     RATE_RLL_IMAX, 500
     RATE_PIT_P, 0.16
     RATE_PIT_I, 0.27
     RATE_PIT_D, 0.012
     RATE_PIT_IMAX, 500
     STB_RLL_P, 4.5
     STB_RLL_I, 0
     STB_RLL_IMAX, 0
     STB_PIT_P, 4.5

     RATE_RLL_P, 0.135
     RATE_RLL_I, 0.135
     RATE_RLL_D, 0.0145
     RATE_RLL_IMAX, 500
     RATE_PIT_P, 0.185
     RATE_PIT_I, 0.185
     RATE_PIT_D, 0.0145
     RATE_PIT_IMAX, 500
     STB_RLL_P, 10.5
     STB_RLL_I, 0
     STB_RLL_IMAX, 0
     STB_PIT_P, 10.5
     CPU: PX4 and PX4IO, mounted to quad on 3mm neoprene layer (old surf wetsuit), actually quite rigid.
     Motor to motor diagonal: 75 cm
     Weight: 1450 grams
     Bat: 3S 4000 mAh 40C, orientation: front-rear
     ESC: Turnigy 25A basic 3.1 with SimonK firmware
     Motors: Fake KDA 20-22L from Hobby King
     Props: APC 11 * 4.7
     Arms: CF 1 cm tube 1 mm wall-thickness

     No wind
     Temp 9 degrees Celcius


  • Leonard, guys,

    I am confused about the ACRO default settings. In an earlier post it was mentioned that acro_balance_roll/pitch had old values of 200 and should be set to 0.2. There is only a general comment about acro improvement in in the release notes for 3.1-rc1.

    In 3.1-rc2 config.h I find:

     #define ACRO_BALANCE_ROLL            200

     #define ACRO_BALANCE_PITCH            200

    In current 3.1-master:

     #define ACRO_BALANCE_ROLL                        1.0f
     #define ACRO_BALANCE_PITCH                        1.0f

    When was that changed? And how does MP know what is the right parameter range?



  • 3.1-rc5: So my X8 FELL DOWN FROM THE SKY BAD. Brand new Nex5T Camera and lense destroyed. Gimbal mangled and  destroyed. Frame mangled and cracked. Not much is left. I had to collect the pieces in a small bucket. Big $$$$$ loss.

    Everything was looking great. Loiter was rock solid. Autotuned. Tested several flights before the fall and everything was 100%.  

    Simple mission: Went up 200 feet perfectly in loiter. Started to descend in loiter. A few feet down and the X8 started to drift by itself. Tried to correct using controls but the controls where GONE. Less than a second later, motors cut off. I throttled up but nothing. Came down at standard 21.937 mph due to gravity. Like a rock. I have been doing this for over a year and a half but never seen anything like this. Battery power was at about 11v and only approximately 6500mah consumed out of the 11000mah. so plenty of juice. Actually, the batteries survived (just about the only thing left) and are still operational.


    Modified HexaB to X8. Configuration looks exactly like 3DR RTF X8 with extended legs for gimbal space. APM 2.5, AC3.1-rc5, 2X 5800mah, 8X 880 motors from 3DR. 3DR PMU, Spektrum DX8, AR8000 with TM1000, PPM updated on APM, compassmot done (6%), accel calibration done, Mag offset done using your recommended method. 

    I have looked at the logs and found that it went into RTL by itself and the line following the RTL mode is as follows:

    Line # 13033: MODE RTL

    Line # 13034: ERR Subsystem 5 Errcode 1


    Line # 13054: ERR  Subsystem 5 Errcode 0

    Attached are two logfiles 7.log is the "fall out of the sky bad", 6.log is the flight just before which was perfect, . I would be extremely grateful if someone could tell me what happened???? I really don't want to lose it all again.


    Screen Shot 2013-11-17 at 9.32.31 AM.png

    2013-11-17 07-51 7.log

    2013-11-16 17-14 6.log
  • This whole motor spin when armed debacle is why I opted to put LED strips under my arms for a visual indication long ago when the APM1 was king.  That said for those people who don’t have any LEDs on their copters having the motors spin when armed seems like the next best reasonable option…

This reply was deleted.


DIY Robocars via Twitter
RT @a1k0n: @DanielChiaJH @diyrobocars @circuitlaunch Here's my car's view of that race. About 8.4 second lap times for laps 2 and 3... both…
12 hours ago
DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at Races begin around 2:00pm PT
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10