Navigator barometer sensor reading incorrect, calibration fails

I am trying to measure the temperature inside my enclosure using the onboard barometer, as suggested in this post. However, the temperature readings I’m getting from the SCALED_PRESSURE MAVLink message are way off and do not match the actual temperature.

I am also a bit confused because the Navigator flight controller technical details list the barometer as a BMP280, but in the BlueOS autopilot sensors page it shows up as a BMP390. When I try to calibrate it, I get: “Calibration failed with status: MAV_RESULT_FAILED.”

I am using the Navigator Flight Controller with a Raspberry Pi 4 Model B running BlueOS version 1.4.2.

Any advice on how to fix this?

Hi @DGiraldo27, welcome to the forum :slight_smile:

What kind of values are you getting, and how are you measuring/estimating the actual temperature?

It can also be relevant whether you’re testing this with the enclosure in air/water, and in sun/shade, and how long the electronics have been running.

The original BMP280 sensor is no longer being manufactured, so newer Navigator boards use the BMP390 (which is the manufacturer’s recommended replacement, and has had support added in ArduPilot firmware and BlueOS). That should also be reflected in the product page, so I’ll try to get that fixed - apologies for the confusion.

Do you have an external barometer installed? Barometer calibration in ArduSub is for zeroing the atmospheric pressure offset when determining the vehicle’s depth, so is unrelated to the internal barometer (or any temperature readings).

Individual sensors are calibrated at the factory, and those calibration values are automatically read from the sensor and used for compensation as part of the autopilot firmware’s sensor driver code (without the need (or option) for user input/control).