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 Randy,

          I'm currently busy designing a new tricopter from the ground up, totally custom, so i haven't had time to test 3.3 at all. Hopefully i get this new tri built soon and will have a fly :)

    • Cool, I will take a look again at home tonight. The parameter that Johnex wasn't listed for me, but I will look again for this one.

      I'd be willing to help work on the wiki. I swear I'm not as much of a rookie as I have made myself look like on this thread.
    • You need to set YAW_SV_REV to -1 sorry.

      • or RC out -1/1 depending on conditions. 

        • Yeah i actually do all the reversing of channels in my radio, i never touch the flight controller.

          • That's fine if the quad is moving the wrong way relative to your sticks, but for anything gyro-based that won't work since the signal originates from the FC and not the radio.

            • Well remember that you have to do rc calibration, so any changes you make in the radio propagate down the line. I for example change the servo limits and pitch direction in my radio, everything is default on the parameters in APM. This lets me swap a radio if need, since nothing changes on the pixhawk, only on the radios (if there is a channel that needs reversing on one radio but not the other).

              • The problem I'm having is Pixhawk is not reversing the yaw servo like it should. So when the tricopter yaws right (because a tricopter will always have unbalanced torque from the props), Pixhawk commands left yaw to correct, but because it's backwards, that "left" yaw actually pushes the nose further right, which makes Pixhawk throw in more "left" yaw, which makes it go harder to the right, and so on. So all the copter does is spin in a circle because every time the FC tries to correct, it actually makes the situation worse. The same thing happens on a traditional RC heli when you have the gyro set incorrectly, and the same thing also happens on APM Plane if you have a servo set incorrectly when you flip into Fly By Wire mode.

                This has nothing to do with the transmitter, because none of these commands come from the transmitter. They come from the FC in response to what the gyro senses. If the FC thinks that commanding PWM 999 will make the copter go right, but it actually makes it go left, the copter will never fly. Reversing the channel in the radio will only affect whether a PWM of 2000 is full left stick or full right stick. RC calibration changes nothing since you can't reverse any channels during calibration in APM Copter. All it really does is determine min, max, and mid values, and I guess confirm that your channels are mapped correctly in the radio.

                I would have thought setting the Pixhawk up as required and leaving the radio at default would be easier, that way you can pick up any radio, leave it as is, and it will work with your system. Same way when you set up a new model you just leave it on "Airplane" even though it might be a tricopter, or a hex, or a plane. But then again, I switch out my flight controllers way more often than I switch out my radios (which is pretty much never).

                • Developer

                  We've added a tricopter setup wiki page.  It's a bit sparse at the moment, it only lists the parameters that have changed since AC3.2.1.  We can build it out further if people would like and can provide text to add (if you're really keen Hamish can add you to the wiki editors group or you can simply add a to-do item with text to the wiki issues list).

                  Some kind of video of a tricopter flying Copter-3.3 (or 3.2.1) would be a nice addition.

                  I've also added an item to the release notes so we remember to warn people when AC3.3 goes out officially.

                • Developer


                  Thanks for testing & reporting.  I guess Johnex has pointed out the change that we forgot to include in the ReleaseNotes.txt.  It went in as a "clean up" as part of the RCMAP changes but we should have documented it better.  Sorry about that.

                  So as Johnex says, the TriCopter setup procedure is different now because we've separate the yaw servo's min, max, trim and rev parameters from the ch7 input parameters.

                  I think your servo should work if you set MOT_YAW_SV_REV to -1 or +1.

                  Johnex, have you got your tricopter working on -rc7?

This reply was deleted.


sam liked Jimmy Oliver's profile
Aug 25
Mike Whitney liked Mike Whitney's profile
Jul 19
Abdulatif Tlaib liked Ryan's profile
Jun 24