Copter-4.4.0-beta1 available for beta testing

Copter-4.4.0-beta1 has been released and can be installed using MP or QGC’s beta release feature. Alternatively it can be directly downloaded from firmware.ardupilot.org.

This is the first beta release which has the highest chance of having bugs of any of our releases so while we think it is generally safe and reliable, please be careful.

The changes vs 4.3.6 are in the release notes and copied below.

  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)
    • Circle moode and Loiter Turns command supports counter-clockwise rotation (set CIRCLE_RATE to negative number)
    • 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 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)
    • 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
    • Manual autorotation support
    • Improved collect to yaw compensation
  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
    • 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
    • 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
  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)
    • 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)
    • 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)
    • Guided mode slow yaw fix
    • 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
    • SingleCopter and CoaxCopter fix to fin centering when using DShot
    • 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
  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

Thanks very much to all the people who have contributed to this release and we are very much looking forward to your feedback!

9 Likes

Wow! thats a lot of work!!!

2 Likes

Very nice! Good job, guys.
I have few questions about AP and new version:

  1. On Build server is Dead Reconig bclocked for 1MB boards like Matek-405? If yes- can I ask unblock it?

  2. Is it possible to use Rangefinder to decrease descent speed near ground when landding in Loiter/PosHold/ AltHold?

  3. We found that copter with payload and without need some different PID’s
    Is it possible to correct them f.e. using Throttle value?

By the way- Using 4.4.0 dev and 4.3.4 we found trouble in Unicore Top 982 Gnss modules.
Output frequency is 1Hz by default.
So copter say “GPS Unhealthy” and make small short diagonal moving in Loiter and PHD.
So you need configure GNSS module using U-Precise programm (Unicore web site domloads).
Note that you need use command line to input all necessary comands. Box changing in Setup-Output config doesn’t work.
I changed all NMEA messages to 0,1 sec and now OK
Don’t forget send “saveconfig” command

Downloaded new firmware and flash went well, test flight few nice… Loiter mode needs a little time to acclimate for a good lock. VTOL_quicktune ran well.

1 Like

Yaapu reports battery 2 error but only one battery is installed,

Yeah there is a bug which I have seen for a while. Alex and I have been discussing but not obvious what is going on.

Think the last build the error went away just to come back? I should test this tho.

Hi!
I have got error “Bad Gyro Health”.
Is it possible to fix it?
I’ve got Matek H743-SLIM V3.
I think, that this is problem in this build.
Maybe i must to change some parameters?

And in PreFlight screen:
Telemetry Signal - 0%. On walksnail googles in osd show also 0%.
But my CRSF works good.
Where i can fix correct signal display?

I removed the micro SD card from the flight computer and the error disappeared.
I’ll be doing a test flight soon.

1 Like

Well I took out a quad that have not flown in over 3-4 years and it flew great. Even tuned the yaw d-term and had no issues. tested a cpl auto missions, guided mode and was playing with the pilot_speed_up and angle_max to get the speeds I want. I must say WOW to be able to take this out of the closet and upload and fly without a lot of updating or reconfiguring was great (I will admit that I had kept up with most major firmware updates just never got out to fly) thanks ya’ll really great job. S-curves are a beauty very nice its been a long while since I could make it to the ranch and really have some fun and not worry about anything or anyone around! I have attached 3 logs from this test which was 2 batteries (old not that great ones), this quad was pretty much my copy of a M100 hahaha even has the M100 motor boom on it and a very close replica of the M100 body as well just with better brains. It actually has a what I think is a radiolink pixhawk clone as I use the 1M firmware. I have 3 other quads 5" and two 6" that I’ll throw this beta on and fly today as well. Oppps I also forgot to reset my initial setup parameters once I learned hover. The log labeled 13in_during_yaw-d-tune.bin has the successful yaw d-term tune and some post tune flying after tune was saved. the other logs are all pre tune flying.

1 Like

@406FPV,

Thanks very much for testing and reporting back!

Hi all
I maked an custom build on Beta Build Server fot Matek-405 TE.
Then check all params in Config
I don’t know what’s wrong but copter wom’t fly well and crash.
Unfortunately logs not saved.
Copter was stable but tryed to moove in random directions even in althold.
Is everything ok with Beta Build Server?

Hi @rmackay9 ,
Do you have any information about Gremsy Pixy WE, is it supported in 4.4?
I have already reported that it doesn’t work with 4.3 firmware here:

Thank you!

@rmackay9
I have had some issues with the yaw-d term autotune on my smaller quads adding in some oscillations while doing autotune that I am not sure how or why. had no issues on the larger 13" prop drone yesterday. The one that I flew today and did d-term autotune on was a 5" quad with a pixracer(photo attached). I think I have it tuned ok might be able to get the filters tuned a bit better but in general it flies very well. The logs for the 5" and 6" are here and the name of each should be pretty self explanatory. I also had this oscillation happen on another 6" quad but I may have to dig in the logs to find the correct ones but it is exactly as this 5" one did, got good GPS lock and initiated the yaw-d term autotune from loiter flight mode everything goes fine until later on then some oscillations start to happen mid tune and I aborted the tune. I have also added in 3 flight logs to the above folder for the 6in quad. they are labeled 5in and 6in. I have another 6in quad that is also what I think tuned pretty well that I can do some testing on as well.




I am currently having discussions with Leonard about the correct procedure to tune yaw D as I have a quad where it doesn’t work at all. Still investigating …

3 Likes

Here is my log. Maybe he can help identify and fix the error.

I experienced some issues with it on a quad with 11” tri-blade props. The tune is really good so far as I can tell but I was curious to try the new routine. It would eventually begin oscillating after a few Yaw-D iterations to the point where I had to cancel out and land. Very repeatable. This was a few weeks ago on a dev build, but I don’t think the Yaw-D code changed since then.

I have since broken a couple of props doing stupid human tricks, and the logs from those problematic flights are buried someplace. I can provide logs once it’s airborne again (soon).

I decided to just fly that other quad today and get some magfit logs to tighten everything up and ran into an odd internal error 0x800 and some WDG issues. I was trying to solve a mavFTP failed to initialize and then ran into this problem not sure if its 4.4.0 beta1 related as I have 2 other pixracers from mrobotics not having this issue. I have uploaded a crash_dump and a photo of the odd errors. The other 2 quads are pretty much identical other than prop size.
crash_dump.bin (224.8 KB)