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 –


          • Thanks Rob, good point. I do realise that this is the case.

            I guess I was just trying to reassure Nick that testing the failsafe indoors without the GPS lock  is fine. You can be confident that the failsafe  code will select RTL (if that is how it is set) when flying with a good GPS lock after.

            I find it reasuring to see the FS go to through the non-GPS proceedure as it reminds me what will happen if I loose both GPS and Rx signal (i.e. absolute worst case).

            Once I have seen the FS work without GPS on the bench, I feel confident tesing in flight with GPS.  Of course, I only ever check the failsafe behaviour AFTER making sure that RTL works by switching to it manually.  That letts me know that all of the GPS/EKF nav code is happy enough to get me home before I try turning off my Tx.

            Mybe I am trusting the code too much but so far it has behaved as expected. 

  • 3702099061?profile=originalNot sure if this is bug, or if I'm just missing something.

    I'm doing some bench testing and trying to test TRL triggers.

    Problem is I cannot going into any of the GPS modes, probably because of a bad GPS signal indoors.

    So I DISABLED all the PreArm checks.

    However it still does not work.

    When disarmed I can change to all flight modes.

    So I changed to PosHold mode while Disarmed.

    And then proceeded to Arm.

    I got an error Message.

    PRE-ARM: GPS Horiz Error

    I thought that disabling PreArm checks, bypassed ALL checks?

    • I do agree so much.

      I do want to make tests inside my office, and I need to override checks. I believe  that ARMING_CHECK = 0 would bypass all checks. However I could arm 3.3.1 when disabling GeoFence mode, which is a bit weird since I still have PosHod mode in flight modes...

    • I'm having the same issue. It only happens with the beta version of mp. I tried on an older pc with an older version of mp and that wasn't there. Wondering if it's a mp issue.
  • @Luis- 

    Hey I noticed you have had a lot of participation in various dev projects relating to displaying Mavlink telemetry on the Taranis-  Would you have any guidance / advice on how to best display the data on the taranis plus? lua scripts, custom OpenTX builds, moving to OpenTX 2.1, etc-  I'm not sure how to proceed. But it is *awesome* that AC 3.3 puts out the native Mavlink directly wrapped in the appropriate FrSky protocol packets.

    I can receive all of the raw data on the taranis but I have nothing inside taranis that actually makes sense of the data / displays it in friendly terms on the screens- Things like hdop, armed status, current flight mode.

    It seems all that is missing from the equation is a proper data interpreter for the received mavlink in OpenTX. I have seen some examples though such as this:

    • Hi Kurt, just wondering because this FrSky telemetry thing has sort of landed in my plate. I have been a long-time FrSky user, but never actually used the telemetry.  I always have my PC handy when flying.

      I'd like to look into this, but it seems like a very deep rabbit-hole indeed.  I currently am using a Taranis X9E tray radio running OpenTX 2.1.  I already have a FUL-1.  It's news to me that we already had S-port protocol, so that's actually good.

      But from there, are you saying the problem is more in the OpenTX software?  That we don't have anything to parse the data?

      • Developer

        Hi Rob,

        I use a taranis and this thing modified:

        Like this:

        I have never had any problems and I love it!!

      • Sorry Rob :)

        Let's split the issues.

        ArduPilot can output telemetry in FrSky DPort or SPort format. In order to do so, it requires a level inverter between the PixHawk output and the FrSky receiver, and different for DPort and for SPort.

        The way the telemetry data is displayed on the Taranis or other radios that run OpenTX is a different problem.

        The Teensy/Arduinos solution uses a standard Mavlink telemetry output and converts that to FrSky telemetry (SPort usually). These connect directly to a serial PixHawk output, and to the FrSky receiver.

        Again the way the telemetry data is displayed on the Taranis or other radios that run OpenTX is another different problem.

        When Matthias implemented the FrSky telemetry libraries on the Ardupilot, the OpenTX versions had a way to handle telemetry on the radios, (versions 2.0.x) and that has changed dramatically on the newer OpenTX versions (2.1.x).

        Any scripts that run on OpenTX radios have absolutely nothing to do with Ardupilot. Also any Teensy/Arduino solutions don't have anything to do with Ardupilot. 

        The issue on hand is solely regarding if Copter 3.3 outputs FrSky valid telemetry data, and if that data (numeric values as described on the wiki page) gets to the receiver. And if a 2.0.x OpenTX interprets that data like it did on Copter 3.2.1. Due to the changes that occurred with 2.1.x telemetry versions it also must be verified if Copter 3.2.1 FrSky output is also compatible with OpenTX 2.1.x, but that would be an optional verification.

        I don't have the necessary inverters to test the native Ardupilot FrSky outputs, but I've joined efforts with others to bring a unified Teensy solution.

        • Thanks for jumping in Luis -  I'm still rather dismayed that we are forced to use a teensy as a solution- the level converters are rather trivial devices compared to programming and maintaining yet another processing device, and running lua scripts- Especially when so much work has already been done in 3.3 with outputting mavlink in the appropriate S/D protocol. 

          Did you have a look at Sam Tabor's OpenTX implementation from my posted links (drone eu magazine)? How was that accomplished so gracefully without a teensy in the mix? I only ask to learn :D

          • I partially agree with you :)

            That's why that I've been talking with the lead dev of a recent project that is also part of DIYDRones and IMHO is a much more versatile solution than the Teensy's or even the native FrSky output.

            I'm referring to this

            which has the capacity of combining a already working fantastic OSD and still handle FrSky telemetry output :)

This reply was deleted.


DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @diyrobocars @circuitlaunch And here's the final showdown! Video courtesy of @chr1sa I think I was a little faste…
6 hours ago
DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @armand_dpl @SmallpixelCar @diyrobocars @circuitlaunch I use @foxglovedev Foxglove Studio for my visualization nee…
6 hours ago
DIY Robocars via Twitter
6 hours ago
DIY Robocars via Twitter
RT @a1k0n: @DanielChiaJH @diyrobocars @circuitlaunch Here's my car's view of that race. About 8.4 second lap times for laps 2 and 3... both…
DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at Races begin around 2:00pm PT
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11