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 –


        • The GPS glitch behavior you describe is quite different than what i saw this week, which Randy graciously pointed out were caused bad parameter settings.  I'm still investigating how they got set to 0.

          I used to have frequent problems with GPS glitches.  I moved the GPS up and farther away from the rest of the electronics and haven't had a single glitch since (perhaps 40 flights).


          • Well, i am not as concerned of what a reason was... What matters is a reaction of a platform to a sudden data interruption from a gps and i am sure only reliable solution in this predicament is to have a redundancy.
            • Developer

              By the way, in AC3.4 we can get rid of much of the twitch as it switches GPSs.  We just need to reset the target position of the copter by the position difference of the two GPS.  In Loiter the pilot will hopefully not notice any twitch.  In Auto you might see a shift as it realizes it's off the desired line but it'll be much better than now.

  • My octo-quad (3.3rc8) has high Vibe-Z three times greater than Vibe-X or Vibe-Y. In looking for causes I removed all props and logged 'motors vertical.bin'. Then I unbolted the motors, turned them all horizontal so any play in shafts, etc, would now be in x or y axis, rebolted them and logged 'motors horizontal.bin'. The Vibe-Z axis is still three times greater than x and y.

    Log files -

    I must be missing something because I can't think why the highest vibrations are not now in the horizontal axes. Do most people have similar values for all 3 axes or could the Z axis be more sensitive?
    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!
    • Developer

      It's normal for the Z-axis (vertical) to have higher vibrations.  We think it's because the vibrations are largely caused by the propeller passing over the arms of the vehicle.

      I'm reasonably confident the reporting is correct.  There's not much too it really.

      • With copter suspended on its right side VibeY changes to become much higher than VibeZ. Could gravity be an erroneous component of high VibeZ calculation?

        In the log the first half shows high VibeY as it is on its side and then it corrects its attitude showing high VibeZ ending with a 'crash' error. No harm as it was just being suspended on its side.
        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!
        • Developer


          The vibration calculation code is here and it doesn't have any special code that should affect the vibration levels based on orientation as far as I can tell.  From the logs it appears the Z-axis vibrations are always the highest regardless of orientation although I can also see the X, Y are higher in the "on right side" log - that could be environmental though perhaps.

    • I get much higher reported on the Z-axis and have never had a problem. I'm not convinced the reporting is accurrate ...

  • Flying 3.3 rc8 on a 250 class racer. Just got it built. I use a 1300mah 3 cell battery. 

    I am trying to do an autotune. Auto tune starts and gets past the autotune of the roll and into the pitch autotune. I only get about 5 minutes of flight time, and the autotune doesnt finish before I run out of battery.

    Is it possible to do a 3 step autotune? i.e. during the first autotune session it will tune the roll. Then you land and save those pids, then you switch to pitch autotune, land save those pids and finally do a Yaw autotune?

    I've shut off everything I can to get max flight time, and I just cant get the autotune finished before I run out of batteries.

    Thanks for your help!


    • Nevermind I found it :)

           There’s also a new AUTOTUNE_AXES parameter which can be used to enable just a single axis:

                   7 = do all axis

                   1 = roll only

                   2 = pitch only

                   4 = yaw only

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