Arducopter 2.0.50

Arducopter 50 is our first fully Software in the Loop tested version. Special thanks to Tridge for developing the test suite!


Here is a quick video of the testing in action:



You can see the copter takes off, flies a simple square in manual and records the square with CH7 toggles at each corner. It then loiters and switches to AUTO to fly the recored WPs.

Once that's done it lands and loads a mission via mavlink. The mission is intended to test all commands including conditional commands and the jump command. The last two commands are RTL and land.


What else else is new:

More aggressive Alt hold control - You can now achieve rapid ascents & descents in alt hold. The throttle acts like a large dead zone with the upper and lower 20% being a proportional control. Adjusting the throttle resets the new target altitude.


Added the ability to log arbitrary data for better debugging.


Recording WP in normal flight with Channel 7. This is a great way to get WPs recorded in the field. Just toggle ch7 High for 1 sec and it will save the WP to memory building a WP list on the fly. Switching to AUTO mode will fly the WPs. Rebooting will allow you to start over on a new mission.


Added separate Acro PIs for people to tune Acro mode.


Z dampening - Alt hold now has an optional Z accelerometer dampening system. You need to compile it yourself to test. I'm eager to hear user's feedback on this so we can make it on by default. You can enable it in APM_Config.h by changing the '0' to a '1' like this "#define ACCEL_ALT_HOLD 1"


Y6 now has top and bottom missing ratio enabled. It's 1.0 for the top by default, but many users set it to 0.9.

Crosstrack correction is now enabled for WP navigation. Thanks to the SIL, we could test this properly. This makes the copter hold a very tight line to the next WP. The default gain is 4.0.


RTL now defaults to return at the current altitude.


Improved Circle mode performance.


Changed the Mission scripting execution order to be more intuitive. Conditional commands now execute after navigation commands are complete, not just loaded.

Various mission scripting bug fixes.


Removed some tests in the CLI for memory savings to fit the 1280.


Added precautionary safety preventing the user from entering flight modes that require GPS lock. If home has not been set you will get a stabilize mode instead of Loiter, or Auto, etc.


There were also many small bug fixes and code cleanups performed - too many to list.


If no one has any major issues, I'm going to call this the final stable release!


What's next in version 2.1 (target release early January):

- complete Mavlink 1.0 upgrade, ensure better Mission planner support.

- exploration of learning algorithms for auto-tuning.

- sensor/register level software simulation for testing more code.

- expanded test suite with more scripted scenarios

- secret cool stuff regarding the DCM

- ideas?


If you run into any issues, please post them to the issues list.







You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Weather here is 20C and dry. So I think there should not be some sonar issues. but when I switch to Alt-hold from stabilize the copter flies upward and after 5 meters I have to abort the alt-hold.

    Can someone guide me

  • i've just uploaded 2.0.50 to my arducopter (3dr frame, turnigy plush 18A, t-motors).

    did the whole thing and then ran a bench test without props in stabilize flight mode.

    first off i gave it enough throttle to spool the motors - the motors continued to speed up (with the stick in the position i'd left it)so i cut the throttle, unplugged everything and started again.

    next go, i gave it a little more throttle, the ever increasing throttle stopped, but within seconds the motors began to pulse.

    don't think i'll attempt a flight just yet...

  • I too have the issue that for the first two minutes it will work nice alt-hold and then it start surging. 

  • Ok, so after a quick rebuild after a rather spectacular indoor crash with 2.0.51 I've switched to 2.0.50.  Everything looks pretty good again, so I was doing a bit of dusk flying in the backyard and attempted altitude hold again.  I'm still getting engine surging followed by a fairly rapid accent.  It'll repeatedly hold for about a second then surge and then start to climb for a second, until it gets higher then I'd like it and I switch back to stabilize.

    Looking at the logs, the barometer looks a little noisy but it seems to agree with the GPS.  Would someone mind looking at the log and letting me know if they see anything obviously wrong?  Er, ignore the event between lines 2000-3000... I flew it into a bush.  :P

    2011-11-25 05-06

  • Jason, did you see my log? I'm still not able to enter Loiter mode or other modes when flying as I described in an earlier post. Is this possibly a bug. I've NEVER had this problem before. Only after upgrading to .50

  • Hi Jason :
       About the "RTL now defaults to return at the current altitude."
    Can I set up the RTL return  altitude to (current altitude + safe  height) by APM ?

     There is a situation when I fly FPV over a mountain or a building , if I descend the altitude for more detailed view  , then suddenly all radio signals are lost ,instinctively, I will switch to RTL mode , also RC receiver  failsafe will set to RTL , the copter will fly back to home at altitude lower than height of mountain or buildering , it will crash to mountain or building, if this cause people in the building injured , it will be a disater.
      I ever saw this case for other UAV system with this simple RTL function,  copter lost rf signal , start on RTL function ,  but crashed to mountain and never found, it was lucky, no people injured report.

  • So the only way for me to switch the channel 5 input and channel 6 input would be to reflash the PPM chip? I can get values on my channel 6 but for some reason my channel 5 is locked, all i get is a 1500 pulse no matter if my rc is connected or not. All i want to do is change the mode switch channel from 5 to 6.

  • Today was my first great experience with Loiter.  Before I would always end up in bigger and bigger circles.  Now in a small breeze it held very well and was enjoyable to watch.

    Besides turning down alt hold throtle to .3, two things helped:  1) moving to 2.0.50 from .49   2)  I calibrated my mag with a reliable compass.  Though the magnetic dec for our area is -5.7, with the compass calibration I had to entered -8.  My last try  for example, the wind pushed the quad down field but it slowing came back to dead center, no circling.

    I would be interested in knowing which loiter or WP term would help it be a little more quick in returning.

    I also have not learned why many of the I terms are now 0.

  • @john: no its not entering loiter. Seems to stay in stable mode Only when I land and hold it will it change to loiter. It works as it should as long as its not flying. Jason, I will do another flight today and send the log.
  • I am enjoying .50 and have a very good alt hold, many thanks.

    I noticed that in both Rate and Stabilize the I term is now 0, I have not heard much said, did I miss something?  Should we adjust this or not?

    Also my yaw issue with my Y6 is all gone, I wonder if the 1:1 ratio did this.


    Again thanks for a quickly advancing project

This reply was deleted.


DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @diyrobocars @circuitlaunch And here's the final showdown! Video courtesy of @chr1sa I think I was a little faste…
7 hours ago
DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @armand_dpl @SmallpixelCar @diyrobocars @circuitlaunch I use @foxglovedev Foxglove Studio for my visualization nee…
7 hours ago
DIY Robocars via Twitter
7 hours ago
DIY Robocars via Twitter
RT @a1k0n: @DanielChiaJH @diyrobocars @circuitlaunch Here's my car's view of that race. About 8.4 second lap times for laps 2 and 3... both…
DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at Races begin around 2:00pm PT
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11