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 –


  • hello Randy & Devteam,

    Is there a way for the system to detect if it's downward velocity decreases rapidly?

  • Guys,

    I need your help. APM2.6/3.1rc2/SimonK. The quad is flying great in Stabilzie, also Loiter is holding pos and altitude without toilet bowl. What I noticed in my videos though is that the motors seem to be very aggressive in Loiter mode, especially in windy conditions. Please have a look at the video and point me in the right direction of which parameters to tune. Loiter PID's, throttle rate or throttle accel?




  • So the soft overloads arduino in apm when driving an octocopter?

    Maybe time to optimize code?


    With a quad, in Simple Loiter mode, the 50Hz loop is running at about 20hz. It's slow, but it's still OK. However, with an Octo, the 50Hz loop drops to about 5Hz. It's barely running at all, and it performs very poorly. Once you turn on Mount, it drops below 5hz, and the process falls apart. I can't even measure the loop rate. In fact, it's so bad, that it stops being able to read the barometer properly. This can cause a flyaway. I tried 4 times to conduct this particular segment of test, and each one resulted in a crash. ...."

  • Is it possible to code "Auto Land" as an option for Channel 7?

  • Re:  Arduino IDE

    I'm trying to compile v3.0.1 (same as I did with 2.9.1b) but I keep getting "#error CONFIG_HAL_BOARD must be defined to build ArduCopter".

    I noticed in APM_Config.h it says:

    "If you used to define your CONFIG_APM_HARDWARE setting here, it is no longer valid! You should switch to using a HAL_BOARD flag in your local"

    But I can't find this file.  Does someone know where this file is suppose to be?  Or do I need to create this file myself?

  • Developer

    For those people who have had troubles with the voltage or current read by the APM being incorrect, I've created a video and put it on the bottom of this wiki page which shows how to calibrate it so the values match a hand-held voltage monitor or a turnigy power analyzer.  If you're using a 3dr power module then you'll find that the voltage and current are normally pretty accurate but sometimes they're a bit off and if you enable the low-battery failsafe it can come home prematurely (or too late) which is no fun.

  • Hi,

    I just had a weird problem with the Mission Planner. During ACCEL calibration (wireless), it ask for level then ht button, OK, Left side hit button,OK then Right side, it was like someone hit button before I did, this happened  on several attempts. I noticed on one attempt all I had to do is move the mouse and it would "Hit" the button (my pointer no where near the button on the screen.

    One time it went from right side to cal failed with one mouse move. I finally got it calibrated, seems ok but I never hit the button for the last step "on back" so I dont know if it entered before I got it on its back or not.

    this could be my PC problem but I haven't seen anything weird "yet" with anything other than MP.

    Just thought I would report this.  tomorrow I may try with an older version and see if it does it too.


  • 3D Robotics

    If you didn't tell the Mission Planner what kind of batteries you were using, it probably was going with the defaults. It's best to set up battery failsafe as part of your initial setup process. 

  • Hello all!

    Now i have second Hexa X copter with APM 2.5.

    Today i have second fly. First i fly and land, then i check how works RTL. All good. And then i testing Failsafe - power off TX. But copter not fly RTL. It slowly fly down how before this moment. I wait 3 seconds and turn on TX and up throttle. No reaction with throttle up and other sticks. Then copter fell to small tree and to ground. In this moment telemetry not works (bad telemetry and landscape below tha takeoff poind). I lowered throttle and do Disarm. I go to copter - motors not spin, all indicators good.

    I think problem with PPM encoder (i not check this and not change firmware in this board) or something else??? Please see my logs.

    2013-10-06 14-04-40.tlog

  • I confess I fall in love with AC 3.1-rc2. Thanks devteam! Bring in ac3.1-rc3 now! :D :D :D

This reply was deleted.