Copter-4.0.4-rc2 available for beta testing

Copter-4.0.4-rc2 has just been released for beta testing and can be installed with MP or QGC’s beta firmware link.

The changes vs 4.0.4-rc1 are listed in the ReleaseNotes and also copied below.

  1. Bug Fixes:
    a) Watchdog monitor memory increased (may have caused watchdog reset)
    b) Compass ordering fix when COMPASS_PRIOx_ID is 0
    c) Hex CubeOrange 2nd current sensor pin correction
    d) Hott telemetry fix
    e) Lightware I2C driver fix when out-of-range
    f) MatekF765-Wing voltage and scaling fixed
    g) MatekH743 baro on I2C2 bus
    h) Proximity (360 lidar) ignore zone fix
  2. Flight controller support:
    a) Bitcraze Crazyflie 2.1
    b) CUAV Nora V1.2
    c) Holybro Pix32v5
    d) mRo Pixracer Pro
  3. Minor enhancements:
    a) Benewake RangeFinder parameter descriptions clarified
    b) Pre-arm check of attitude ignores DCM if multiple EKF cores present

A number of these fixes come from issues raised by Beta testers so we really appreciate the help you give us by flying these beta versions.

All feedback positive or negative is more than welcome. Feel free to post below or create a new thread and prefix the title with “AC4.0.4” (or something similar). Thanks!


I’m running this beta on CubePurple and since it has only one IMU, I thought of enabling scripting. After enabling scripting, it started to get internal error 0x400.
Before scripting used to not enable if there was memory issue. I didn’t expect internal error. :sweat_smile:



Thanks for the report. It looks like the EKF is very very upset. Do you have an onboard log? And did this start as soon as the SCR_ENABLE parameter was set to “1” or does it happen even after a reboot?

My log disarmed was off. Yes. The error was there even after multiple reboots. I think it has to do with something related to scripting. I’m using neopixel LEDs on servo14 and it works fine if i use function=120 to 123. Error pops when i set the function to scripting. i.e, 94 to 107. Yes, It did start as soon as i enabled scripting.

1 Like

Graupner HoTT telemetry works !


@norim, excellent, thanks for the confirmation!

@iampete, not trying to pass the buck but if you have a moment maybe you could test with 4.0.4-rc2 if the neopixel stuff can upset the EKF?

In the vid it looks like scripting had stopped and the servo outputs are not set to to neopixel in the RCout message. So it cant be related to the neopixel output code but something in the setup code. Can you share your script and params I will try and reproduce.

4.0.4 does not detect my compass. An LIS3MDL.
I tried resetting all my parameters to default, but still, not detected.
This is a Kakute f7 mini.

Omnibus nano w/ 5883 is working.

Edit to add a couple details:
Compass enable is 1, enabled
Compass use is 1, enabled
Compass Typemask is 0, all
Nothing is detected in the list of hardware ID’s.
Although on one boot, it was! No other time, though, and I’ve been messing w/ this for hours now.
going back to 4.0.3 always works, so it’s not a loose wire or anything physical.

1 Like

That compass is disabled by HAL_MINIMIZE_FEATURES so I would not expect it to work on 4.0.4


OH, ok… Well, that certainly explains why it doesn’t work.
I didn’t see any mention of such things in the release notes…

This is on a tiny mRo GPS that works very well and there are currently no equivalents. (There’s a matek one that barely works, but nothing good).

Is there any chance this can be added back in, or am I going to need to finally learn to compile on my own?

1 Like

That should be added to the Firmware Limitations Wiki as currently it only says the AK09916 on ICM20948 compass is limited by MINIMIZE_FEATURES.


I don’t think this has ever been enabled by default on 1mb boards

1 Like

I’ve been using this compass for years w/out any issue on 3.* through 4.0.3.

1 Like

It’s the same in 4.0.3:

So no idea why it worked for you.

1 Like

Hm, not sure. Definitely works. Definitely default 4.0.3, and not one of your special firmwares… Just did it yesterday. Broke it w/ 4.0.4, and fixed by going back to the default copter build in MP.

1 Like

On my setup of a Cube Black and Here GPS compass HMC5883 (466441) has no orientation and is not shown as external also AK8963 (263178) has no orientation


1 Like


Do you have logs of 4.0.3 vs 4.0.4-rc2 showing it working on 4.0.3? I wonder if perhaps the difference is that with 4.0.4 you’ve somehow got the 1M limit version of the firmware loaded while with 4.0.3 the full version is being loaded. So the issue may be with which version is being automatically loaded onto the board.


Thanks for the report. Do you have a log so we can see what the actual rotation of those compasses is? I also wonder if this is how it appeared when you first opened the screen or was it after things were moved around?

@meee1 FYI.