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 –


                  • I've been working on lighting as well. I've kept everything together on one Teensy because I want to pull the telem stream to create status-interactive lighting (e.g. pulse red at low batt, reflect flight mode, etc). I've also added PWM input so I can control things from the tx light brightness and light pattern.

                    I created a PCB for the level shifter and resistors for WS2812 that a Teensy drop onto and has place for headers for all connections: 

                    I'm still hacking up my lighting code inside the original Arduino sketch, but if anyone is interested I can clean it up and put it on GitHub.3702947520?profile=original

                  • I have 2 sets on copters, this is for my new build :) And yes it takes a hit [over a minute] on flight time, but it looks oh so cool when it is flying :)

                    I only run a signal and ground to the teensy, the rest is handled by a buck converter [they are 5v leds] straight from the distribution board. 

                    The front end I made is run from my laptop to control them .


                    The weight isn't so bad as long as I remove the silicone shroud :)

                  • Uau.....

                    240 leds...... I'm only dealing with small 8led sticks (Neopixel) and still undecided to use only 2 or 4 sticks :)

                    The weight of that must cut some minutes from the flight time.....not to mention the power draw....(60mA per led -> 240x0.06 is a lot of amps)......

                  • Look a page back :) That roll is a 4 section of 60 Leds [240 leds]

                  • I don't have any issues with only 100 either, it's only when I get up around 240+ that it becomes an issue.

  • I upgraded from 3.2 to 3.3 rc11 but still have the odd behavior with my taranis telemetry. The data on the TX screen is correct but it keeps verbalizing things over and over. I had the same problem back with 3.3 rc 5 or so. I did reset the SERIAL2_PROTOCOL to "3" as advised but it doesn't work at all set to 3. Only works as mentioned above set to 1. I went back to 3.2 as I pretty much feel like I'm running blind without the telemetry. Perhaps I need to update the lua script on my Taranis TX? 

    • Developer

      The problem is with the LUA script not requesting the data rates it can handle from the autopilot. You can set similar data rates in AP2 (OSD users have the same issue when sharing a serial port with a GCS)

      In APM Planner 2.0 Config view, select the advanced tab and change Attitude (i.e. EXTRA1) and EXTRA2 to 5 (Hz) instead of 10. It should work then (given the values you sent me)


      • Thanks Bill!  I'll give it a try if I ever get 5 minutes away from work..... 

    • Are you using a simple RS232<>TTL level converter or a Teensy type of solution between the ardupilot and frsky rx / taranis?   Is your rx an S port or D port?   With mine, i am using a simple level converter through the D8R rx's D port. So in that case I use protocol 3.   If you use a Teensy or other type of mavlink xlator board then you'd need protocol 1

      Let's see your lua script- that is the last piece I am missing, I can get all of the mavlink data on the Taranis now but there is no way to turn it into readable data on the telemetry screens. e.g. names of flight modes, hdop, armed or disarmed, etc.

This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25