Arducopter 2.0.24a !ALPHA!

This is my internal not so well tested version of 2.0.24a.

I had hoped to fly it more this weekend, but a bad ESC stopped me Saturday and Sunday I didn't get to try alt hold, which is totally new.


If you are brave and a good pilot, try it. I have implemented some DCM changes to resist drift and correct gyro saturation events faster. I am working with Doug in the next few days to improve this even more. (And don't fly this release without the filter pads soldered up.)


If you choose to fly this, alt hold is the thing to look out for. I have a new mixing algorithm and have increased the baro performance. Expect less noise and less random drift. Please use some felt over the sensor. I don't want to get bad info back from test flights.


I wouldn't try auto or RTL with this code until the basics are proven to work properly.


What's new:



Incremented firmware version to 100

Added motors logging - logs PWM output

Added 6 position moving average filter to barometer

Reduced and filtered temperature readings from baro - the cause of random walk errors

Significantly increased THROTTLE_BARO_D to leverage less noisy barometer.

Removed error limit on alt hold

Combined sonar and baro reading with a mixing algorithm

Combined sonar and baro PIDs into one.

Added auto-level mode - enter by holding motor arm position for 20 seconds. fly as stable as possible at 3-4 feet for 45 seconds.

Added in-field level command - hold disarm for 10 seconds

Increased dead zone on Yaw to prevent backwards turning on crooked airframes

Increased yaw output limit

Added startup message in log

Removed ground_temperature, ground_pressure from EEPROM - not needed

Increased kp_rollpitch in the DCM to .1 (about 2x) for faster recovery

Added dynamic drift control - neutral sticks and lower throttle will trigger higher (1.5) DCM gain. untested.



Fly at your own risk!, a release version will come out next week. I just don't want to hold on to this code too long without feedback.

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

Join diydrones

Email me when people reply –


  • Hi Jason,


    could you check in the latest 2.0.24 into SVN please ?


    best regards,


  • You are making me so jaelous :P I'm still waiting for a new motor since I dampened 1 shaft in my last attempt to get the PID's right (quick flip happened), also I'm waiting for 4 brand new motors and ESCs just in case. I will try 12x45 props instead of 10x45... hope I get this next week so I can try this new code also :) wish you all good flights . P.S : I believe that brokening one motor was good since I'm in mid term exams and wouldn't study other way eheheheh

  • Did a quick test with the latest 24 zip.

    Yaw was in option 1  and was very slow. Still have to test other modes.

    I thought I was in Loiter when I engaged the switch. Did a quick check after and found out I programmed Alt hold. Allmost no drift. Also in stable.

    In alt hold, it holds a little bit aggressive with ups and down but between let say half a metre. And it doesn't keep gaining altitude when I forexample put my hand under the sonar. I comes down nice.

    So not bad at all.


    I didn't solder the bridges. (yet)


    I've tried arming for 20 sec ( in flight leveling) but nothing happens.


  • I've just tested latest code. I didn't experience any strange behaviour. BTW I never had strange drifts, but I did had Yaw problems.
    So today I soldered pads and went out testing first old code to be sure my frame was ok.
    I have to say in my last attempt to get a stable yaw, I soldered the mag on one board and inverted on the other, before I had components up and pins forward. Now I am in standard, and actually had no issues on both IMUs (same mega borad).
    So I loaded .24 and did some agrressive flight (only stabilize). No problems.
    I tested the three Yaw options:
    YAW 0: nice and responsive, but a little imprecise on small rudder (tends to stay in one direction even if I give some oinput) it overshoots a little on defaults
    YAW 1: Stable, too stable. Impossible to fly with it. To make a 360 I can count almost to 8 at full left or right. It overshoots at standard PIDs lowering PIds helped a bit but was really unflyable
    YAW 2: Too aggressive! It overshoots a lot but it takes less than 2 secs. to do a 360. Very difficoult to control because very little input gives too power.
    ALT_HOLD I've only tested a little, it looks much better now, it holds very nicely, goes up and down without overshooting. Baro readings probably are still a little jittery maybe a bigger average filter could help a bit (I used 11 or 15 readings in my moving average filter implemented for the ardupiratesNG code.)
    I didn't test the dynamic drift control... I finshed my batteries.
    Last thing. Soldering the pads: actually it seems I can use slightly higher P and lower D values, thus having a more responsive copter.
    Good job Jason & co.!!

    Hope this help.
  • i flew 2.0.24 tonight and alt_hold works for me now.  I tried at 1m and 2m heights and it worked like ardupiratesng. Quad was hovering nice!   I will give it a good test in the morning at a park.  I have gyro pads soldered and fly with default pids on both of my quads.  My sonar is XL-EZ0.  I also have an LV-EZ0 that I will try in the morning.  Quad drifts a little but It is always breezy here.  Yaw works but is very slow.  I compiled with default options except for mag.
  • Developer
    updated the DCM gains, and fixed the alt hold log to give the integrator value for baro.
  • Jason,


    Just compiled, loaded the code, erased the eeprom, setup radio, sonar (XL-EZ0), compass, leveled, and set modes to stabilize, simple, Alt hold, and loiter. I also have a small block of foam over the pressure sensor. Sonar output in test mode looked good as well as the compass. I checked the motor outputs without the ESC's plugged in and everything looked good in "+" configuration. I did 1 test flight before it started raining here. Stability/yaw was good in stabilize and I did some flying around in the back yard. The wind was gusting a little, but I did try ALT-Hold. My first try, the quad rose 10 or 15 feet before I switched back to stabilize. The second try after resetting was a little better.  It held for about 15 seconds and then rose again slowly.  I tried several more times and the remaining times, the quad held briefly at around 5 feet and then slowly dropped to the ground and touched down softly and then flew up again to 4 or 5 feet. 


    I did try to disarm and rearm for 10 seconds in the middle of the flight to test the level - but I didn't see a pattern in the lights so I just resumed test flying the Alt-hold.


    On 2.23 I tried Alt-hold with the sonar and it always dropped to the ground slowly.  When I disabled the sonar, it held pretty well +/- 3 or 4 feet. 


    Anyway, I've attached the log and will try some more flights tomorrow if the wind/rain cooperates.





    13-06-11 07-59 1.log

  • Developer

    I downloaded and compiled it. Worked OK. Can you retry and restart Arduino after updating the library path?


  • good job jason and thank you
  • still doesn't work for me :(

    sorry for that, but it's still the same error...

This reply was deleted.


DIY Robocars via Twitter
RT @TinkerGen_: "The Tinkergen MARK ($199) is my new favorite starter robocar. It’s got everything — computer vision, deep learning, sensor…
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @roboton_io: Join our FREE Sumo Competition 🤖🏆 👉 #sumo #robot #edtech #competition #games4ed…
Nov 16
DIY Drones via Twitter
First impressions of Tinkergen MARK robocar
Nov 16
DIY Robocars via Twitter
Our review of the @TinkerGen_ MARK robocar, which is the best on the market right now
Nov 15
DIY Robocars via Twitter
RT @Ingmar_Stapel: I have now explained the OpenBot project in great detail on my blog with 12 articles step by step. I hope you enjoy read…
Nov 15
DIY Robocars via Twitter
RT @DAVGtech: This is a must attend. Click the link, follow link to read the story, sign up. #chaos2020 #digitalconnection #digitalworld ht…
Nov 15
DIY Robocars via Twitter
RT @a1k0n: Got a new chassis for outdoor races (hobbyking Quantum Vandal) but I totally didn't expect that it might cause problems for my g…
Nov 11
DIY Drones via Twitter
First impressions of the Intel OpenBot
Nov 10
DIY Robocars via Twitter
Nov 9
DIY Robocars via Twitter
Excellent use of cardboard instead of 3D printing!
Nov 7
DIY Robocars via Twitter
RT @chr1sa: We've got a record 50 teams competing in this month's @DIYRobocars @donkey_car virtual AI car race. Starting today at 10:00am…
Nov 7
DIY Robocars via Twitter
Nov 6
DIY Robocars via Twitter
RT @a1k0n: Car's view, using a fisheye camera. The ceiling light tracking algorithm gave me some ideas to improve ConeSLAM, and having grou…
Nov 5
DIY Robocars via Twitter
RT @a1k0n: To get ground truth I measured the rug, found the pixel coordinates of its corners, calibrated my phone camera with my standard…
Nov 5
DIY Robocars via Twitter
RT @a1k0n: @DIYRobocars is back in December, but outside. Time to reinvestigate ConeSLAM! I rigged up a quick and dirty ground-truth captur…
Nov 5