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

I just tried it, still the same error

That is a count of SPI devices, not an indicator of which bus they are on.

Yes, it’s count. The IMU mounting location might be SPI1 (I check the BMI270 and ICM42688P, they are pin2pin compatible).

Is it possible to probe TDK and Bosch IMU instances on the same SPI bus in sequence with macro HAL_INS_PROBE_LIST?

Can you load betaflight and run the cli command “dump hardware” and then post the output

1 Like

Sure, here it is:

# dump hardware

# version
# Betaflight / STM32H743 (SH74) 4.5.1 Aug  3 2024 / 17:03:42 (77d01ba3b) MSP API: 1.46
# config rev: ad0057e

# start the command batch
batch start

board_name TMH7
manufacturer_id TMTR

# resources
resource BEEPER 1 E03
resource MOTOR 1 A00
resource MOTOR 2 A01
resource MOTOR 3 A02
resource MOTOR 4 A03
resource MOTOR 5 B00
resource MOTOR 6 B01
resource MOTOR 7 C08
resource MOTOR 8 C09
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 D05
resource SERIAL_TX 3 D08
resource SERIAL_TX 4 D01
resource SERIAL_TX 5 C12
resource SERIAL_TX 6 C06
resource SERIAL_TX 7 E08
resource SERIAL_TX 8 E01
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 D06
resource SERIAL_RX 3 D09
resource SERIAL_RX 4 D00
resource SERIAL_RX 5 D02
resource SERIAL_RX 6 C07
resource SERIAL_RX 7 E07
resource SERIAL_RX 8 E00
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SOFTSERIAL_TX 1 NONE
resource SOFTSERIAL_TX 2 NONE
resource SOFTSERIAL_RX 1 NONE
resource SOFTSERIAL_RX 2 NONE
resource LPUART_TX 1 NONE
resource LPUART_RX 1 NONE
resource I2C_SCL 1 B06
resource I2C_SCL 2 NONE
resource I2C_SCL 3 NONE
resource I2C_SCL 4 NONE
resource I2C_SDA 1 B07
resource I2C_SDA 2 NONE
resource I2C_SDA 3 NONE
resource I2C_SDA 4 NONE
resource LED 1 NONE
resource LED 2 E05
resource LED 3 E04
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_SCK 3 C10
resource SPI_SCK 4 E12
resource SPI_SCK 5 NONE
resource SPI_SCK 6 NONE
resource SPI_SDI 1 A06
resource SPI_SDI 2 B14
resource SPI_SDI 3 C11
resource SPI_SDI 4 E13
resource SPI_SDI 5 NONE
resource SPI_SDI 6 NONE
resource SPI_SDO 1 A07
resource SPI_SDO 2 B15
resource SPI_SDO 3 B02
resource SPI_SDO 4 E14
resource SPI_SDO 5 NONE
resource SPI_SDO 6 NONE
resource ESCSERIAL 1 NONE
resource CAMERA_CONTROL 1 B08
resource ADC_BATT 1 C01
resource ADC_RSSI 1 C02
resource ADC_CURR 1 C03
resource ADC_EXT 1 C00
resource PINIO 1 NONE
resource PINIO 2 NONE
resource PINIO 3 NONE
resource PINIO 4 NONE
resource USB_MSC_PIN 1 NONE
resource FLASH_CS 1 A15
resource GYRO_EXTI 1 C04
resource GYRO_EXTI 2 E15
resource GYRO_CS 1 A04
resource GYRO_CS 2 E11
resource USB_DETECT 1 NONE
resource PULLUP 1 NONE
resource PULLUP 2 NONE
resource PULLUP 3 NONE
resource PULLUP 4 NONE
resource PULLDOWN 1 NONE
resource PULLDOWN 2 NONE
resource PULLDOWN 3 NONE
resource PULLDOWN 4 NONE

# timer
timer A08 AF1
# pin A08: TIM1 CH1 (AF1)
timer B08 AF1
# pin B08: TIM16 CH1 (AF1)
timer B09 AF1
# pin B09: TIM17 CH1 (AF1)
timer A00 AF2
# pin A00: TIM5 CH1 (AF2)
timer A01 AF2
# pin A01: TIM5 CH2 (AF2)
timer A02 AF2
# pin A02: TIM5 CH3 (AF2)
timer A03 AF2
# pin A03: TIM5 CH4 (AF2)
timer B00 AF2
# pin B00: TIM3 CH3 (AF2)
timer B01 AF2
# pin B01: TIM3 CH4 (AF2)
timer C08 AF3
# pin C08: TIM8 CH3 (AF3)
timer C09 AF3
# pin C09: TIM8 CH4 (AF3)

# dma
dma SPI_SDO 1 NONE
dma SPI_SDO 2 NONE
dma SPI_SDO 3 NONE
dma SPI_SDO 4 NONE
dma SPI_SDO 5 NONE
dma SPI_SDO 6 NONE
dma SPI_SDI 1 NONE
dma SPI_SDI 2 NONE
dma SPI_SDI 3 NONE
dma SPI_SDI 4 NONE
dma SPI_SDI 5 NONE
dma SPI_SDI 6 NONE
dma SPI_TX 1 NONE
dma SPI_TX 2 NONE
dma SPI_TX 3 NONE
dma SPI_TX 4 NONE
dma SPI_TX 5 NONE
dma SPI_TX 6 NONE
dma SPI_RX 1 NONE
dma SPI_RX 2 NONE
dma SPI_RX 3 NONE
dma SPI_RX 4 NONE
dma SPI_RX 5 NONE
dma SPI_RX 6 NONE
dma ADC 1 8
# ADC 1: DMA2 Stream 0 Request 9
dma ADC 2 NONE
dma ADC 3 9
# ADC 3: DMA2 Stream 1 Request 115
dma UART_TX 1 NONE
dma UART_TX 2 NONE
dma UART_TX 3 NONE
dma UART_TX 4 NONE
dma UART_TX 5 NONE
dma UART_TX 6 NONE
dma UART_TX 7 NONE
dma UART_TX 8 NONE
dma UART_TX 9 NONE
dma UART_TX 10 NONE
dma UART_TX 11 NONE
dma UART_RX 1 NONE
dma UART_RX 2 NONE
dma UART_RX 3 NONE
dma UART_RX 4 NONE
dma UART_RX 5 NONE
dma UART_RX 6 NONE
dma UART_RX 7 NONE
dma UART_RX 8 NONE
dma UART_RX 9 NONE
dma UART_RX 10 NONE
dma UART_RX 11 NONE
dma TIMUP 1 0
# TIMUP 1: DMA1 Stream 0 Request 15
dma TIMUP 2 NONE
dma TIMUP 3 0
# TIMUP 3: DMA1 Stream 0 Request 27
dma TIMUP 4 NONE
dma TIMUP 5 0
# TIMUP 5: DMA1 Stream 0 Request 59
dma TIMUP 6 NONE
dma TIMUP 7 NONE
dma TIMUP 8 0
# TIMUP 8: DMA1 Stream 0 Request 51
dma TIMUP 12 NONE
dma TIMUP 13 NONE
dma TIMUP 14 NONE
dma TIMUP 15 NONE
dma TIMUP 16 NONE
dma TIMUP 17 NONE
dma TIMUP 0 NONE
dma TIMUP 0 NONE
dma TIMUP 0 NONE
dma pin A08 0
# pin A08: DMA1 Stream 0 Request 11
dma pin B08 0
# pin B08: DMA1 Stream 0 Request 109
dma pin B09 0
# pin B09: DMA1 Stream 0 Request 111
dma pin A00 0
# pin A00: DMA1 Stream 0 Request 55
dma pin A01 0
# pin A01: DMA1 Stream 0 Request 56
dma pin A02 0
# pin A02: DMA1 Stream 0 Request 57
dma pin A03 0
# pin A03: DMA1 Stream 0 Request 58
dma pin B00 0
# pin B00: DMA1 Stream 0 Request 25
dma pin B01 0
# pin B01: DMA1 Stream 0 Request 26
dma pin C08 0
# pin C08: DMA1 Stream 0 Request 49
dma pin C09 0
# pin C09: DMA1 Stream 0 Request 50

# feature
feature -RX_PPM
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -RANGEFINDER
feature -TELEMETRY
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -OSD
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -RX_SPI
feature -ESC_SENSOR
feature -ANTI_GRAVITY
feature RX_SERIAL
feature TELEMETRY
feature OSD
feature AIRMODE
feature ANTI_GRAVITY

# serial
serial 20 1 115200 57600 0 115200
serial 0 0 115200 57600 0 115200
serial 1 0 115200 57600 0 115200
serial 2 0 115200 57600 0 115200
serial 3 0 115200 57600 0 115200
serial 4 0 115200 57600 0 115200
serial 5 0 115200 57600 0 115200
serial 6 0 115200 57600 0 115200
serial 7 0 115200 57600 0 115200

# master
set gyro_to_use = FIRST
set msp_override_failsafe = OFF
set adc_device = 1
set blackbox_device = SPIFLASH
set motor_kv = 1960
set dshot_burst = OFF
set dshot_bitbang = AUTO
set dshot_bitbang_timer = AUTO
set current_meter = ADC
set battery_meter = ADC
set vbat_scale = 110
set ibata_scale = 200
set beeper_inversion = ON
set beeper_od = OFF
set beeper_frequency = 0
set led_inversion = 0
set pinio_config = 1,1,1,1
set pinio_box = 255,255,255,255
set usb_msc_pin_pullup = ON
set flash_spi_bus = 3
set gyro_1_bustype = SPI
set gyro_1_spibus = 1
set gyro_1_i2cBus = 0
set gyro_1_i2c_address = 0
set gyro_1_sensor_align = CW270
set gyro_1_align_roll = 0
set gyro_1_align_pitch = 0
set gyro_1_align_yaw = 2700
set gyro_2_bustype = SPI
set gyro_2_spibus = 4
set gyro_2_i2cBus = 0
set gyro_2_i2c_address = 0
set gyro_2_sensor_align = CW270
set gyro_2_align_roll = 0
set gyro_2_align_pitch = 0
set gyro_2_align_yaw = 2700
set i2c1_pullup = OFF
set i2c1_clockspeed_khz = 800
set i2c2_pullup = OFF
set i2c2_clockspeed_khz = 800
set i2c3_pullup = OFF
set i2c3_clockspeed_khz = 800
set i2c4_pullup = OFF
set i2c4_clockspeed_khz = 800
set scheduler_relax_rx = 25
set scheduler_relax_osd = 25
set box_user_1_name = -
set box_user_2_name = -
set box_user_3_name = -
set box_user_4_name = -

# end the command batch
batch end

arducopter.zip (841.0 KB)

BF config looks like what I already had. One last roll of the die, after this I am out of ideas

It works! Thanks a lot! What changes did you make?

Can you also change the firmware for plane and rover as well? I was hoping to try many different vehicles with this FC.

Can you can you check the orientation? The HUD needs to move the right way for roll and pitch

I had to change the AHRS_ORIENTATION parameter to Yaw270 to make the hud align with the arrow on the FC.

Ok so we need to get the base orientation right. I am a bit suspicious that its only yaw 270 - note that if you roll left the horizon should roll right.

Here is a new build with the standard rotation that other boards use. Please reset the ahrs orientation and let me know if it works.

arducopter.zip (841.0 KB)

Sorry for the wait, just tested this new build. It’s showing opposite tilt directions (AHRS was set to 0)

Here is a video

Ok, fingers crossed with this one

arducopter.zip (841.0 KB)

1 Like

This one works correctly!
So, will you be able to also create firmware for plane and rover?

1 Like
2 Likes

In case it’s unclear, as soon as Andy’s fix is merged, all subsequent releases of ArduPilot firmware across all branches will include it.

1 Like

It’s now merged - should make its way into 4.5 eventually

2 Likes

Alright, thank you all for the help