Plane 4.3 stable release

I’m delighted to announce the ArduPilot plane 4.3.0 stable release! This is a major release and is the first major release on our new 6 month release cycle.
If you have been following the 4.3.0beta releases then you will know there have been a lot of changes from the last 4.2 release. Since 4.3.0beta3 there have been only 2 changes:

  • added 1M and 2M flash warning checks for for fmuv2, fmuv3 and Pixhawk1-1M firmwares
  • added support for multi-byte i2c reads in scripting

Since 4.2.x there are a huge number of changes, but these are the key ones:

  • fixed BRD_SAFETY_MASK for enabling outputs when safety on
  • fixed persistence of mapping of CAN airspeed sensors to instances
  • fixed precision of NMEA serial output function
  • added report of “Engine Running” when using ICE
  • fixed handling of defaults.parm files with lines over 100 chars
  • fixed handling of defaults.parm files with no newline on last line
  • fixed possible divide by zero when changing to GUIDED on quadplanes
  • fixes for VideoTX, fixing buffer overrun and tramp handling
  • fixed spurious error about sending RPM when RPM disabled
  • fixed an EKF3 lane switch issue that can cause incorrect height with dual GPS
  • fixed mission cmd to mission int initialisation error
  • fixed mission jump tracking init on startup
  • fixed OSD view roll/pitch error for tailsitters
  • added SkystarsH7HD-bdshot
  • fixed SkystarsH7HD VTX control
  • reduced memory usage on MatekF405-CAN board
  • disable SLCAN when armed to reduce CPU load
  • enable CAN battery mon on CUAV V6X by default
  • added arming check for Q_M_SPIN_MIN value too high
  • fixed reporting of RPM from harmonic notch
  • improved handling of airspeed errors and airspeed auto disable
  • fixed SERVO_AUTO_TRIM for multiple outputs of same type
  • fixed auto baud rate detection on SBF/GSOF/NOVA GPS
  • increased max board name length for mavlink statustext to 23
  • fixed incorrect disable of notches for non-throttle notch
  • added notch filter slew limit to reduce notch errors
  • added ARMING_OPTIONS to control display of pre-arm errors
  • several OSD fixes for params, font and resolution
  • support PWM type transmission for CAN PWM output
  • support Currawong ECU as EFI backend
  • support lua scripts for EFI backends
  • implement SkyPower and HFE CAN EFI lua scripts
  • improved speed of log download with dataflash block backends
  • disabled all GPS drivers except uBlox and NMEA on Pixhawk1-1M to save flash
  • disabled all GPS drivers except uBlox on MatekF405-bdshot and omnibusf4pro-bdshot
  • fixed FFT indexing bug
  • added USART2 for AIRLink
  • allow reset to default airspeed using mission item DO_CHANGE_SPEED
  • added new boards AtomRCF405, KakuteH7Mini-Nand, SkystarsH7HD
  • added bi-directional dshot for several new boards
  • EK3_GPS_VACC_MAX threshold to control when GPS altitude is used as alt source
  • EKF ring buffer fix for slow sensor updates
  • EKF3 source set change captured in replay logs
  • numerous gimbal support improvements
  • improved RemoteId support
  • SecureBoot support with remote update of secure boot public keys
  • crash_dump.bin file saved to SD Card on startup (includes details re cause of software failures)
  • several new pre-arm checks (AHRS type, scripts, terrain)
  • numerous scripting improvements
  • fixed scripting restart leaking memory
  • Benewake H30 radar support
  • BMI270 IMU performance improvements
  • Logging pause with auxiliary switch
  • TeraRanger Neo rangefinder support
  • support for both AMSL and ellipsoid height in most GPS drivers
  • Custom controller support
  • parameter defaults sent with param FTP and onboard logs
  • Sim on Hardware allows simulator to run on autopilot
  • added Q_LAND_ALTCHG parameter
  • added climb before QRTL for safer QRTL from low altitudes
  • added support for logging pre and post filtered FFT data
  • support triple-notch harmonic notch filter
  • support up to 32 actuators (with SERVO_32_ENABLE parameter)
  • support EFI input over DroneCAN
  • by default only run notch filter on first IMU
  • added ESC_TLM_MAV_OFS parameter for mapping ESCs to MAVLink ESC telemetry
  • added Q_NAVALT_MIN for quadplane takeoff
  • added ICE redline governor
  • added in-flight FFT notch tuning option
  • added Sagetech ADSB support
  • added INS_HNTCH_FM_RAT parameter for handling under-hover throttle
  • improvements to filtering on ICM42xxx IMUs
  • added option parameters to NAV_VTOL_LAND mission item for fixed wing approach

A huge thank you to everyone who contributed to the 4.3.0 release! We have had a lot of testers and a lot of input from ArduPilot partner companies, both in terms of testing and suggestions for new features.
A big thank you also to everyone who has contributed to the documentation which has involved a lot of work. Special thanks to @hwurzburg for his tireless work on the wiki!
There are a couple of things in the pipeline for later 4.3.x releases which we are still testing, but we are very happy with how 4.3.0 has turned out.
Happy flying!


This is great. I look forward to testing this on the MFE fighter.


To Tridge and the Devs, many thanks for your work you do.
Nick in the UK.

1 Like

how did improve speed of log download with dataflash block backends in c++ code. Where should I look at in code?

When the synthetic airspeed is used, the data flash log does not record the airspeed. I hope that in the next version, the synthetic airspeed can be recorded in the data flash log, because the synthetic airspeed is now very accurate, and I do not need the airspeed sensor for a long time.

Isn’t the mentioned speed the speed of downloading data from dataflash?

in the CTUN As,some one have tell me that

Hi, just installed 4.3.0 on Pixhawk v2 and I received “AHRS not configured for AHRS type”? Went back to 4.2.0 and it went away.
I understand its hardly a proper test but just thought I’d mention it. Further investigation will follow.

yes ı hve same error " AHRS not configured for AHRS type”? my fc is cuav v5+ please help us??

@NickHall @sametaytim for both of you we need a log. Set LOG_DISARMED=1 and get a log file showing the issue. The tlog from the GCS will help too

thanks for reply, for now ı use 4.2.3 fw, but ı try 4.3 and ı will send logs for solution

Can somebody share Skystars H7 HD board mapping?

Does this mean tramp vtx will be supported.? I have tried but didn’t work still. I guess I missed something. Can you tell what is keypoint to set up? @tridge
Thank you so much.

1 Like

yes, but I’ll defer to @andyp1per on how to set it up, I don’t use it myself

1 Like

Yes it works fine - at least on the two tramp VTX’s I have here. Setup should be a matter of setting up the serial port (SERIALn_PROTOCOL=44) and enabling VTX support (VTX_ENABLE=1)

@andyp1per thanks for your reply.

I have tried as following setting by 2 vtx transmitter. the OSD of vtx power was flashing(I guess it is not flashing when it is working)
Matek F405wing with ardupilot 4.3 stable flashed
|SERIAL4_BAUD|4| either |115|
|SERIAL4_OPTIONS|4| either |0|
|SERIAL4_PROTOCOL|44| (37 is smart_audio, 44 is IRC tramp)

|VTX_OPTIONS|8|either |0|

I used potentiometer switch and the power does change numbers on the OSD while it is nothing change on the VTX transmitter.

Is VTX_ENABLE=1 set? Is the VTX connected to the TX pin of the UART? You need SERIAL4_OPTIONS=4

1 Like

@andyp1per yes VTX_ENABLE=1. The other vtx setting won’t show otherwise. plus SERIAL4_OPTIONS=4 and 0 and 68 none of them working. any other possible setting still missing?

I can send you a debug build if you would like that prints out tramp info.

@andyp1per Thanks for that, But I don’t know how to proceed. Please tell me how to do so.