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 –


      • Another aspect that should be considered as far as the reserve you set is the altitude you usually fly AND check the max decent rate. If the MR goes into FS and tries to land itself it can literally run out of juice just coming down so darn slow. I think the default is very slow for safety but might want to increase this. I think another thing that can happen as well is if the pilot is not be fully aware of what’s going on, especially if the ‘nudge’ option is on, so the pilot see’s he has some control of the pitch and roll decent but NOT the rate it’s dropping right? [The ’nudge’ option doesn’t effect decent rate with pilot throttle input does it?]  So one might be watching his copter about to land in a tree and not realize it’s in the ‘land’ FS mode and just goes full throttle but unless I’m remembering wrong that won’t work unless he toggles the mode switch to get out of FS. An extension ladder and a flashlight was involved in my learning curve on this. Sorry… OT of the OT… opps.

      • What really strange to me is that "pitch" actually follows nicely with the "desPitch" as you can see from the plot.

        It is the "desPitch" diverges from the "RC2" input. Why this can happen? Doesn't "desPitch" take input from "RC2"?

        Thanks all for the advices. I will surely follow the 80% battery capacity rule ^^

      •  max usable flight time landing with a 20% reserve, just as is recommended by nearly every manufacturer.

        I've used several types of lipo and NONE of them recommend leaving a mah reserve, ie only using 4000ma from a 5000ma battery.

        They ALL recommend only using 80% of the maximum amp capacity, ie a 5000mah 20c lipo can deliver 100amps so you only pull 80amps from the pack under full load.

        • Moderator

          The 80% rule applies to capacity, not c-rate ( and has been a long standing recommendation to make LiPo's last. The main rational behind it is that each cell in a pack discharges at a slightly different rate mostly depending on the condition of the cell so if you discharge only using 80% of the capacity you lower the risk of draining one slightly lower performing cell below it's damage voltage (3.0V).

          With a 3 cell pack you can have a voltage of 9.5V but the cells might read 2.9V, 3.3V, 3.3V so if you fly to 3.5V per cell or 10.5V per 3 cell pack you usually end up consuming ~80% of the pack, which for those with voltage telemetry is an easy point to determine.

          80% Rule - TJinTech
          Home of TJinGuy's heli info
          • Can you give me a link to a lipo manufacturer that confirms that?


            The only one on-line that I could find in a rush, bottom of the page item number 5 clearly says that it is the 80% of C rating*mah (as I described) and not 80% of the mah capacity.

            I do agree that 3.0v per cell is the absolute minimum and I personally only go down to 3.5v per cell when flying. However I regularly fly my 5000mah packs using up 4500-5000mah and have had no problems after multiple cycles using the 80% of C*mah rating (still staying above 3.4v per cell).

            Quad pulls 58-59amp max so I use 5000mah packs with a minimum C rating of 20 (100amp max supply).

            • Though a bit off-topic but I can share some data on my LiPo testing.

              I think there are 2 issues mixed together:

              1) LiPo "mAh" can be over-rated. The steep descent of LiPo terminal voltage may happen earlier than expected. 

              2) LiPo "C" can be over-rated. The LiPo temperate can get unsafely hot even if current draw is within the "C" rating.

              Following is my 30A discharge testing on a Zippy 4S 5000mAh 20C LiPo.


              It shows this LiPo "mAh" capacity is over-rated. The "voltage cliff" starts to occur when 4400mAh~4600mAh energy is consumed, not 5000mAh as rated.


              Another plot of the same test shows this LiPo"C" is also over-rated. 30A discharge from a 5000mAh LiPo is only 30/5 = 6C. However the temperate keep raising and raising. I have to switch on my air-conditioner when the LiPo reaches 38 degree celsius. Also I turn on my fan and blowing cool air over the LiPo to cool it down. 

              If I really let the LiPo be discharged at 30A all the way, I might have a lipo smoke (or fire?) in my bedroom!!


              So the actual "mAh" capacity here is 88~92% of its rated number.

              And the actual "C" rating is not even close to 40% of its rated number.

              * These test is done using iCharger 308DUO. I love this charger very much ^^


  • Just upgraded from rc9 to rc10 and a funny thing happened.  Before I could load 10 and had the USB cable plugged in the failsafe went off.  Very load and scary.  Unplugged the USB cable and plugged it back in and all was well.  updated to 10 and did a test flight.

    Like the serial ports coming on right away now.  Use to have to wait a half a minute or so for it to go active and sometimes not at all.  Now it seems to be right there.

    Test flight was good as always.

    • Developer


      I guess you mean the battery failsafe?  I think that means that it did not detect that the USB cable was connected.

      Are you using a Pixhawk or some other board, maybe an AUAV board?

      The battery failsafe is disabled when it thinks it's connected to the USB port.  Because of a hardware issue on some significant number of AUAV boards we've made that USB detection slightly more conservative. Previously it just relied on getting the power from the USB port but now it relies on getting both power and succesfully connecting to the laptop/desktop computer.

      I imagine what may have happened is that when the USB port was plugged in, it was providing power but for some reason USB communication was not actually possible.

      That will be a slightly crappy outcome if we've solve one problem (a work around for a harware issue) at the expense of creating problems for others without that hardware issue.

      • I had the same thing  happen.. with an AUAV board..  USB 1/2 way plugged in and it beeped loudly, like the battery alarm.  I re-plugged it and it was fine. 
        I'm not sure I'd call it a problem, and would maybe just make a note in the documentation that it can happen if your USB cable is faulty. 

      • This was a real Pixhawk less than a year old.  The cable I was using may be the issue since I didn't really see the port show up on the computer.

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…
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…
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