Copter-4.4.0 released!

After months of beta testing, Copter-4.4.0 has been released as the official / stable version for multicopters and helicopters. The new version can be installed using Mission Planner, QGC or you can manually download the binary from firmware.ardupilot.org.

The full list of changes can be seen in the ReleaseNotes and they are copied below.

As with other releases, parameters are automatically upgraded so there should be no need to backup and then restore parameters as part of the upgrade. Vehicle tuning should also not be affected by this upgrade.

Changes from 4.3.7

  1. New autopilots supported
    • ESP32
    • Flywoo Goku F405S AIO
    • Foxeer H743v1
    • HeeWing-F405 and F405v2
    • Holybro KakuteH7-Wing support
    • iFlight BlitzF7
    • JFB100 support
    • Mamba-F405-2022B
    • Matek-F405-TE/VTOL
    • PixPilot-V3
    • PixSurveyA2
    • rFCU H743
    • SIYI N7 support
    • SpeedyBee-405-Wing
    • ThePeach K1/R1
  2. Autopilot specific changes
    • Bi-Directional DShot support for:
      • CubeOrangePlus-bdshot
      • CUAVNora+
      • MatekF405TE/VTOL-bdshot
      • MatekL431
      • Pixhawk1-bdshot
      • Pixhawk6C-bdshot
      • Pixhawk6X-bdshot
      • QioTekZealotH743-bdshot
    • Bi-Directional DShot up to 8 channels on MatekH743
    • BlueRobotics Navigator supports baro on I2C bus 6
    • BMP280 baro only for BeastF7, KakuteF4, KakuteF7Mini, MambaF405, MatekF405, Omnibusf4 to reduce code size (aka “flash”)
    • CSRF and Hott telemetry disabled by default on some low power boards (aka “minimised boards”)
    • Diatone-Mamba-MK4-H743v2 uses SPL06 baro (was DPS280)
    • DMA for I2C disabled on F7 and H7 boards
    • FlywooF745 update to motor pin output mapping and baro
    • Foxeer Reaper F745 supports external compasses
    • OmnibusF4 support for BMI270 IMU
    • OmnibusF7V2-bdshot support removed
    • KakuteF7 regains displayport, frees up DMA from unused serial port
    • KakuteH7v2 gets second battery sensor
    • Mamba-F405v2 supports ICM42688
    • MambaH743v4 supports VTX
    • MatekF405-Wing supports InvensenseV3 IMUs
    • Matek-H743 IMU SPI slowed to 1Mhz to avoid init issues
    • PixPilot-V6 heater enabled
    • Raspberry 64OS startup crash fixed
    • ReaperF745AIO serial protocol defaults fixed
    • SkystarsH7HD (non-bdshot) removed as users should always use -bdshot version
    • Skyviper loses many unnecessary features to save flash
    • UBlox GPS only for AtomRCF405NAVI, BeastF7, MatekF405, Omnibusf4 to reduce code size (aka “flash”)
    • VRBrain-v52 and VRCore-v10 features reduced to save flash
  3. Driver enhancements
    • ARK RTK GPS support
    • BMI088 IMU filtering and timing improved, ignores bad data
    • CRSF OSD may display disarmed state after flight mode (enabled using RC_OPTIONS)
    • Daiwa winch baud rate obeys SERIALx_BAUD parameter
    • EFI supports fuel pressure and ignition voltage reporting and battery failsafe
    • ICM45686 IMU support
    • ICM20602 uses fast reset instead of full reset on bad temperature sample (avoids occasional very high offset)
    • ICM45686 supports fast sampling
    • INA228 and INA238 I2C battery monitor support
    • LP5562 I2C and IS31FL3195 LED drivers
    • MAX31865 temp sensor support
    • MB85RS256TY-32k, PB85RS128C and PB85RS2MC FRAM support
    • MMC3416 compass orientation fix
    • MPPT battery monitor reliability improvements, enable/disable aux function and less spammy
    • Multiple USD-D1-CAN radar support
    • NMEA output rate configurable (see NMEA_RATE_MS)
    • NMEA output supports PASHR message (see NMEA_MSG_EN)
    • OSD supports average resting cell voltage (see OSD_ACRVOLT_xxx params)
    • Rockblock satellite modem support
    • Serial baud support for 2Mbps (only some hardware supports this speed)
    • Serial LEDs threading enhancement to support longer lengths without dshot interference
    • SF45b lidar filtering reduced (allows detecting smaller obstacles
    • SmartAudio 2.0 learns all VTX power levels)
    • UAVCAN ESCs report error count using ESC Telemetry
    • Unicore GPS (e.g. UM982) support
    • VectorNav 100 external AHRS support
    • 5 IMUs supported
  4. EKF related enhancements
    • Accel bias calculation fix and tuning for greater robustness
    • Airspeed sensor remains enabled during dead-reckoning (few copters have airspeed sensors)
    • Baro compensation using wind estimates works when climbing or descending (see BAROx_WCF_UP/DN)
    • External AHRS support for enabling only some sensors (e.g. IMU, Baro, Compass) see EAHRS_SENSORS
    • Magnetic field tables updated
    • Non-compass initial yaw alignment uses GPS course over GSF (mostly affects Planes and Rover)
    • Vertical velocity reset fixed on loss of GPS
    • Wind speed estimates updates reduced while dead-reckoning
  5. Control and navigation enhancements
    • Attitude control slew limits always calculated (helps tuning reporting and analysis)
    • AutoTune of attitude control yaw D gain (set AUTOTUNE_AXES=8)
    • Circle moode and Loiter Turns command supports counter-clockwise rotation (set CIRCLE_RATE to negative number)
    • JUMP_TAG mission item support
    • Missions can be stored on SD card (see BRD_SD_MISSION)
    • NAV_SCRIPT_TIME command accepts floating point arguments
    • Pause/Resume returns success if mission is already paused or resumed
    • Payload Place enhancements
      • Descent speed is configurable (see PLDP_SPEED_DN)
      • Manual release supported (detects pilot release of gripper)
      • Post release delay is configurable (see PLDP_DELAY)
      • Range finder range used to protect against premature release (see PLDP_RNG_MIN)
      • Touchdown detection threshold is configurable (see PLDP_THRESH)
    • Position controller angle max adjusted inflight with CH6 Tuning knob (set TUNE=59)
    • RTL mode accepts do-change-speed commands from GCS
    • Surface tracking time constant allows tuning response (see SURFTRAK_TC)
    • Takeoff throttle max is configurable (see TKOFF_TH_MAX)
    • Throttle-Gain boost increases attitude control gains when throttle high (see ATC_THR_G_BOOST)
    • Waypoint navigation cornering acceleration is configurable (see WPNAV_ACCEL_C)
    • WeatherVane into the wind in Auto and Guided modes (see WVANE_ENABLE)
  6. TradHeli specific enhancements
    • Improved collect to yaw compensation
    • Manual autorotation support
    • Minor fix to RSC servo output range
  7. Filtering enhancements
    • FFT notch can be run based on filtered data
    • Warn of motor noise at RPM frequency using FFT
    • In-flight FFT can better track low frequency noise
    • In-flight FFT logging improved
    • IMU data can be read and replayed for FFT analysis
  8. Camera and gimbal enhancements
    • BMMCC support included in Servo driver
    • DJI RS2/RS3-Pro gimbal support
    • DO_SET_ROI_NONE command support
    • Dual camera support (see CAM2_TYPE)
    • Gimbal/Mount2 can be moved to retracted or neutral position
    • Gremsy ZIO support
    • IMAGE_START_CAPTURE, SET_CAMERA_ZOOM/FOCUS, VIDEO_START/STOP_CAPTURE command support
    • Paramters renamed and rescaled
      • CAM_TRIGG_TYPE renamed to CAM1_TYPE and options have changed
      • CAM_DURATION renamed to CAM1_DURATION and scaled in seconds
      • CAM_FEEDBACK_PIN/POL renamed to CAM1_FEEBAK_PIN/POL
      • CAM_MIN_INTERVAL renamed to CAM1_INTRVAL_MIN and scaled in seconds
      • CAM_TRIGG_DIST renamed to CAMx_TRIGG_DIST and accepts fractional values
    • RunCam2 4k support
    • ViewPro camera gimbal support
  9. Logging changes
    • BARD msg includes 3-axis dynamic pressure useful for baro compensation of wind estimate
    • LOG_DISARMED=3 logs while disarmed but discards log if never eventually armed
    • LOG_DARM_RATEMAX reduces logging while disarmed
    • MCU log msg includes main CPU temp and voltage (was part of POWR message)
    • RCOut banner message always included in Logs
    • SCR message includes memory usage of all running scripts
    • CANS message includes CAN bus tx/rx statistics
    • OFCA (optical flow calibration log message) units added
    • Home location not logged to CMD message
    • MOTB message includes throttle output
  10. Scripting enhancements
    • Copter deadreckoning upgraded to applet
    • EFI Skypower driver gets improved telem messages and bug fixes
    • Generator throttle control example added
    • Heap max increased by allowing heap to be split across multiple underlying OS heaps
    • Hexsoon LEDs applet
    • Logging from scripts supports more formats
    • Parameters can be removed or reordered
    • Parameter description support (scripts must be in AP’s applet or driver directory)
    • Rangefinder driver support
    • Runcam_on_arm applet starts recording when vehicle is armed
    • Safety switch, E-Stop and motor interlock support
    • Scripts can restart all scripts
    • Script_Controller applet supports inflight switching of active scripts
    • Scripts may take action based on VTOL motor loss
  11. Custom build server enhancements
    • AIS support for displaying nearby boats can be included
    • Battery, Camera and Compass drivers can be included/excluded
    • EKF3 wind estimation can be included/excluded
    • PCA9685, ToshibaLED, PLAY_TUNE notify drivers can be included/excluded
    • Preclanding can be included/excluded
    • RichenPower generator can be included/excluded
    • RC SRXL protocol can be excluded
    • SIRF GPSs can be included/excluded
  12. Safety related enhancements and fixes
    • Arming check for high throttle skipped when arming in Auto mode
    • Arming check for servo outputs skipped when SERVOx_FUNCTION is scripting
    • Arming check fix if both “All” and other bitmasks are selected (previously only ran the other checks)
    • “EK3 sources require RangeFinder” pre-arm check fix when user only sets up 2nd rangefinder (e.g. 1st is disabled)
    • GPS pre-arm failure message clarified
    • Pre-arm check that low and critical battery failsafe thresholds are different
    • Pre-arm message fixed if 2nd EKF core unhealthy
    • Pre-arm check if reboot required to enabled IMU batch sampling (used for vibe analysis)
    • RC failsafe (aka throttle failsafe) option to change to Brake mode
    • RC failsafe timeout configurable (see RC_FS_TIMEOUT)
    • Takeoff check of motor RPM (see TKOFF_RPM_MIN)
    • Turtle mode warns user to raise throttle to arm
  13. Minor enhancements
    • Boot time reduced by improving parameter conversion efficiency
    • BRD_SAFETYENABLE parameter renamed to BRD_SAFETY_DEFLT
    • Compass calibration auxiliary switch function (set RCx_OPTION=171)
    • Disable IMU3 auxiliary switch function (set RCx_OPTION=110)
    • Frame type sent to GCS defaults to multicopter to ease first time setup
    • Rangefinder and FS_OPTIONS param conversion code reduced (affects when upgrading from 3.6 or earlier)
    • MAVFTP supports file renaming
    • MAVLink in-progress reply to some requests for calibration from GCS
  14. Bug fixes:
    • ADSB telemetry and callsign fixes
    • Battery pct reported to GCS limited to 0% to 100% range
    • Bi-directional DShot fix on H7 boards after system time wrap (more complete fix than in 4.3.6)
    • BLHeli returns battery status requested via MSP
    • BRD_SAFETYOPTION parameter documentation fix (ActiveForSafetyEnable and Disable were reversed)
    • Compassmot fix to protect against bad gyro biases from GSF yaw
    • CRSFv3 rescans at baudrates to avoid RX loss
    • DisplayPort OSD screen reliability improvement on heavily loaded OSDs especially F4 boards
    • DisplayPort OSD artificial horizon better matches actual horizon
    • DroneCAN airspeed sensor fix to handle missing packets
    • DroneCAN GPS RTK injection fix
    • EFI Serial MS bug fix to avoid possible infinite loop
    • EKF3 Replay fix when COMPASS_LEARN=3
    • EKF allocation failure handled to avoid watchdog
    • ESC Telemetry external temp reporting fix
    • Fence upload works even if Auto mode is excluded from firmware
    • FMT messages logged even when Fence is exncluded from firmware (e.g. unselected when using custom build server)
    • Guided mode slow yaw fix
    • Hardfault avoided if user changes INS_LOG_BAT_CNT while batch sampling running
    • Ublox M10S GPS auto configuration fixed
    • ICM20649 temp sensor tolerate increased to avoid unnecessary FIFO reset
    • IMU detection bug fix to avoid duplicates
    • IMU temp cal fix when using auxiliary IMU
    • Message Interval fix for restoring default rate
    • Notch filter gyro glitch caused by race condition fixed
    • RADIO_STATUS messages slow-down feature never completely stops messages from being sent
    • RTL speed fix so changes to WPNAV_SPEED have no effect if RTL_SPEED is non-zero
    • SERVOx_TRIM value output momentarily if SERVOx_FUNCTION is changed from Disabled to RCPassThru, RCIN1, etc. Avoids momentary divide-by-zero
    • Serial passthrough fixed
    • Scripting file system open fix
    • Scripting PWM source deletion crash fix
    • SBF GPS ellipsoid height fixed
    • MAVFTP fix for low baudrates (4800 baud and lower)
    • ModalAI VOXL reset handling fix
    • MPU6500 IMU fast sampling rate to 4k (was 1K)
    • NMEA GPGGA output fixed for GPS quality, num sats and hdop
    • Position control reset avoided even with very uneven main loop rate due to high CPU load
    • SingleCopter and CoaxCopter fix to fin centering when using DShot
    • Siyi A8/ZR10 driver fix to avoid crash if serial port not configured
    • SystemID mode fix to write PID log messages
    • Terrain offset increased from 15m to 30m (see TERRAIN_OFS_MAX)to reduce chance of “clamping”
    • Throttle notch FFT tuning param fix
    • VTX protects against pitmode changes when not enabled or vehicle disarmed
    • ZigZag mode user takeoff fixed (users could not takeoff in ZigZag mode previously)
  15. Developer specific items
    • DroneCAN replaces UAVCAN
    • FlighAxis simulator rangefinder fixed
    • Scripts in applet and drivers directory checked using linter
    • Simulator supports main loop timing jitter (see SIM_TIME_JITTER)
    • Simulink model and init scripts
    • SITL on hardware support (useful to demo servos moving in response to simulated flight)
    • SITL parameter definitions added (some, not all)
    • Webots 2023a simulator support
    • XPlane support for wider range of aircraft

If you have any issues please feel free to downgrade back to 4.3.7 using Mission Planner’s “All Options” link or retrieve the older binary from firmware.ardupilot.org.

Thanks again to all the developers and beta testers who contributed to this release!

18 Likes

Thank you Randy and the Team,I got tired just reading the list of enhancements more fun for me and the flying doggie

2 Likes

Autotune support for yaw’s D is really cool, I enjoyed the effect so much!

3 Likes

Updated to new firmware with could be a hardware crash. quad flew well then lost power.

I not blaming the firmware could of been a simple short. Bin enclosed for review.

I think the 4 and one esc could of made contact with the rail. woops. unless someone can see something other.

updated the firmware on cube orange+ and Nora+ Flight controllers.
both FC reports Gyro inconsistent message on boot up.

Just the voltage issue you already identified - otherwise flying well for near-defaults

2 Likes

Hi @kalai1219,

Thanks for the report. I suspect the gyro inconsistent pre-arm warning is just a temporary environmental issue perhaps as the autopilot heats up.

1 Like

I am happy with VTOL-quicktune and my defaults even in simulation aircraft for client’s it does well. Looks like a quick cert came loose. Bummer.

2 Likes

Hi DJI RS2 Pro gimbal works with Copter 4.4 official there are only problems with yaw movement the same like in beta:

Need to know which parameter to be used to limit the MAX Altitude and Max Horizontal Distance from the take of point. We need to fix the maximum altitude and maximum horizontal distance. Purpose is even without using failsafe if some one tries to go beyond the set limit drone should not go.
please help.

Hi @Casca_Developer,

Details of the various fences are here on the wiki.

Without using failsafe option is there a way to limit MAX Altitude and Max Horizontal Distance from the take of point.

Yes, you just set
FENCE_ENABLE,1
then check the other FENCE parameters to see if they suit you, like altitude and radius.
Randy already linked to the information.

Randy replied go read the wiki and do some research Casca_Developer we all need help and advice but try and ascertain info first and Shaun is one of the most knowledgeable person’s on here

Thank you so much for your prompt response.


Decent flight today after the rebuild.

2 Likes

Still getting the battery 2 error but overall liking the build for sure. Thanks to all the work Guys.

1 Like

@rmackay9 @andyp1per

Before low frequency was setup to 80Hz and now i can seen that it has come down upto 50hz as default.

What if the vibration frequency is lower than 50hz i will track? Because most of the airframes i seen some of them vibe at 30hz itself.

I have changed lower frequency to 30hz and rebooted the FC but after reboot its restored to 50hz.

How accurate is the Inflight FFT based on throttle based method compared to HNotch method?