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 –


  • I just loaded up the soldered the filter pads, and loaded the new code through the planner. Did the usual setup. 

    When i hold arm for more than 10 seconds is there some LED indication to let me know that its in auto-trim mode?


  • Jason!

    Please, include following safety issue in next releases:

    Motors can ONLY be armed if multirotor is in Stabile mode.  Ones I forgot to check it – it was in altitude mode, but today (worst case) – in RTL. Quad just flipped over! And I could not cut motors by disarming.

  • Cool stuff guys,


    Thanks Randy. I am going to whip my APM off the uav and slap it on the old 450 for a tester. will let you know how it goes.


    thanks for the hard work



  • Hello,

    Ive uploaded new firmware - 2 things, during setup how do I have my quad facing? I ask because I can't seem to have heading dead center on 0 (arrow up) and so im confused as how the quad knows which is front to back?? And 1 more thing, disarm (left yaw) will not work, green LED just stays solid, arms perfectly (yaw right).
  • Oh, it was going too well, I suppose.

    Tried the latest code at an indoor event tonight, both the sonar and baro holds worked very well, sonar about to 1.5m AGL, rock steady, baro above that I assume, also very steady. Quad trimmed so nice, it almost held position for minutes at a time.

    And then in slow forward flight, it lost its marbles and flipped over as quick as a flash, breaking the top two rings, two arms, various screws, one prop.

    Not sure what I'm looking at in the log file.

    I'm using a DX 8 with telemetry, and about all I can say is that it wasn't the battery.

    All four motors and speed controllers functions normally, all sensor still operational with the brain out and on the workbench.

    I so hate it when the reason for a crash is unclear.......

  • Wonderful code.  I am having a great time with it.  I have worked hard on vibration reduction and have not had any stability issues.  By soldering the pads I could raise the P from .28 to .32, so this was good suggestion.  I pushed the machine hard in simple mode with a cam and everything stays in control through several batteries.


    Yesterday I upgrade the code and under Altitude test for the Baro, it remains at 0cm.  Sonar tests OK.  Could the Baro get turned off somewhere and I can not see it?

  • LOITER issue with 2.0.24b


    I'm not sure if this this is an issue with the code from the trunk or also it's with the code on the downloads tab...or if it's an issue at all... but I tried the loiter function on 2 separate APMs and it seems like the APM does not respond to throttle. Both quads I tested consistently kept on rising and not holding position(and due to slow reaction on my part I actually lost one of them in the desert :( )  Lowering throttle did not even change the speed of the motors. Is this a code issue? 

  • Behavior of leds.

    Cannot understand if there change in led behavior since 2.023 release, particular in RED lead. Previously red when led was blinking – ACM was searching for satellites to lock, when it is solid (some seconds after blue led on GPS receiver become solid) – ACM is receiving GPS data.

    Now, my read led is not in operation any more. It is just off all the time. Is it ok?

  • Download site showing 2.0.25 while the APM planner upload firmware is still showing 2.0.24?

    Are they in sync?


  • Jason and AC team great job on this code flys very nice i think you hit the sweet sopt really having fun flying this new code Tom
This reply was deleted.


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
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10