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


  • What I would love is a throttle stick I can adjust to be spring loaded or manual. Perhaps a friction lock that is tight enough to hold back the spring but still allow manual movement.

  • Leonard, That explained a lot.  For 3.2 and older, I have always been under the impression that it will not allow you to disarm in flight.  If I go 0% throttle and full left yaw while in flight (albeit free-falling from 400ft, it still won't disarm because it knows I'm still in the air.  It will only disarm once it detects and believes I'm on the ground.  That was my understanding, although obviously I've never sacrificed my bird to try it.  Is this not the case.  It sounds like you're saying it will indeed disarm in flight if I tried. Is it only the 0% throttle time-out disarm that is inhibited in-flight?

    If one uses the motor interlock, what effect does that have on manual arm/disarm and the 0% throttle timeout disarm?  If one uses the motor interlock, what effect does that have on 0% throttle stabilize inhibit?

    It sounds like the interlock and emergency stop are good ideas that probably need better documentation for the users.  But the bit about flipping a switch and killing the motors while in perfectly controlled flight with no firmware logic to say "that's probably not a good idea right now" strikes me as dangerous.  Perhaps documentation can address that better as well.

  • Thanks Rob. Yes it is a pity the 9XE did not have the spring loaded mechanism built into both stick like the 9X. As a long user of tray radios going all the way back to the mid 80is with the Graupner 6014 series. Over the last 7-8 years I have also gotten used to the, what we used to call, "Japan style" hand held radios that is more common in outside Europe. For multirotors we use the 9X due to the flexibility of the open source programming. The 9XE would be nice, but not all the operators are used to the tray design.... and it is a cost to to change the four 9X plus radios we have for the 9XE.

  • Great flight with my hexa running 3.3. Almost forgot the time flying, hence the video is absolutely crap, but a screen cap shows why :) :) :)


    and when I get the courage of having Emergency Stop activated higher I'll try to film it. Although I was somewhat sceptic of Emergency Stop, I've used it a lot during the beta phase and it has saved a lot of material of being broken.

  • Developer

    Hi Pedals2Paddles,

    Don't worry, the DEV's aren't getting indigent. This situation is a little confronting for many people in this community, however the DEV's are used to people getting very vocal with their opinions without a full understanding of the evolution and reasons behind a new feature (and in some cases before they have even attempted to use the new feature). As DEV's we understand that when providing feedback and constructive criticism, some people's passion and enthusiasm can come across as rude and a little ignorant. However, we generally find that as the user takes the time to listen to our reasoning they come to understand why that feature has been provided and who that feature benefits (even if they would not use it themselves).

    For example,

    Initially stabilize would stop the propellers if you went to minimum throttle. There were safety concerns with this because the copter could be armed with no sign that the copter will start spinning the motors or jump into the air as soon as the throttle stick is moved.

    We provided the ability to set the copter to spin when armed. This is an option so you can still set the copter to not spin the props at minimum throttle. However, because the copter is disarmed by giving full left yaw stick and minimum throttle, we had to disable stabilization at minimum throttle. If we didn't do this the process of disarming would cause the copter to attempt to yaw on the ground potentially causing it to rotate or flip.

    As more and more users have begun to fly only in loiter or other Alt_Hold based modes we have found that the land detector needs to work incredibly reliably. If we don't detect a landing then the copter doesn't disarm. If we do detect a landing when we are still flying and yawing, the copter can disarm in the air. While the land detector has got pretty mature and reliable (we may still need to tweek it), there are still some cases that cause problems like carbon legs on concrete causing significant vibrations, poorly calibrated accelerometers also can cause problems.

    The use of arducopter for large powerful camera ships, acrobatic flight and FPV racing has also highlighted the problem with turning off the stabilization at low throttle.

    A number of countries have mandated that a kill switch be present on all commercial copters.

    Finally the simple fact that we have had hundreds of requests for a kill switch that would let users instantly stop their props spinning in the event of a crash or loss of control.

    Our kill switch and motor interlock options address these issues and give the users that want this capability two options. These options have been used for many years on heli's and have been proven to be safe for any competent pilot.

    I hope this helps you understand the evolution of this feature and why it is so important to provide it to the community.

  • I agree, the minor release numbering is puzzling.  In every software project I've been involved with, this would have been a major release as dropping support for the previous generation of hardware combined with major overhauls of subsystems (EKF) while also adding a substantial number of new features seems to more than qualify this for 4.0 status.  At the end of the day, the number is just a number.  Oh well.

  • I've often thought of but always forget to try this... set the motor minimum parameter to something more functional.  A minimum RPM that would allow it to maintain stability.  Kind of like minimum steerage speed on a boat. This would prevent any loss of stability on 0% throttle in flight.  However, it would be rather ugly on the ground in a crash.  The props would be spinning a lot faster on impact than they would at literal minimum rpm.  I'm not sure which is worse, I guess it depends on what the minimum controllable RPM is.

    Is people intentionally putting their throttle to zero then wondering why they crashed really a common issue??

  • EmergencyStop, InterLock and Brake are some nice new features of AC3.3.

    As others have pointed out, some of these are legally required in some jurisdictions.

    I'm looking forward to setting these up and carefully testing them out along with all the other great features that have gone into this release... I'm just surprised this release was only a .2 to .3 "minor" release increment and not a 3.x -> 4.x major release increment to demonstrate how much has changed in AC3.3 over AC3.2.1

  • Developer

    Hi Rob,

    I set it up so that the Motor interlock is on when I let go of the switch. I then have to hold it off to arm and then let it go. I can then pull it any time to kill it.

    The only issue I have seen is it doesn't like to turn the GPS lock led green until I have pulled the switch. I haven't had time to go through the code to see why that is though. Other than that it works really well and I use it on all my copters as it really improves the safety of both my high powered acro quad and my 10 to 30 kg work copters during descent when lightly loaded.

    The motor interlock has made the biggest improvement to the safety of my copters and my confidence (from a when shit goes wrong perspective) since the fence failsafe!!

  • Developer

    Hi Ronny,

    The emergency stop function is a good way of shutting things down if it doesn't want to land, otherwise you really need stabilize.

This reply was deleted.