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 –


  • Just a quick question; when upgrading from 3.0.1 to 3.1rc5, is it necessary to do another compossmot if there we no other changes aside from the firmware?


  • Developer


    My friend just crashed his octocopter today and I don't know interpret this log.

    It was a mission for mapping a small property, everything looked all right and then it took off in stabilize mode and then loiter to confirm if everything was good, after a few seconds it changed to auto and it went directly to waypoint 1, then something happened and it went to the right and after that a crash in the tree. I can see in the tlog that it goes from auto to loiter then failsafe LAND...

    Can someone help me understand what went wrong? Is this possible with only the tlog? 


    OBS: THE FLIGHT STARTS AT 95% of the LOG. 

    One thing I'm finding strange is the fact that the printscreen he took in the momento of the crash is different on what the log is showing. Why?



    TLOG the BLUE LINE goes to the side then goes to the tree that it crashed:


    I think the right path is the first printscreen, the second contains some kind of log glitch... 

    We really need to know what happened, please someone help us!
  • Is it possible to insert in arducopter the camera trigger function based on distance covered like in arduplane?


  • Why is the folder QUADROTOR appearing in my /Windows/Program Files/Mission Planner/logs directory?

    I've noticed that this folder started appearing a couple of MP versions ago...  In this folder is a subfolder called '1'..  In that are a few rlog and tlog files.  I keep deleting this folder, but it always appears again.   I don't want this directory. (I'm flying a hex not a quad)..  How do I permanently get rid of this folder?

    FWIW, I'm using MP 1.2.85 build 1.1.5049.36165 and have the 3.01 firmware loaded on my hex

  • Hello!

    I want to modify the 3.1RC5 with my custom angle motors (tbs discovery frame) but when I compile de firmware, I obtain the error: Sketch too big.

    How to solve this?

    Best Regards.

  • Just added my external compass and loaded 3.1 rc5. Seems better in loiter (no toilet bowling - no compasmot) and rtl is solid.

  • First thanks to dev team for the wonderfull work they do.

    Recently I got my PX4FMU/IO and decided to try the autotune with 3.1-RC5.

    everything looks good at the end of the autotune procedure the QUAV is very well tuned and very pleasant to fly except that I can't memorized the values (I am doing exactly what is discribed in the autotune procedure ,land disarm with autotune switch hight).then I check in mission planner all PID's were unchanged !!!.

    Can someone tells me what I am doing wrong.

  • Hi All,

    I have a question regarding the AP_OpticalFlow_test that comes with the latest download. I have the latest arduino IDE, APM2.6 and arducopter 3.0.1. I follow the optical flow sensor wiki and modify the pde file as stated:

    • if you are using an APM2 modify lines 22 and 23 to look like below:
    //AP_OpticalFlow_ADNS3080 flowSensor;              // for APM1 
    AP_OpticalFlow_ADNS3080_APM2 flowSensor(A3); // override chip select pin to use A3 if using APM2

    When I compile this I get the error: 'AP_OpticalFlow_ADNS3080_APM2' does not name a type

    I also notice I am modifying line 17 in my code..... not sure if that makes much of a difference.

    Any help much appreciated! Pulling my hair out at the minute! :-s

    Any news about the not connecting (heartbeat) issue in mission planner 1.2.85???

  • Don't know if this has been asked before. I read that the compiler that comes with Arduino(1.3) generates slightly bigger code than the one the dev team is using. Is there a description on how to install the develeopment environment? Target is to reproduce the exact hex files as are uploaded via MP.





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…
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