Hi everyone,
I’m new to ArduPilot development and I’m trying to learn how board support and sensor detection work.
I have a HAKRC F405 WING flight controller running INAV 7.1.2.
The confusing part is that INAV reports different IMUs depending on where I look:
Configuration tab:
Accelerometer: ICM42605
But the CLI status command reports:
GYRO=LSM6DXX
ACC=LSM6DXX
BARO=SPL06
Sensor status: GYRO=OK, ACC=OK, BARO=OK
Unfortunately, the IMU package has no visible part number, only a small QR/DataMatrix code, so I cannot identify it visually.
My goal is to create an ArduPilot firmware for this board, but first I would like to understand which IMU is actually installed.
Questions:
Which source should be considered the real hardware identification?
INAV Configuration tab?
CLI status output?
Something else?
Is it possible that the Configuration tab simply shows a stored configuration value while status displays the IMU that was actually detected through WHO_AM_I?
What is the recommended way to identify the installed IMU before creating an ArduPilot hwdef.dat?
I’m still learning how IMU detection works, so if I’m misunderstanding something, I’d really appreciate an explanation.
If additional information is needed, I can provide:
version
status
dump
board photos
or any other logs you recommend.
Thank you!