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.

Views: 387227

Reply to This

Replies to This Discussion

To SAVE Flash memory space for hex file size:

Append this at the end of APM.Config file:


--- Result ---

Compiling 'ArduCopter' for 'Arduino Mega 2560 HAL (Apm 2)'
Binary sketch size: 245240 bytes (95% of a 258048 byte maximum) (56.53 secs)

Note: You can remove more things from the code to fly it with minimum features, I just got my final memory size down to 175,000 bytes. Almost 70% of final size and copter still flies the same :)

OK so any number is valid and just represents the minimum throttle. I must have went to low and the motors refused to start. Set to 100 it's working fine.

Hello Randy,

Here comes the 8MHz delay log. No change in twitching.

Besides, like the logs before I only powered the APM board and external compass over the USB port. RX and ESCs are connected but not powered up in order to eliminate interference by any noise they create.

Thanks for all you efforts!!



When the winds calm down I will post again with video and logs. It's an Octo with:
4 of these:
APC 12 x 4.5
6 kilo in total with camera and gimbal but I'm tuning without that. Adding weight should calm it down naturally which is what I would want when carrying the camera.

Where can we get a full list of all the features that can be disabled and those that should be left enabled?

Randy I really appreciate your time!  Here are is the log.  As you'll see, the HUD dance continues.  Is it possible there is a HW issue?  Are there many of us experiencing this with the RC4+ FW?



Ciao  leonardthall,
I was able to try the modified firmware as per your instructions, the test was great, the behavior was perfect, no oscillations or twitching, the flight was smooth and continuous. I think the change that you want to include in the code is OK for me with my frame has given excellent results.
you place the log and a small video.

Thank you for your patience and explanations.



Bruce, woow - I just played your log in MP, that is allot worse than mine. Your HUD is all over the place.

Besides my twitchy APM its only you who I personally found on the net who complains about it. The question is how many fiddle around with BETA versions? I would say this behavior is fairly rare but I would guess that we find a few more joining us once this version is released as normal version.

It is bad Detlef.  I'm flying with 3.1 rc3 for now. Today i'll be loading each iteration from rc3 - rc4 to see where it first pops up. 

I will probably get the PixHawk when it comes out....


I was just wondering, if the RC output speed is only 490Hz for updating ESC values why would you need to read the sensors with 8MHz? I am not an Arduino programmer but 500kHz input gives already 1000 input values for 1 output to the ESCs. Do you need more for internal accuracy or am I thinking wrong?


Here is a TLOG of a failed auto tune. I've tried it many times but it always fails after about 30-40 roll iterations. Does it show in the log why it failed? I have the onboard log as well if it's needed. APM2.6 standard gps. rc5. 10" props.


Well I found the HEX file where my issue first pops up.  It's 2013-10-13-03:10.

Here is the git-version.txtt file contents:

commit 0e740bd4e1bb018aac3c1ddef09f811de7706b2b 
Author: Randy Mackay <> Date:   Sun Oct 13 11:57:50 2013 +0900      Copter: enable AUTOTUNE for mission planner build  
APMVERSION: ArduCopter V3.1-rc3

Hope this can help track down my issues...

- Bruce

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service