Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMP390 water level measurement

    BMP390 water level measurement

    New Poster


    I am using two BMP390 sensors (adafruit breakout board) to measure relative altitude (vertical distance between the two sensors).

    I have setup both sensors to the values recommended in the data sheet for highest resolution and low noise:

    • Highest pressure oversampling: x32
    • Recommended temperature oversampling: x2
    • Highest IIR filter coefficient: x128 


    With this settings, I take forced measurements every second from both sensors at floor level of the same room. 

    The pressure difference is close to zero (some calibration may be required) but I am also observing tha the difference fluctuates in a range 5Pa wide.
    Is that what I should expect given the accuracy specs of the sensor?

    If that is the case, how can this sensor track the water level of a washing machine with mm precission? As the Bosh video (84) Water level detection in washing machines enabled by BMP390 - YouTube seems to suggest


    7 REPLIES 7

    Community Moderator
    Community Moderator

    Hi BorisVian,

    The relative altitude is measured on one sensor instead of using two sensors.

    Thanks for your reply.

    I understand that the relatitive accuracy in the specs refers to a single sensor.

    My question is whether the results I am getting in my setup with 2 sensors are to be expected or is there a way to improve them?That is also why I was refering to the video of the water level measurement application by Bosch: if it is possible to achieve mm accuracy with a single sensor, it must be possible to achieve cm accuracy with 2 sensors.
    The datasheet reads relative accuracy of +/-3Pa which is equivalent to +/-25m. How can the sensor in the washing machine detect mm changes?


    I have run another test on a single stationary sensor. I am trying to replicate the results in the datasheet. In table 10 it reads that I should expect an RMS noise of 5cm under the following conditions:

    • Pressure oversampling: x16
    • Temperature oversampling: x2
    • IIR filter coefficient: 4
    • RMS measured over 32 consecutive measurement points taken at highest sampling rate in a controlled pressure environment

    The datahseet uses the term "average standard deviation" in paragrpah 3.4.4 but the term RMS in table  10. I have calculated the standard deviation over the 32 consecutive measurements and get results very much in line with the specifications: a standard deviation below 4cm.

    The problem is that the moving average (over 32 consecutive measurements) does not stay within a min-max range of that order. Instead, it fluctuates over a range of 70cm (over a measuring interval of 5 minutes).

    In this image you can see a summary of the results:


    And here is the legend for the colors in the range

    • Red:

      Max value of moving average


      Min value of moving average


      Moving average


      Moving average  - half the moving standard deviation


      Moving average + half the moving standard deviation


    Since I cannot control the pressure in my environment, part of the fluctuations in altitude may be explained by fluctuations in the atmospheric pressure. Before I conduct other tests, I'd like to know if this falls within expectations: can atmospheric pressure fluctuate so much within 5 minutes?
    Or are these results in line with the sensor capabilities?



    Community Moderator
    Community Moderator

    Hi BorisVian,

    +/-25m is the accuracy of air pressure equivalent to altitude, not the accuracy of water level.

    After check, to get water level, formula "h=(P-P0)/ρg"—— we're supposed to substitute P as 50pa, ρ as 1000kg/m3, g as 9.8N/kg, and then we can get that h is equal to around 0.005m.

    To use pressure sensor, the sensor needs to be calibrated first to obtain higher accuracy.