Barometer Altitude Difference During Flight

We have 3 barometers on our flight controller setup:

  • BARO1 and BARO2 are located on the Flight Controller (FC) and show very similar altitude readings.
  • BARO3 is located on the DroneCAN GPS module and shows a consistent 3–5 m altitude difference compared with the two FC-mounted barometers.

As shown in the plot, the two FC barometers closely track each other, while the DroneCAN barometer has a noticeable offset.

What could be the possible reason for this 3–5 m altitude error in the DroneCAN barometer? Could this be related to temperature compensation, sensor location, pressure differences, or the DroneCAN barometer implementation?

Any suggestions on how to identify the root cause would be appreciated.

I have the same question about a DroneCAN barometer reading that stays 3 to 5 m away from two closely matching flight-controller barometers. The comparison between BARO1, BARO2, and BARO3 makes the offset seem systematic rather than a brief fluctuation, and I am looking forward to an explanation. Sensor placement, pressure exposure, and compensation all seem relevant, but I have not found a confirmed cause in this case. Could the next step be to compare the relevant barometer and temperature log fields across the three sensors?

Because BARO1 and BARO2 agree while BARO3 is 3–5 m off, compare the raw pressure and temperature logs for each sensor first. That should separate a sensor offset from a communication issue.

I have already performed multiple barometer tests, and the same 3–5 m difference is consistently observed. BARO1 and BARO2 closely match, while BARO3 remains offset.

I agree that comparing raw pressure and temperature logs is a good next step. Could you suggest what else I should check to identify whether the issue is due to sensor calibration, pressure exposure/placement, or the DroneCAN data path?

As I understood the 3 BARO are not located on the same module and mybe have different housings. So what are the mechanical differences on the setup?

I also observed the same variation during bench testing, so it is not limited to flight conditions. I have already checked the raw barometer data and the same offset is present. As the BARO3 is integrated on the GPS module, I will also perform a stacked configuration with the FC and GPS to check whether the physical arrangement affects the reading.

Can you show the raw baro values.

these are the RAW baro altitude graphs.Please check

1st graph shows -->4 baros

2nd show -->FC baros

3r shows -->gps baros

Do you have just one set of raw values with just the same timestamp. I only want to read one value from each baro at the same time

Yes. I have taken the raw pressure values from BARO1, BARO2, and BARO3 at the same timestamp.
For example, at 14765.445 ms: BARO 0 = 91061.98438 Pa, BARO1 = 91072.34375 Pa, and BARO2 = 91031.17188 Pa.
Please see the image below.

BARO[0] → On GPS
BARO[1] & BARO[2]–>ON FC

this is the only flight log I currently have where all three barometers are correctly compensated and show nearly the same altitude, including the FC-mounted barometers and the barometer on the GPS module.

In all the other flight logs, there is a consistent 3–5 m altitude difference between the barometers, with BARO1 and BARO2 (FC-mounted) remaining relatively close to each other, while BARO3 (GPS-mounted) shows an offset.

I am also investigating why this particular flight log shows good agreement between all three barometers, while the other flights consistently show a 3–5 m difference. This comparison may help us identify whether the variation is related to mechanical mounting, pressure exposure, sensor environment, calibration, or the DroneCAN barometer data path.

I have also included the raw pressure values from all three barometers at the same timestamp for direct comparison.

Your numbering of the BAROs is a little inconsistent
The tables show BARO 0 to 2. You talk about BARO 1 to 3 with first post says BARO 0 is on GPS while last post says BARO 3 is on GPS

If I assume that on the second table the ALT values show around 50m above HOME than on first table the ALT difference is not 3 to 5 m but only some centimeter

Sorry for the confusion regarding the BARO numbering.

To clarify, BARO[0] is the barometer on the DroneCAN GPS, while BARO[1] and BARO[2] are the two barometers on the flight controller (FC).

Also, regarding the altitude difference, the centimeter-level agreement shown in the table was observed in only 1 out of approximately 10 Flight test logs. In the other logs, we still observe a larger difference between the barometer readings.

In your two tables BARO 0 and BARO 1 are relative close together on pressure values while BARO 2 is a little offset.
Also compared table 1 to table 2 BARO 2 shows nearly same values for pressure but totally different values for ALT.
But in both cases the ALT value only differs behind the “.” So if the “50” is METER this are both only some centimeter difference

Yes, that is correct. In these tables, the ALT difference is only a few centimeters at around 50 m. However, this close agreement was observed in only one of approximately 10 flight logs. In the other logs, we observed a larger altitude difference between the barometers, which is what we are investigating.

I don’t know how you produced the tables above. Are this raw data directly received from the BAROs? I don’t think so.
I am not sure how exactly the calibration of the BAROs work but I think this is done for each BARO seperate but not on the BAROs itself but on FC side. Also I think the altitude calculation is not done on the BAROs itself but on the FC.
You can see that BARO 0 and BARO 1 have nearly same pressure values and BARO 2 differs from this. So I still assume BARO 2 is the “GPS” BARO.