Copter-3.3 ready for wider use

After months of testing by the beta-testing team, Copter-3.3 is ready for wider use.  Similar to the Copter-3.2 release this is a "soft launch" meaning that for the next couple of weeks, we are asking users to load the new version using the Mission Planner's "Beta firmwares" link on the Install page.  The MP will pop-up a "use at your own risk" message but rest assured, this firmware has been very thoroughly tested.

We also recommend that you use the Beta Mission planner until Copter-3.3 becomes the default (in about 2 weeks).  Open the Mission Planner and select Config/Tuning >> Planner and click the Beta Firmware checkbox.  Then Help >> "Check for Beta Updates".  The download and install will take a few minutes.

Unfortunately this version and all future versions of Copter only work with fast CPU boards like the 3DR Pixhawk (and compatible) boards, VRBrain, NAVIO+, etc.  Slower CPU boards will continue to be able to load the Copter-3.2.1 release.

Issues should be reported in the APM Forum.
The wiki has been mostly updated but if you spot missing items please report them to the wiki issues list.

The full set of changes can be seen in the Release Notes but the highlights are below.

Known Issues/Warnings:

  • users will need to re-calibrate their accelerometers because of 5c (accelerometer range increase).
  • FrSky telemetry users must set SERIAL2_PROTOCOL to "3" and reboot the board to enable FrSky telemetry like in previous versions
  • this version corrects a long standing issue in the HDOP reporting so values will appear about 40% lower than previously but this does not actually mean the GPS position is better than before.

Changes vs Copter-3.2.1
1) EKF replaces DCM/InertialNav for attitude and position estimation which provides more feedback and robustness in case of sensors failures
2) Control improvements:
   a) battery voltage compensation should maintain control as voltage drops
   b) current limiting can be used to reduce the maximum current requested to reduce strain on battery and ESCs
   c) air pressure compensation should reduce need for re-tuning when flying at different altitudes
   d) improved throttle curve should reduce wobbles during descents
3) AutoTune for yaw
4) Cameras & Gimbal improvements:
  a) SToRM32 gimbal support
  b) do-mount-control mission command allows controlling absolute camera mount angle during missions
5) Vibration resistance:
  a) real-time reporting of vibration levels by clicking on Vibe field on HUD (also recorded to logs)
  b) noise weighted average of accelerometers used to weight IMU towards the one exposed to less vibration
  c) accelerometer range increased from 8G to 16G to allow use in higher vibration environments (i.e. reduced "clipping")
6) Other:
  a) improved landing on slopes
  b) retractable landing gear support
  c) channels 9 ~ 12 can be used as auxiliary switches (like ch7, 8)
  d) PX4flow (optical flow) support in Loiter
  e) Brake flight mode (stops vehicle quickly but requires GPS)
  f) allow GPS, Telemetry, SToRM32 gimbal to be connected to any telemetry/serial port
  g) Lidar-Lite V2 support
  h) bug fix to RCMAP - remapped channel's MIN, MAX were taken from incorrect parameters meaning all channel ranges had to be the same
7) Tricopter tail servo parameters (MOT_YAW_SV_MIN, MAX, TRIM, REV)
8) Safety items:
  a) crash check triggers with 30deg lean angle error (for 2 sec) even if pilot's throttle is non-zero
  b) modified pre-arm checks to ensure good quality GPS and compas data
  c) lost copter alarm (hold both sticks down and right)
  d) motor interlock & emergency motor stop features on auxiliary switches (ch7 ~ ch12)
  e) RTL_CLIMB_MIN parameter allows forcing vehicle to always climb a few meters at beginning of RTL
  f) LED flashes green quickly if disarmed with 3D lock and SBAS

Special thanks to Marco and all the beta testers who put their vehicles at risk so we could iron out the problems during the testing phase and ensure a more reliable firmware for the wider community.  Here are some of their videos:

ChrisN #1, #2, Paul Atkin #1, #2, #3, Gervais #1, #2, #3, Gleb Falaleev #1, #2, Pomaroli, Michael, Robert Baumgartner, De Le, Robert Baumgartner, Robert Navoni, Maciej Karpinski

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Its worth mentioning that the emergency stop will reingage the motors immediately if the switch is turned off within the disarm time limit. If it's on a momentary switch an accidental knock/switch off would be temporary and probably not have a devastating effect.

    Out of interest, immediately on connection I see a lot of red text starting with PX4 on the Mission Planner HUD and the lady speaks lots of numbers. Same after a reboot. What is that meant to be telling me?

  • Ronny: Yes, I have used center sprung throttles for a long time.  My new radio (Taranis X9E which I love BTW) does not have it yet.  I just have to wait until I can purchase a centering gimbal for it, nobody has parts yet.

    Center sprung throttles do make a lot of sense for most UAV operations for all the reasons you mention. 

  • Leonard,

    Really glad to hear you like it so much.  You usage with a sprung switch is interesting, something I hadn't considered, and had to think about.  How does that work? I guess the "natural" position of the sprung switch is motors powered on?  So you would have to pull the switch down to disengage the switch, arm, then just release the switch to fly?

    Doesn't the pre-arm check constantly complain about Motor Interlock Engaged while on the ground?

    Or are you actually using the E-stop function?

    P2P: You are partially correct, in that zero throttle does not necessarily full stop the motors.  But functionally, it's the same.  They go to a speed where they essentially produce zero thrust.  But more importantly, the copter stops stabilizing.  So it rolls over.  Most of the time they roll over upside down.  Then *if* the pilot re-engages the throttle, the copter can tend to power itself right into the ground.

    This is a really serious problem in Acro, when, after re-engaging the motors, the copter will make zero attempts to right itself, and will happily go full throttle straight down from 50 feet up, which I have done.  

    Motor Interlock is particularly good for acro pilots for this reason.  Now doing zero-thrust flips and rolls is safe, easy, and effective, because the copter always attempts to achieve target angular rates.  

  • Since when did going to minimum throttle in flight stop the motors?  Unless you foolishly have the throttle min parameter set to something stupidly low, going to minimum throttle in flight doesn't stop the motors.  And even if it did, it's not the kind of thing one can reasonably foresee people doing inadvertently.  So the notion that cutting off the motors with a switch in flight is no different than going to minimum throttle is incorrect.

    Neither the wiki or the video explain any of these other details on the interlock function you guys described in here.  So don't get all indigent about me not knowing the details when they are not explained anywhere.  Like I said, you guys come up with amazing stuff.  The work you all put in to this thing is out of this world.  Literally every feature and function is perfect.  So it just baffles me that a new feature with such serious implications is rolled out with so little documentation and a haphazard attitude. It's not like you guys.

  • Thank's for the tip Marco; If I can convince my friends to use Ardu I'm going to give a try :) , they were impressed with the video. ;)

  • leonardthall: very usefull explanation in cases to use the Kill switch, perhaps is a good idea to add to wiki?.

  • Thanks again Leonard. I will have to set up a test rig to explore the 3.3FW and the spring loaded throttle options.

    Is there any work around or options, for this high vibration scenario, without having the Stabilize mode available?

  • Developer

    Hi Ronny,

    I don't think the lidar will help your landing detection. The biggest thing that can delay the landing detection is bouncing or vibration on the ground. This makes it hard for the copter to tell the difference between the near ground turbulence and the vibration from the ground. So landing on a mat/grass or ensuring you have some rubber around your landing gear.

    Altitude hold is also quiet a good fallback from GPS modes. The only danger is extreme vibration caused by a broken prop can mess up the alt hold.

  • Thanks for fast answering Leonard, and that is good to hear.

    I fell that with the spring loaded throttle, holding constant altitude becomes easier and more consistent, at least for our use. In addition you should not have any catastrophic changes in height while changing flight modes (as long as mid throttle in Stabilize mode is the same as hover throttle in the "automatic" modes).

    As of now we are using Stabilize mode as one of our flight modes, but I am not to found of this as some of our operators have accidentally triggered this in flight (with rapid altitude change as a result). It is nice to have despite this, if the motors need to be stopped like if the landing detector is missing out.

    I guess the problem with the motors not stopping quickly enough due to landing detection can be improved with the use of the LidarLight2 sensor (I have one on the way for testing)?

    One advantage of having the Stabilze mode is of course that if you get into "trouble" in the auto modes (poor GPS reception etc), you still have a chance of regaining control over the craft.

    If completely skipping the Stabilize mode, how is the Altitude Hold mode in this respect as a "bail out" mode (with the new "Motor Interlock switch" as a extra safety to stop the motors on the ground)?

    Btw. I liked Rob's protected "Motor Interlock switch" on the Taranis radio).

    Thanks again for all your good work :)

  • Developer

    RE:  Motor interlock and emergency stop

    This is a fantastic SAFETY feature! (Sorry, couldn't resist) I personally use the Motor Interlock option on my sprung two position switch on the top right side of the taranis. I have used this a number of times in flight and every time I touch down. I have a number of friends that fly arducopter with me and the additional confidence this switch provides the pilot is immediately noticeable to people using the default setup.


    • Immediate stop of motors when landing. This is particularly advantageous for copters with a tendency to fall onto one side because of tall or narrow landing gear. This is the first thing people notice.
    • Immediate stop of motors after start up. This is fantastic for the first pretuned flight. I am able to instantly kill the motors if I see any sign of oscillation on the ground.
    • Immediate stop of motors during flight. Loss of attitude control caused by a broken prop or lost esc results in a copter providing significant power to each propeller resulting in a somewhat random fall of a significant mass with a bunch of fast spinning blades attached to it. The kill switch turns this into a mass with a ballistic trajectory, not good but much better. This results in less damage to the frame and a safer crash.
    • During minimum throttle using Motor Interlock the copter continues to stabilize itself. This is fantastic for high powered copters or people that like/need to descend quickly from altitude.


    • Releasing a sprung motor interlock switch before you have disarmed the copter results in the copter starting up suddenly. It is easy to get a little lazy or distracted for a second and forget to disarm. This is pretty safe since you have the transmitter in your hands and therefore probably not grabbing the copter.
    • People might accidently hit the switch. There is 5 seconds to restart the copter so this can be greatly mitigated using a sprung switch. These people also tend to crash by accidently changing mode while the throttle is low.

    As I use arducopter for FPV racing ( I reguly clip a branch or blow a propeller up. Instant motor stop prevents esc's from catching fire and burning out motors. The position of the battery on my quad also means the copter tends to roll onto it's side during landing. Again, using the kill switch significantly reduces the chances of breaking a propeller or burning out esc's. The most extreme case this saved me was when I was doing some extreme vibration testing of the EKF and introduced a 45 degree angle offset resulting in a copter coming towards me at 100km/h in stabilize when it should have been level. The kill switch meant this ended with a couple of broken props and the copter came down quickly and safely. (High vibration handling of the EKF has been significantly improved now).

    For the pilots that don't believe this feature provides a significant improvement in safety and reliability, for whatever reason, the good news is that it isn't on by default and you don't need to use it. Win Win Win. Having said that, any suggestions that we may use to make this better are always welcome!!!

This reply was deleted.