T-Motor H7 Mini - Config Error: INS: unable to initialise driver

Hi everyone
I’ve been using Ardupilot for quite a while and always had a great experience. However recently I bought a T-Motor H7 Mini FC to learn more advanced features like LUA scripting.

I flashed the firmware with STM32 Cube programmer and successfully connected to the board using mission planner. Unfortunately just after that I got the Config Error: INS: unable to initialise driver communicate.

2024-08-03 23_49_32-Filmy i TV

That was the first time I ever got such a message. The FC is brand new, it’s the BMI270 version and it worked perfectly fine in Betaflight. I tried flashing different versions from 4.4 to 4.6 and it’s always the same error. Any ideas how to fix it?

Check FC compatible list, I didn’t find T-Motor H7 Mini, maybe you can contact manufacture for custom build binary and support.

https://ardupilot.org/copter/docs/common-autopilots.html

It is supported, here are the links:

https://firmware.ardupilot.org/Copter/stable-4.5.5/TMotorH743/

Use 4.5.5 (or 4.6-dev as a last resort).

Update the bootloader while connected via Mission Planner. Not sure that will fix it, but it can’t hurt.

@andyp1per did the initial port for this board. He may have some insight.

Seeing as it has no SD card and only black box flash, scripting will be a challenge. I don’t think we support scripting yet on boards of this design (without embedding the script in a custom firmware build…which is painful).

Thanks for the answer, I just tried updating the bootloader and the error still persists.

Does it really not support scripting? I think I was able to build the software for this board with LUA and obstacle avoidance enabled. That’s why I switched from F4 to H7 in the first place. I want to show my audience some of the more advanced Ardupilot features that were simply absent in F405 FCs due to memory size limitations.

Without an SD card, you must embed scripts into a custom firmware build. See here:

https://ardupilot.org/dev/docs/common-oem-customizations.html#

That’s a bummer, but thanks for letting me know. However I won’t be able to test anything unless I get this FC working.

Wrong Flight Controller.

Oh yes, I found the PR, T-Motor H743 Mini by andyp1per · Pull Request #24854 · ArduPilot/ardupilot · GitHub

But it’s NOT on the wiki list :frowning:

Plenty of info here: Tmotor H743

Nothing remarkable about this flight controller.

No, nothing special. But frustrating for a user to buy it, load the correct firmware, and immediately run into an issue that looks like the wrong firmware is loaded.

@Basement_Creations Did you flash arducopter_with_bl.hex, exactly the binary from this link? Maybe try again to avoid potential checksum issues caused by network transmission.

Just use binary from official website(Currently, it’s 4.5.5) first to make sure the hardware is good to go.

It’s a while since I did this port. The most likely explanation is that they have changed the IMU. Do the docs indicate what the IMU is? It is supposed to be dual IMU - BMI270 and ICM42688

It seems ICM42688P only.
Maybe they have new layout or just connecting BMI270 to SPI1 not SPI4.
Something related to their PCB versions?

I think it need to confirm with manufacturer.

https://store.tmotor.com/goods-1295-H7+MINI.html

From at least one retailer and T-motors own online store you can order it with either a Bmi270 or a ICM42688. Not both. Unless they have a 3rd version.

If you need a 20x20 board and standard Lua scripting buy a Matek H743 Mini.

Yeah seems likely. The version I have does work but I can’t remember which IMU it has

This Flight Controller can only have one gyro - BMI270 or ICM42688



I have ordered the BMI270 version, I even checked it in the Betaflight CLI


From reading the documentation on Github I have concluded that the Ardupilot will work on both versions, so I picked the BMI270

Now I have already tried flashing it with different firmwares, the one suggested above just results in the same error

I also tried flashing the Plane firmware, same story again

Is there anything I can do to make this FC work? Maybe check the pinout in Betaflight CLI or contact the T-motor?

EDIT: Disregard. hwdef looks to have been intended to support both IMU types.

AH…

BMI270 is connected to SPIx(most probably SPI1) not SPI4. That might be a code maintain issue for T-Motor H7 Mini, it should be consistent with repo (connecting to SPI4 as previously R&D planned)

EDIT: It might be due to IMU chip shortage. BMI270/ICM42688P pin2pin compatible.

Here is a build with BMI270 on SPI1 please try it. Orientation might not be right.

arducopter.zip (840.9 KB)