Arducopter 2.0.34 Preview

Hi All, 

I just posted a new experimental version of Arducopter with new PIDs and control laws for Yaw. It's download only for now and I wouldn't recommend trying it unless you can rigorously test it. Please be careful. I've flown this in Stable, Simple, Acro, Loiter, and Alt Hold with no known issues. But you never know! This version is not yet compatible with the mission planner.


What's new:

New PIDs - I rewrote the control laws from scratch to add a PI Rate function. The end result should fly nearly identically to the current version. The nice detail is that we can use NG PID values for easy transition!

Before: ->  After

Stabilize P –> Stabilize P (Use NG values, or 8.3 x the older AC2 value)

Stabilize I –> Stabilize I (Stays same value)

Stabilize D –> Rate P (Stays same value)

–> Rate I (new)


I added a new value – an I term for rate. The old stabilization routines did not use this term. Please refer to the config.h file to read more about the new PIDs.

I added the framework for using DCM corrected Accelerometer rates. Code is commented out for now.

Added set home at Arming.

Crosstrack is now a full PID loop, rather than just a P gain for more control.
Throttle now slews when switching out of Alt hold or Auto modes for less jarring transitions

Sonar and Baro PIDs are now combined into a throttle PID Yaw control is completely re-written.



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

Join diydrones

Email me when people reply –


  • I'm back from some 2.0.34 testing including ALT_HOLD, LOITER and RTL.... perfect weather conditions with no wind.

    Stabilize peformance is great... really smooth with default PIDs. I had to increase yaw dead_zone because yesterday I see my turnigy radio producing values of 5-10 even with the yaw stick quiet.... I'm now at 800 and it looks ok.

    First attempt with alt_hold produced a fast fall that it was near to end in a crash.... by luck I was able to recover it...... really strange... the next 3 attempts worked flawessly... I will review the log.... I have not protected the baro with foam.... maybe some extra wind from motors disturbed the baro...

    Loiter performance is by far the best in all ACM2 versions I have tested....the quad was in a box of 1 or 2 meters... I only see some altitude oscillations... maybe because of the baro... I'm interested in reviewing the source code to see how the altitude is controlled in loiter... is only baro used or is it mixed with gps alt?

    RTL still scares me..... I think that the quad reached the home point and was still at full speed but I cannot assure it....I don't have much room in the test field, so I will try to test this functionality in a bigger space. I will try to understand the gps logs to learn more about this mode.

    Fantastic job Jason!

    Keep pushing!
  • The video is the 3rd 1min vid (one after the other) all in stable mode. I did disarm (throttle lower left) after each but just to be safe as I was inspecting any lose cables or whatever. I dont know if that is calibration, as i remember you have to do like disarm 15sec then arm 20sec or something then you have to keep stable for 45sec that the only inflight calibration i remembered but i didnt do that.


    - Install 2.0.34 via Ardiuno ide

    - use APM first time setup

    - go back to CLI change the Magnetic declination as it shows negative instead of positive value (taken from here)

    - calibrate ESC

    - fly



    that place is where I lost my gaui 330x-s (first one i got lost it 3rd day after i bought it) as one motor seem to fail looked for 2days cant find it must be up in the trees. Only thing I found was a green snake lol.

  • Glad I made the change on the CLI for declination. Here is a short vid of the 2.0.34 default PID nothing changed. Attempting to hover. Some roll/pitch PID tuning might still be needed but the yaw is pretty good then again I havent flew it aggressively (I cant). apologies for the plastic bag handle.

    For a new guy like me it feels good and needs lesser input control on my part. Been flying only for more than a week. Just making an excuse for my unstable hovering. flying skills still need to improve but Jason's 2.0.34 is pretty good compared to .32 and slightly better than .33 IMHO

  • Jason, how come when you use the APM first time setup to configure declination it doesnt seems to take the +/- . I set mine as a positive but after checking in CLI its a negative declination? I changed it manual on the CLI but should the be the case or calibration/setup should all be done on CLI mode and not APM at the moment?

  • Jason,

    About this:



    How to make code editing in ''Camera'' tab Arduino without uploading everything again? i will need to do ''first setup'' in APM again? because uploading again 2.0.34 with camera changes in Arduino022 it will reset settings in apm such X direction, gps on and other settings...?...what is the way of editing source without ''First time setup' in APM?..hope u understand... THanks ... Sorry so much questions.. but i start to understand many things now, and maybe soon will start donate lol :))

  • wow.. ver 34 now can upload from AMP, right?

    some one have try on tricopter?

    i have 3 copter :
    50cm each arm
    motor 850KV/2830
    prop 10x4.5
    can  use default  PID? or maybe some one have better PID to share

    OK here's the video of 2.0.34 want to take Of but yax is already crazy - i know it will be yaw'ing even 50cm or more from ground its not turbulance...

    What i dit is ...

    1.Opened 2.034 firmware in arduino for compiling and uploading

    2.Changed to: #define FRAME_CONFIG HEXA_FRAME

    3.Uploaded APM planner and pushed 'first time setup''

    5. Calibrated everythings that comes in popup after  'first time setup''pushed

    Do u think i need recalibrare ESC ? i did it already several times in other firmwares...

    prop direction correct, motor turn direction correct, esc wires in right ardu pins...


  • Thanks u4eake! Do u know anything about camera stab settings gain, reverse compensation etc?...


    Also my question:


    Do i need to go in this process everytime new firmware is out? I mean STEP 3 AND STEP 4 (and 4 and 5 step for Arduino upload) is neccesary always doing new firmware update?

    1. Updating firmware in APM planner.

    2. Pushing the 'First time setup'' button

    3. Calibrating everythings that comes in popup after  'first time setup''pushed

    4. Configuring 'Modes'' in CLI and making STAB, ALT_HOLD switches




    Uploading firmware in Arduion022 if doesnt available in APM

    1.Opening new firmware in arduino for compiling and uploading

    2.Chaning in arduino022 arducopter tab config to Hexa setup


    4.Going to APM planner and pushing 'first time setup''

    5. Calibrating everythings that comes in popup after  'first time setup''pushed

    6. setup 'Modes'' in CLI for STAB, ALT_HOLD switches


    im doing this ROUTINE everytime new firmware comes out... Am i doing a long routine?

  • When uploading tru Arduino 2.0.34 , how to define that i will used hexa, because now ouputs 7,8 are off by default?



    Do i need make it like this?:




    Also my camera stabilization ROLL is reversed by default how i can fix it in ''camera' tab on arduino? and is there any more option how to make faster roll or pitch on camera stab or sensivitiy, gain ?.... Thank you

  • Jason, I'm back from a quick 2.0.34 testing. Everythink works ok.... I see an improvement in stability from 2.0.33.... only tested stabilize and no wind.... this evening I will give it a try to loiter and alt_hold and report here.

    Do you have implemented in this version, the slow down when reaching a waypoint (or home)?
    Because last time a test RTL I was scared seeing the copter reach the home a full speed and continuing 5 or 10 meters more... I don't have much space in my test field so I had to return to stabilize..

    Keep pushing!
This reply was deleted.


Gremsy liked Gremsy's profile
Mar 12
DIY Robocars via Twitter
RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…
Nov 27, 2022
DIY Robocars via Twitter
RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…
Nov 24, 2022
DIY Robocars via Twitter
RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩 #jetracer
Nov 24, 2022
DIY Robocars via Twitter
UC Berkeley's DIY robocar program
Nov 24, 2022
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10. Thrills, spills and a Brazilian BBQ. Fun…
Nov 24, 2022
DIY Robocars via Twitter
RT @arthiak_tc: Donkey car platform ... Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup
Nov 20, 2022
DIY Robocars via Twitter
RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video.…
Nov 20, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs
Nov 8, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video.
Nov 8, 2022
DIY Robocars via Twitter
RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…
Oct 23, 2022
DIY Robocars via Twitter
RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…
Oct 23, 2022
DIY Robocars via Twitter
Oct 23, 2022
DIY Robocars via Twitter
Oct 19, 2022
DIY Robocars via Twitter
Oct 18, 2022
DIY Robocars via Twitter
RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…
Oct 13, 2022