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: 386489

Reply to This

Replies to This Discussion

Do you have the log where you did your tune?

I would like to have a look at the Auto Tune tests. It gives me a much better idea about how the frame handles the various rate and position commands.

I am not an authority, but the main problem is the cpu on the board most likely cannot address an increased or larger flash memory.To keep costs down the manuf purposely set these limits to minimize parts and complexity and ultimately costs. the cpu prolly only has so many address lines and most likely cant read any more anyway.

Unfortunately what appeared like lots of memory has become little. Its the 640k should be enough for everyone problem, originally it was but time caught up with that. 

Which loggings are to be enabled when we do the autotune?  Is it best to do it with only the minimal defaults or with IMU and INAV enabled?

Just have the minimum enabled, Autotune has it's own logs that are enabled with Autotune. Those logs have everything I need to examine the quality of the tune you get.


I'm ready and willing to test the patch.  


Hi David,

I don't believe this is being caused by the PID gains. it is just that the new gains are significantly better than the originals and mean the angular reaction is faster than before.

I think the underlying cause of this problem is that your desired position is not being moved smoothly along your curve. This is causing small oscillations in your position error and therefore your velocity request. The small oscillations in your velocity request are differentiated, and therefore amplified, in the feed forward component of the desired acceleration calculation and are then directly converted to angular oscillations.

I can see all this pretty clearly in the NTUN logs. I thought that it might be some sort of feedback from the roll pitch angle via the acceleration back into the position and causing an oscillation that way. But looking closely at the logs the disturbances happen even when there are no roll pitch changes.

You will need to provide a flash log Raefa. But I suspect you are not using ACRO the way it is supposed to be used.

I managed to connect the cli using 3DR radio by connecting within 30s after applying power on the APM. It's with 3.0.1

Ty, I'll try.


Hi Leonard,

I did the autotune over again, since I didn't have the log from last time. Here's the new autotune log attached, then the log of the quick flight with the new PIDs (although no SplineNav, because it's now nighttime here and I didn't want to go far or fast).

Interestingly, the roll and pitch PIDs are nearly the same this time, even though the frame and payload is exactly the same as before. But the autotune completed really quickly this time, whereas it took the entire battery last time, so maybe last time the difference in the values it got for pitch and roll could have been due to the battery voltage difference?

Anyway, I agree with you that the oscillations in SplineNav position error are an issue, although that could probably only be fixed with a faster update rate, running on a faster CPU.

However, there must be something more to it as well, because I get similar jitters (although not as severe) when flying around in stabilize mode as well, as long as I start exceeding about 45 to 50 kph or so. 


Sorry, yeah, that's confusing. I haven't used DR on my quad in acro.  I have used it a bit on my APM controlled helis, and Octos.  I've used it more on airplanes, back in the day.

I thought the standard resolution for PPM was 1uS, ( I should have written uS, not mS).  This is not the same thing as digital steps in the the A/D conversion, which I think is what you're talking about?  Every channel in the PPM stream is allocated 2mS of space, and typically they use 1mS of that (ie: 1000uS).  I'm pretty sure the timing resolution is 1uS.  So you get 500uS per side, and if using 50% DR, you'd have 250uS per side. Still seems like more than enough to me.  Especially when you consider these are control commands, which are used by the APM to hit target rates.  So servo slop, etc, don't come into it.  And if you're talking about centering, don't forget those inputs have deadband.  So you should have no problem returning to center.

I've never seen a servo with tighter than 4uS deadband anyway. 4uS deadband into 2000uS total, one could say you only have 500 unique positions.  But really it's even less than that as we typically use only 1000uS of range. So 250 unique positions.  It's even worse with standard servos with about 8uS of deadband, which would leave you with only 125 steps.  That's less than 70 per side!

I'm not sure about all this.  I could be wrong.  Or you drank the high resolution cool-aid. ;)  If I'm wrong feel free to set me straight.

No, I haven't, mainly because I don't have a good selection.  I have 4 3S 2200 batteries (kinda small) and I have 8 4S 5000 batteries that give me about 20 minutes of flight time which is nice.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service