Arducopter 2.0.24b

Hopefully the long road of beta is almost over.

I've done my best to address DCM drift issues. Again, this is not the ability for the quad to hold a perfectly level spot, it's the 20-30° error introduced by vibration and rapid maneuvers. 

We've upped the gain on the DCM to recover faster. There is still room to tune these gains even more aggressively. I'll be looking for input from everyone on this. To edit the gains, go into system.pde.

To optimize the hardware, please be sure to add a windscreen to your barometric sensor and solder the filter pads on your IMU shield. A piece of felt works best. No closed cell foam.

To get the best yaw performance, calibrate your ESCs, and adjust any tilted motors. The copter should NOT yaw when lifting off. If it does it's you, not me! If you want higher performance Yaw, switch from the default to rate based yaw in APM_config.h.

I added two in-field calibrations to the arming and disarming gestures. Hold disarm for ~ 10 seconds to level the copter. Hold arm for ~ 20 seconds to fly in auto-trim mode for about 45 seconds. It will exit auto-trim automatically and fly normally. Don't worry about counting out the time, just wait for the flashing lights to enter either mode.

Alt hold has been re-written and uses a single PID for both Baro and Sonar. Baro has been more heavily filtered so the D term could be brought up. It's essential for smoother alt changes. It also helps that the internal PID integrator is the same value for both now. From 3 to 6 meters, the Baro altitude is mixed with sonar for a smoother transition. The alt hold PID could use more fine tuning, let me know your experience.

This version also now includes Randy's Heli code. 






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

Join diydrones

Email me when people reply –


  • Heartfelt thanks Jason, for your sharing your expertise.

    Bit of a storm here in Cape Town, so can only fly in my living room (small).

    Loaded the new code, soldered the pads, soft foam over the baro.

    Sonar appears to work well, 500mm hold over carpet.

    I get gps lock inside, but doubt that 2m x 3m is big enough to test loiter !

  • Flew 2.0.24b today and things went very well. Fairly windy, but stabilize flies well - yaw holds well, and response is good. Flew alt-hold and it is very nice flying well 5 - 10  feet and holds nicely at 18 feet with wind gusts. Alt-hold pids on baro look good on my quad. I tried loiter and it is basically holding with overhoots - I need PID tuning in loiter.  Flight time 8 minutes and it flies very well.


    Thanks Jason and the team.



  • Distributor

    Wow I did fly the 2.0.24Beta today!

    what a nice piece of code!

    I have an issue with one motor that turns too slow compared to other ones but I will just redo ESC to recalibrate tonight and try again (never had that issue before)

    but even with that motor that I needed to compensate for it was (once compensated) super stable.

    Thanks Jason, I did not push hard due to the motor/esc issue but tonight or tomorrow I will repeat the experience.


  • Upgraded to 2.0.24 through the Mission Planner today and now my baro is crazy.  No change in the hardware since yesterday's flights - my baro is covered with a small piece of foam from a pair of headphones, no sonar but I have magnetometer and GPS - and in 2.0.23 when I ran the altitude test in CLI over USB, with the copter stationary on my floor, it would fluctuate over about a 20cm range or so - I can't remember the exact value.  In 2.0.24 it fluctuates more than +/- 200cm.  Not surprisingly, flying in alt hold or loiter mode, it freaks out, takes off vertically or plunges down, but it hovers quite well in Stabilize.

    I tried running with sonar again to test this.  Putting the sonar back on, alt hold is very good down low, and once it gets to an altitude of 6' or so it takes off vertically. I don't have telemetry yet so I can't really watch what it's saying in flight.


    Any thoughts?

  • is it posible to download this version without snv because I don´t wont to isntall it, or is it posible to get a online tool which do this, or a exe without instalation
  • Correct me if I'm wrong.

    The 10 second disarm is for leveling the quad on the ground like CLI "level" command.

    The 20 sec arm is for leveling (fine tune) the quad in the air.

    Thus 20 sec arm, leds will flash, lift off and fly as level as possible until leds go out.

    Trim of tx should stay in the middle?


  • What is #define BROKEN_SLIDER 0
    this for?
  • Jason, thanks for this! Working nicely. Alt, Position Hold as well as Yaw work nicely for me. Also the Field Level Feature is great. While the 20/40 second auto trim feature is great, having the old way available (CH6 > 2Secs) was nice as it could be done even in windy conditions as it was instantaneous. Trying to fly the quad stable in gusty winds for an extended period of time is not so straight forward.  Would it be possible to re-instate CH6 trim in the SVN in additon to the auto trim ?
  • 3D Robotics
    Great news. What's the best way for people to get this code?
This reply was deleted.


Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21