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 –


    • It's the ESC flash. Lots of peeps are reporting serious vibs on 4.1x. 

      Go Here and Here to read up on the issue and see what people have done to use the proper settings to get rid of the vibs [warning, fairly long threads, but worth the reading]

  • The one issue I had after 3.3 today was 'compasses inconsistent'. I wonder if I should disable the internal and this warning would go away? It flew fantastic though :D

  • Sorry if this has been asked before but it's confusing me... 

    With an external compass attached, the compass_use and compass_use2 should be set to what ?

    From my understanding compass_use is for internal and compass_use2 is for external, so this should be set to 1 on both ?

    • Developer

      Manuel, Richard,

      So compass_use is actually for the external, compass_use2 is for the internal.  They should both be "1" unless you find the "compass inconsistent" message coming up a lot in which case you can disable the internal one by setting compass-use2 to "0"

      • hi, is it possible to connect a brushless gimbal (not servo!) to my APM?

        thanks for any help.

      • Thanks Randy. Just to clarify one other thing please. If you do not have an external connected does compass_use become the internal or is compass-use2 always the internal? 

        Does the code average both or always disregard one of them? Does it have compass failover yet?


        • Developer

          Just a slight clarification...

          The "enumeration" of the compasses is decided when the board is powered up.  So if there's only an internal compass on the board, that will become compass #0.  If you plug in an external compass and reboot it, the external one will become compass #0 and the internal one is shifted to compass #1.  The compasses are generally used from the lowest number first so external will be used by default but you can affect that prioritisation by changing the compass-primary or the compass_useX parameters.

          The software never switches over to a backup compass in flight.  This behaviour was chosen because we didn't think the backup compasses could be trusted most of the time.

          • Thank's to clarificate Randy, so, if software don't switch to the other compass in flight, What's the reason to have two compasses? 

            • Developer

              The backup is only used pre-arming as a consistency check to ensure the external compass is oriented properly.  Also there's no easy way to physically remove an internal compass so because it's there we might as well take data from it.

              • Thank's Randy to clarify, In other way, is interesting to have the int compass chance, It's help me to fly until I recive the ext one and looks usefull in airplanes too; I have the gps near the motor (skywalker)

This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25