I’m experiencing a serious issue with my Pixhawk 6C Mini flight controller. It seems that none of the onboard IMU sensors are being detected, and sensor calibration fails in QGroundControl (QGC).
Hardware: Pixhawk 6C Mini
Firmware: PX4 v1.15.4
Platform: win11 QGC 5.0.6
Issue Summary:
I’m encountering a critical failure where all primary onboard sensors (gyro, accelerometer, and magnetometer) are not detected after a failed calibration and SD card corruption. The system reports:
Preflight Fail: Gyro Sensor 0 missing
Preflight Fail: Accel Sensor 0 missing
Preflight Fail: ekf2 missing data
Compass 0 uncalibrated
What Happened:
- Initial setup: I followed the sensor calibration steps but only completed the compass calibration. Gyro and accelerometer were not calibrated.
- Motor test step: I tried to unlock the vehicle using the RC transmitter (via QGC), but arming failed due to incomplete sensor calibration.
- Back to calibration: I attempted to finish the remaining calibration (gyro and accel). During this, QGC lost connection with the autopilot.
- Reconnect: After reconnecting, all sensors began throwing errors. Additionally, I saw
Missing FMU SD card
message. - SD card failure: The original SD card became completely unreadable (couldn’t be accessed even via a PC card reader).
- Replacement: I formatted another FAT32 SD card and flashed PX4 firmware again.
- Now: The system boots but still reports the same sensor errors, and ICM42688P driver fails to start with
no device on bus
.
Additional Observations:
top
shows no active sensor driver thread.- No sensor data from
listener sensor_combined
. - Tried multiple reboots and fresh firmware flashes — no change.
- On my Windows 11 system, the COM3 port connection is intermittently unstable — the device sometimes fails to appear in Device Manager. Only the default drivers from the QGC installation were used.
The response of ‘dmesg’ :
HW arch: PX4_FMU_V6C
HW type: V6C002001
HW version: 0x002
HW revision: 0x001
PX4 git-hash: 99c40407ffd7ac184e2d7b4b293f36f10fe561ef
PX4 version: Release 1.15.4 (17761535)
OS: NuttX
OS version: Release 11.0.0 (184549631)
OS git-hash: 5d74bc138955e6f010a38e0f87f34e9a9019aecc
Build datetime: Mar 20 2025 23:02:15
Build uri: localhost
Build variant: default
Toolchain: GNU GCC, 9.3.1 20200408 (release)
PX4GUID: 000600000000313138373333510200220035
MCU: STM32H7[4|5]xxx, rev. V
INFO [param] selected parameter default file /fs/mtd_params
INFO [param] importing from '/fs/mtd_params'
INFO [parameters] BSON document size 681 bytes, decoded 681 bytes (INT32:13, FLOAT:25)
INFO [param] selected parameter backup file /fs/microsd/parameters_backup.bson
Board architecture defaults: /etc/init.d/rc.board_arch_defaults
Board defaults: /etc/init.d/rc.board_defaults
Loading airframe: /etc/init.d/airframes/4050_generic_250
INFO [dataman] data manager file '/fs/microsd/dataman' size is 68528 bytes
INFO [px4io] IO FW CRC match
Board sensors: /etc/init.d/rc.board_sensors
ERROR [SPI_I2C] bmi055: no instance started (no device on bus?)
ERROR [SPI_I2C] bmi055: no instance started (no device on bus?)
ERROR [SPI_I2C] icm42688p: no instance started (no device on bus?)
ms5611 #0 on I2C bus 4 (external) address 0x77
ist8310 #0 on I2C bus 4 (external) address 0xC
WARN [SPI_I2C] ist8310: no instance started (no device on bus?)
ekf2 [714:237]
Starting Main GPS on /dev/ttyS0
Starting MAVLink on /dev/ttyS5
ERROR [dataman_client] readSync failed! status=3, item=8, index=0, length=40
WARN [mavlink] offboard mission init failed
INFO [mavlink] mode: Normal, data rate: 1200 B/s on /dev/ttyS5 @ 57600B
INFO [cdcacm_autostart] Starting CDC/ACM autostart
Addons script: /fs/microsd/etc/extras.txt
WARN [mavlink] mavlink for device /dev/ttyACM0 is not running
WARN [mavlink] mavlink for device /dev/ttyACM0 is not running
INFO [logger] logger started (mode=all)
INFO [uavcan] Node ID 1, bitrate 1000000
NuttShell (NSH) NuttX-11.0.0
nsh> sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
INFO [cdcacm_autostart] Starting mavlink on /dev/ttyACM0 (SYS_USB_AUTO=2)
INFO [mavlink] mode: Onboard, data rate: 100000 B/s on /dev/ttyACM0 @ 2000000B
WARN [health_and_arming_checks] Preflight Fail: Accel Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN [health_and_arming_checks] Preflight Fail: Gyro Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: Compass 0 uncalibrated
WARN [health_and_arming_checks] Preflight Fail: Accel Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN [health_and_arming_checks] Preflight Fail: Gyro Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: Compass 0 uncalibrated
WARN [health_and_arming_checks] Preflight Fail: Accel Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN [health_and_arming_checks] Preflight Fail: Gyro Sensor 0 missing
WARN [health_and_arming_checks] Preflight Fail: Compass 0 uncalibrated
ERROR [ekf2] start failed (-1)
INFO [mavlink] Starting mavlink shell
Question:
- Could this be a hardware-level failure of the onboard IMU (ICM42688P)?
- Is it possible that the initial calibration interruption or SD card failure caused permanent sensor damage or configuration corruption?
- What else can I do to recover sensor functionality or confirm hardware damage?
Any advice would be greatly appreciated. I’m happy to provide more information if needed. I’m a student and new to flight controller development, so it’s possible I made some really silly mistakes in a moment of panic. I sincerely appreciate your patience and any help you can offer.