Plane 4.4 release

I’ve just released plane 4.4.0beta1, the first beta in the new 4.4.x stable series. Many thanks to everyone who has contributed to this major release!
Please test this release and report back with any issues here. Thank you!

Changes since 4.3.5 are:

  1. New autopilots supported

    • ESP32
    • Flywoo Goku F405S AIO
    • Foxeer H743v1
    • MambaF405-2022B
    • PixPilot-V3
    • PixSurveyA2
    • rFCU H743
    • ThePeach K1/R1
  2. Autopilot specific changes

    • Bi-Directional DShot support for CubeOrangePlus-bdshot, CUAVNora+, MatekF405TE/VTOL-bdshot, MatekL431, Pixhawk6C-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”)
    • 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
    • MambaH743v4 supports VTX
    • MatekF405-Wing supports InvensenseV3 IMUs
    • 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
    • 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)
    • 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

    • 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)
  5. Control and navigation enhancements

    • AutoTune of attitude control yaw D gain (set AUTOTUNE_AXES=8)
    • DO_SET_ROI_NONE command turns off ROI
    • 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 support via lua script in quadplanes
  6. 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
  7. Camera and gimbal enhancements

    • BMMCC support included in Servo driver
    • DJI RS2/RS3-Pro gimbal support
    • Dual camera support (see CAM2_TYPE)
    • Gimbal/Mount2 can be moved to retracted or neutral position
    • Gremsy ZIO support
    • Paramters renamed and rescaled
      i) CAM_TRIGG_TYPE renamed to CAM1_TYPE and options have changed
      ii) CAM_DURATION renamed to CAM1_DURATION and scaled in seconds
      iv) CAM_MIN_INTERVAL renamed to CAM1_INTRVAL_MIN and scaled in seconds
      v) CAM_TRIGG_DIST renamed to CAMx_TRIGG_DIST and accepts fractional values
    • RunCam2 4k support
    • ViewPro camera gimbal support
  8. Logging changes

    • BARO msg includes 3-axis dynamic pressure useful for baro compensation of wind estimate
    • 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
  9. Scripting enhancements

    • 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
  10. 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
    • RichenPower generator can be included/excluded
    • RC SRXL protocol can be excluded
    • SIRF GPSs can be included/excluded
  11. Safety related enhancements and fixes

    • “EK3 sources require RangeFinder” pre-arm check fix when user only sets up 2nd rangefinder (e.g. 1st is disabled)
    • 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)
  12. 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)
    • MAVFTP supports file renaming
    • MAVLink in-progress reply to some requests for calibration from GCS
  13. 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)
    • DisplayPort OSD screen reliability improvement on heavily loaded OSDs especially F4 boards
    • DisplayPort OSD artificial horizon better matches actual horizon
    • EFI Serial MS bug fix to avoid possible infinite loop
    • EKF3 Replay fix when COMPASS_LEARN=3
    • 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)
    • Hardfault avoided if user changes INS_LOG_BAT_CNT while batch sampling running
    • 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
    • RADIO_STATUS messages slow-down feature never completely stops messages from being sent
    • SERVOx_TRIM value output momentarily if SERVOx_FUNCTION is changed from Disabled to RCPassThru, RCIN1, etc. Avoids momentary divide-by-zero
    • Scripting file system open fix
    • Scripting PWM source deletion crash fix
    • 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
    • Terrain offset increased from 15m to 30m (see TERRAIN_OFS_MAX) to reduce chance of “clamping”
    • Throttle notch FFT tuning param fix
  14. 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
  15. Plane specific changes

    • new aerobatics scripting system with flexible schedules
    • added plane-3d SITL model
    • added quadplane landing abort AUX switch
    • added TKOFF_GND_PITCH for taildragger takeoff
    • new ACRO_LOCKING=2 mode for quaternion locking with yaw rate controller
    • allow yaw rate autotune in modes other than AUTOTUNE
    • use a cone for QRTL climb close to home
    • added Y4 VTOL config for quadplanes
    • added throttle scaling for vectored yaw
    • added turn corrdination to yaw AUTOTUNE
    • added Q_OPTION for motor tilt when disarmed in fixed wing modes

Happy flying!


Looks good, will give it a go.

Few typos in the changelog - UAVCAN/DroneCAN - Quadlane

Whats the behaviour of landing abort on aux switch?

1 Like

The landing abort only works in AUTO landings on quadplanes. When activated the plane climbs back up and goes to the next waypoint. One good way to use it is to make the next waypoint be a NAV_RETURN_TO_LAUNCH and have a DO_LAND_START setup with RTL_AUTOLAND=2, in which case the abort starts the whole landing sequence again after climbing back up to the approach altitude.

1 Like

@tridge actually Plane autolanding abort switch works on Fixed Wing autoland approaches also…wiki documentation will be merged for 4.4 this weekend and includes this

1 Like

Thanks to you and the other devs continuous hard work, its very much appreciated.

Hey all,

I’m still a little naïve when it comes to ArduPilot, navigating code through GitHub, and the discourse. I have been following the request to Improve TECS Height and Speed Accuracy #22191 and was not certain whether these changes were included in Beta 1 or would be introduced in upcoming Beta releases. Any clarification would be greatly appreciated, thanks in advance!

those changes are in this release. It has resulted in much better landing accuracy for fixed wing landings in my tests

1 Like

I flew 1 flights yesterday with 4.4.0 beta 1. Generally good.

[Deleted - turns out I didn’t have 4.4.0 on this plane when I flew]

I have an airspeed sensor, but it was disabled (re-calibrating) for both of these flights.

Flight 3. Glaster, Fixed Wing, Pixhawk 1-1M. All FBWA just stuffing around having fun. It was quite windy for this plane which is very light. No issues. Log: Dropbox - log_113_2023-4-24-20-31-20.bin - Simplify your life


No problems with 4.4.0 beta 1 on a quadplane, a conventional plane and a delta-wing (2 x Mateksys H754 and 1 x F405 Wing) Modes: Auto (Mission), Autostart, Fbwa, Cruise, Manual, Loiter.

Thanks to all developers and contributors.



[deleted- I didn’t actually have 4.4.0 on the plane]

I think I’ve found a problem. With 4.4.0 beta 1, I’m not getting any battery telemetry.
This is my Binary running on the Qio-Tek Zealot H743, with standard PDB.
Same plane, everything the same, I rolled back to 4.3.5 and I get battery.

Here is a log with 4.4.0 beta 1. There is not even a BAT section in the log.

Here is the exact same plane a few days ago with 4.3.5.

I armed on the bench after downgrading from 4.4.0 beta1 to 4.3.5. This is the log:

Then I installed 4.4.0 beta 1 again and armed on the bench. Here is that log.

Notice the battery Icon is missing.

I do NOT see the same problem on my Pixhawk 1.1M.

The flight controller seems to be missing a number of BATT_ parameters, specifically:

So that the QGroundControl Power tab doesn’t populate correctly when Power Sensor = “Other” is selected.

So I went into the Battery Monitory settings on Mission Planner and simply entered an “amps per volt” value and now all these parameters have appeared. But I rolled back to 4.3.5 and they all disappeared.

Hi Tim,

I just looked into the first log_133_2023-5-2-19-19-40.bin, there BATT_MONITOR is at 0 , so it is clear that nothing was logged or displayed.


Yes but why is it 0? I did NOTHING except flash 4.4.0!!!
If you look at the 4.3.5 log it is set to 4.

If I flash back to 4.3.5 BATT_MONITOR changes to 4.
If I flash 4.4.0 BATT_MONITOR changes to 0.

1 Like

I’m having trouble downloading missions on 4.4.0 beta 1. On QGroundControl I get the error “Mission Transfer failed: Unspecified error”. Sometimes the mission succeeds but fence fails. It doesn’t seem to be a problem with Mission Planner.

This happens on the Qio-Tek Zealot H743 and Pixhawk 1.1M directly connected using USB.

I tested the same Zealot H743 after rolling back to 4.3.5 and the problem goes away.

Solved: Updated to the latest (2023-05-03) Daily Build of QGroundControl and the problem went away.

Matek F765 Wing / Arduplane
GPS&Compsss > Matek M9N 5883

With 4.2.2 No problem

After upgrading from 4.2.2 to 4.3.5 the following error appeared:
PreArm gps 1 failing configuration checks

I decided to upgrade to 4.4.0-beta1 and then a new error has been added:
PreArm GPS 1 failing configuration checks
PreArm: AHRS: Not using the configured AHRS type

1 Like

May I ask if you are using the GPS of the M9N.

This is my GPS:

I have the same GPS problem, I also use M9N.

My quadplane(vtol) crashed because front right motor stopped working instantly during landing phase(pos1). However, I encountered this error twice before, in plane 4.2 and 4.1. I think it is not about arduplane version but about esc or power modules. If anyone has experience about this matter, please share with me.

Looking forward to the update of the official version 4.4.