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 –


  • OK I thought it might be that the SD card was corrupted. But I placed the micro SD card from the Pixhawk into my computer (via a SD card adapter) and I was able to access the contents of the disk with no issues. I then put it back in my Pixhawk and same problem. I'll try another SD card in this Pixhawk and see how it goes. I thought maybe it might be the recent Arduplane firmware update that I just downloaded as well, but I'll keep working on it. Thanks for the advice!

  • Probably your Sd is corrupted, try with a new one.

  • I know that they are supposed to be enabled at all times, but recently my Pixhawk has suddenly stopped recording dataflash logs. It just says that the SD card is empty and there are not files. Do you possibly have an explanation as to why it stopped working? Can the SD card be corrupted somehow and unable to store new dataflash logs? It was working this morning, but now it's not. I did change the value for Log_Bitmask from 8062 to 65535 to get more data stored on the dataflash log, but I am not sure if that is the reason why it is not storing the dataflash logs anymore.

  • Hi David, could you tell me where is motors.pde. Thanks

  • Anything planned on implementing GPS Glitch protection on Arduplane?
    I mean poor mans Gps glitch protection (16 Bit Boards), as it is already available for 32 Bit boards with the EKF.

  • Attention fellow drone fans!

    I found this Hilarious Drone Wipeout Video that i know you guys will love as much as i did!

    Watch, laugh, share the joy!

  • That's it. I just had the issue. I removed all possible option in the APM_Config.h and it goes into the APM. Thanks Randy.

  • @mohsein,

    No need to worry, this is a common cause of concern. Due to Arducopter firmware's extended features, the code size has blown up over time than what APM's flash can handle. You simply have to go to APM_Config.h (or one of the header files where all #defines have been set). Comment the features you don't want (e.g.Camera mount, agriculture spraying, etc.. ), see the file carefully.

    Compile and make sure it does not complain. If it does, carefully comment // more features you can do without.

    Hope this helps!!

    • Hello Shyam

      thank you for your concern about our problem

      i did what you mentioned and i commented many defines that was not necessary for my job

      how ever it did not change any thing and still i am getting this error

      hope to find the solution once

      any help will be appreciated

      thank you

  • hello every body

    i need some body help me with compiling arducopter code that is presented with arduino IDE

    i have a code and i will attach it here that when i want to compile it, i encounter with this error

    actually it is not an error but is an disappointing message that says the memory which has been used is 12 percent more than it is allowed

    Build options changed, rebuilding all

    Sketch uses 291,244 bytes (112%) of program storage space. Maximum is 258,048 bytes.
    Global variables use 5,849 bytes (71%) of dynamic memory, leaving 2,343 bytes for local variables. Maximum is 8,192 bytes. Sketch too big; see for tips on reducing it.
        at Source)

    it is the released code and i dont understand what is the problem with that. i expected it to be compiled and gotten ready for upload

    it would be a great kindness of person who help me in solving that

This reply was deleted.


Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21