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 –


    • Developer

      Hi VP,

      Not sure what you mean about the bitmask, I recommend using 157693.

      You are correct about the axis numbers.

      • I mean where I can find correct values for it? Like that 157693. It's not documented anywhere. What does it log? I have used 43006 as mp says that's "nearly all".

  • Hi all,

    Sorry for re-posting several times on this forum as I was unable to catch attention from people ^^!..

    Would anyone mind to have a look into my log? It was a flight with 3.3-rc8. During battery failsafe LAND, my copter didn't land straight down but leaned forward instead. 

    In this flight I was hovering my copter few meters above ground, trying to deplete the battery completely to test its flight time.

    When battery fail-safe kicked in, the copter gradually pitched forward by itself. This forward-pitching was not commanded by me. I tried to pull it back but it didn't respond. It finally landed into a rainwater drainage few meters in front of me. 

    My FS_BATT_ENABLE was set to 1 so I expect it to land vertically down. 

    Following I plot my pitch input (RC channel 2) vs. DesPitch. When battery failsafe kicked-in, the desPitch drifted away by its own and didn't follow my pitch input.


    Does anyone have idea why this could happen? I was flying in alt-hold mode immediately before BATT_FS kick-in.  

    And does "BATT_FS LAND" accept pilot input during landing?

    I have attached log in the following link. Very much appreciated if you could have a look at it.

    Thanks a lot for your help,


    • Developer


      Sorry, I actually downloaded your log when you first posted but didn't complete the analysis.

      I think the lean is caused by the poor GPS location.  The NSat is really very low at only 5 or 6.  I think the GPS position was drifting around but it wasn't bad enough to trigger the glitch protection.


      The EKF also reports a spike in velocity and position variances around that time.  I'm not very familiar with the units of these variances so I've asked Paul Riseborough (EKF expert) and we shall see what he says.


      I don't think it's caused by the low battery itself because the desired and actual roll/pitch values stick together.

      • Thanks Randy for looking into my issue~ ^^

        My landing/take-off point has poor GPS reception. This location is surround by tall buildings and a hill of 100~200 meters height. So I switch to alt-hold mode when I attempt to take-off and landing, expecting to be unaffected when my copter is flying through this "bad GPS air-space".

        Does autopilot or EKF continue to use GPS information in alt-hold mode or land mode, maybe for correcting X-Y coordinate? 

        Thanks a lot for your help again~~ 

        • Developer


          Yes, when the failsafe triggers it will try to use the GPS unless it's had an EKF/GPS failsafe.  So the GPS position must be quite bad for it not to use it.  In your case this is not great because the battery failsafe triggered a GPS controlled land while the GPS quality was not great because (I guess) it was descending in the shadows between buildings.  It's a bit tricky to handle this case.. I think we would need to tighten up on the GPS requirements but that could cause problems in other areas like when we set the home location or do the pre-arm checks.  I'll discuss with the dev team but I don't immediately have a solution.

          • Hi Randy, do you have any decision on how to resolve this issue?
          • Thanks Randy for your explanation.

            So is it possible that when failsafe-land kicked in, I was actually fighting with the EKF/GPS? Maybe EKF/GPS was pushing the copter forward and my RC2 was pulling the copter back?

            If this is true, I think the situation maybe avoided as follow.

            - in failsafe-land mode if there exists pilot input on RC1/2/4, stop listening to EKF/GPS and listen entirely to the pilot input

            - in failsafe-land mode if there is no pilot input, listen to the EKF/GPS

            That is giving pilot command the highest priority if EKF/GPS and pilot are both "talking" to the autopilot at the same time. With this my copter would have entirely listen to my RC2 pitch-back and wouldn't lean to the front by itself.

          • RC10 has something changed again in the GPS department I guess as I flew it today and it was very erratic compared to rc9. RC9 was almost ideal, this RC10 flight today was nothing like it.

            with rc9 I did not have anymore HDOP 0 or 99.99 issues - with RC10 I had 99.99 stuck HDOP on first GPS unit for 3 power-ups consequently, plus during flight drone was wondering from location to location way more aggressively than with rc9. may be it was a solar storm today, who knows, but I kinda doubt it as with rc9 on same field I always had RTL to return within 50cm from the take off point, and today RTL did a wild hunt for landing spot with a 20m arch going left and right at aggressive angle, so I had to drop drone down to the grass which I did not have to do once since  rc5.

            so it was a bit unexpected. Did you by any chance reverted GPS code from RC9 into old from RC8 as Rc8 used to behave like that.  

            here is log file. Both GPS units were from 20 to 19 sats with good link from what I can see, overall vehicle attitude was horrible compared to hw RC9 behaved, it was constantly jerking from one position to another, so, I bet something was altered.

            If there is a plan how to make it work better I think it has to be a priority now, as it was close to unusable today and for no obvious reason.

            here is a link to log file.


            Dropbox - Error
            Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share them easily. Never email yourself a file again!
            • K Index indicates all is quiet


This reply was deleted.


DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
19 hours ago
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training
Nov 28
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