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.