Copter-3.3 beta testing

Warning #1: an issue has been found with Tower's Pause button which can cause the vehicle to fly to an old position if the vehicle has not sent a position update to Tower in some time.

Warning #2: Copter-3.3.2 fixes a bug found in Copter-3.3.1's desired climb rate initialisation which could lead to a sudden momentary drop when switching from Stabilize or Acro to AltHold, Loiter or PosHold.

Warning #3: Copter-3.3.2 fixes an issue found in Copter-3.3.1 which could lead to hard landings in RTL or AUTO if the WPNAV_SPEED_DN was set too high (i.e. >400 or 4m/s) and/or the WPNAV_ACCEL_Z was set too low (i.e. <100 or 1m/s/s).

Warning #4: a bug was found in Copter-3.3 which could cause a sudden crash if you abort a Take-off initiated from a ground station.  Video description is here.  The bug is fixed in Copter-3.3.1 so we recommend upgrading.

Note #1: AC3.3-rc8 corrected a long standing bug in the HDOP reporting.  HDOP values will appear about 40% lower than previously but this does not actually mean the GPS position is better than before.
Note #2: if upgrading from AC3.2.1 the vehicle's accelerometer calibration needs to be done again.
Note #3: set SERIAL2_PROTOCOL to "3" and reboot the board to enable FrSky telemetry like in previous versions.
Note #4: the wiki will be updated over the next few weeks to explain how to use the new features

Copter-3.3.1 is available through the mission planner.  The full list of changes vs AC3.2.1 can be see in the ReleaseNotes and below are the most recent changes since AC3.3.

Sadly this version (and all future versions) will not run on the APM2.x boards due to CPU speed, flash and RAM restrictions.

Changes from 3.3:

1) Bug fix to prevent potential crash if Follow-Me is used after an aborted takeoff

2) compiler upgraded to 4.9.3 (runs slightly faster than 4.7.2 which was used previously)

Changes from 3.3-rc11:

1) EKF recovers from pre-arm "Compass variance" failure if compasses are consistent

Changes from 3.3-rc10:

1) PreArm "Need 3D Fix" message replaced with detailed reason from EKF

Changes from 3.3-rc9
1) EKF improvements:
    a) simpler optical flow takeoff check
2) Bug Fixes/Minor enhancements:
    a) fix INS3_USE parameter eeprom location
    b) fix SToRM32 serial protocol driver to work with recent versions
    c) increase motor pwm->thrust conversion (aka MOT_THST_EXPO) to 0.65 (was 0.50)
    d) Firmware version sent to GCS in AUTOPILOT_VERSION message
3) Safety:
    a) pre-arm check of compass variance if arming in Loiter, PosHold, Guided
    b) always check GPS before arming in Loiter (previously could be disabled if ARMING_CHECK=0)
    c) sanity check locations received from GCS for follow-me, do-set-home, do-set-ROI
    d) fix optical flow failsafe (was not always triggering LAND when optical flow failed)
    e) failsafe RTL vs LAND decision based on hardcoded 5m from home check (previously used WPNAV_RADIUS parameter)

Thanks for your testing!

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

Join diydrones

Email me when people reply –


  • Hi! This is a question specially for Leonard and I think and the answer might be a good addition to the Wiki.

    Let say I have a copter that I know the PID should start at 10 for stabilize Pitch and Roll and 0.25 for Rate Pitch and Roll. I remember that those values are near the previous ones that I had on the same copter but I had to clear the eeprom and I forgot to back up :-(.

    Does it help and speed up the process if I start with that?

    Maybe this can be extended to a second autotune if the values that are setted in a previus one are not too accurate?

    Thanks so much for the help

    • Developer

      Hi Bernardo,

      Yes you can manually add those values and Autotune will start there. It will also speed the process up considerably. That is why a second Autotune will run significantly quicker than the first.

      The main reason I run a second autotune after I successfully finish my first is because poor tune on one axis can mess with the results of the other axis a little. The second Autotune runs relatively quickly (I always wait for good conditions for the second tune) and gives me confidence I have close to the optimal result.

      • This is great info! I did not thought about the second autotune right after the first one but is a logical thing.

        I know the default PIDs are really conservative (or maybe they are thought for small overpowered copters) but I have a large octa and even though it flies at 30% throttle, I have to almost double the original ones.

        Please consider adding this info in the wiki. Many people like me sometimes makes a clean install on a copter and we almost know what values are optimal and we need autotune to polish the numbers.

        Thanks for your great work

      • Leonard, you refer to wait for good conditions for the second tune; on your first tune what conditions you choose? . my cuestion is because I wait for calm day to tune, but I need to fly with wind; It's better if I autotune with the same conditions that I want to fly? It's possible to do autotune with windy conditions? Thank's

        • Developer

          Hi Cala,

          No, it is defiantly NOT better if you autotune in the same conditions you want to fly. I understand your reasoning but Autotune will give you the best results for both windy and calm conditions when tuned in calm conditions.

          On my first tune I will still look for the best conditions I can but I will sometimes compromise to get a reasonable starting point. Generally I can find some good conditions, at least once a week, early in the morning or in the evening where I live.

          • Thank's Leonard, I'm going to try the double autotune, nice tip.

  • I must say my initial tests with 3.3-rc10 running totally stock everything on my beater quad with a Hawk Lite is one of the better firmware revisions I have run in a really long time. Rock solid. Alt-Hold is working well, Loiter is back to being like it is hanging from a string and RTL worked flawlessly each time I used it. Awesome work!

  • Use X and it should be front left motor goes clockwise then front right goes counter clockwise then rear right goes clockwise and rear left goes counter clockwise and are ordered as it shows Starting front left  and going clockwise around the frame 3-1-4-2 

  • Thanks Trent for looking into my log. That's my problem RC2 at max but no RCout response.

    Around the moment after flight-mode = LAND (the green box in the plot below) :

    - ThrOut = 65%

    - RCOUT does not clip at max

    - pitch follows nicely the desPitch. and desPitch is negative (pitch forward)

    - RC2 is above mid-point (pitch backward). desPitch does not follow RC2


    I guess it is not due to vibration as the clip0 and clip1 are still 0 after 30mins of flight time.


    Can't sure what had happened to me.

  • Which log bitmask values should I follow, the ones on arducopter page or those in the MP? Or something else?

    I need to use autotune_axes, I'd like to tune roll and yaw, what should I enter? 5?

    Are these the values: 1 roll, 2 pitch, 3 both, 4 yaw, 5 roll & yaw, 6 pitch & yaw, 7 all?

This reply was deleted.


DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord:
Nov 23
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: Another incident:
Oct 23