MPU sensor problem


I am using px4fmu V1 hardware and recently I changed to the new firmware repo. The hardware was bought 2 years ago. The problem is, after I uploaded the firmware (make upload px4fmu-v1_default) to the board, I found the system instantly hang there once I type “mpu6000 start” in the nsh terminal. Also I have my own customized board using MPU9250, with the same problem. I looked into the code and it seems that the spi transfer function caused the system crash.

The compiler I am using is cmake-3.4.3 and arm-none-eabi-gcc 5.4.1. Hope anyone can help me out of the problem.


Anyone met the same problem? I am using the PX4FMU v1.7 and the most recent code cloned from pixhawk github repo and cannot figure out what is the problem…

Please help…


Could you compare to the official binaries flashable through QGC? Try both stable and the development (master) version.

I can reproduce the issue.

[boot] Enabling IN12/13 instead of SPI2
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
nsh: mount: mount failed: No such device
nsh: mkfatfs: mkfatfs failed: I/O error
WARN  [param] selected parameter default file /fs/mtd_params
WARN  [rgbled] no RGB led on bus #3
WARN  [blinkm] I2C init failed
WARN  [blinkm] init failed
PX4IO_i2c on I2C bus 2 at 0x1a (bus: 100 KHz, max: 400 KHz)
WARN  [px4io] CRCs match
WARN  [dataman] Could not open data manager file /fs/microsd/dataman
ERROR [dataman] dataman start failed
INFO  [ver] match: PX4FMU_V1
MS5611_I2C on I2C bus 2 at 0x76 (bus: 100 KHz, max: 400 KHz)
WARN  [ms5611] no device on bus 2
INFO  [ver] match: PX4FMU_V1
MPU6000 on SPI bus 1 at 3 (1000 KHz)

I’ll do some bisecting, lets see.

I narrowed it down and created an issue, thanks for reporting. Will fix it in the next days: