No. Pressure contains both altitude and atmospheric variation, and an IIR filter acts on both. A separate pressure reference, a known-altitude calibration or a trusted constant-height baseline is needed to address weather drift. Motion information can help qualify an update but does not independently prove which part of a pressure change came from weather.
Register 0x1F bits 3:1 encode bypass, then c=1, 3, 7, 15, 31, 63 and 127. The recurrence is y=(c·y_old+x)/(c+1). Thus c=3 uses a divisor of 4; it is not the same equation as a sensor whose coefficient is the divisor. A datasheet response table uses the divisor labels, which must be reconciled with the register mapping.
Table 1 specifies 0.02 Pa typical filtered RMS noise at the lowest bandwidth and highest resolution. Using an explicitly assumed local slope of 12 Pa per metre, that value corresponds to about 0.00167 m, or 0.167 cm. It is a noise-equivalent conversion, not absolute altitude accuracy, a guaranteed detectable step or a guarantee for the separate 25 Hz example. Relative and absolute accuracy have separate conditions.
The stated maximum conversion time for 32× pressure and 2× temperature oversampling is 78.09 ms, exceeding a 25 Hz period of 40 ms. A 12.5 Hz period is 80 ms. Check the chosen pressure and temperature settings against maximum conversion time and the ODR, rather than combining unrelated headline specifications.
By Evan Huang | YG GROUP
BMP390 measures pressure and temperature; pressure can be converted into relative height under a chosen atmospheric model. It cannot identify weather drift separately from vertical motion using pressure alone. A wearable therefore needs a justified reference or trusted constant-height baseline, plus motion context. Filtering can reduce short-term variation, but it delays real height changes and smooths weather changes too. The filter coefficients and conversion timing must be selected together.
The sensor provides a pressure measurement. An altimeter adds a relationship between pressure and height plus a reference pressure. If the reference changes with weather while firmware keeps it fixed, the apparent altitude changes even when the wearer is stationary. Conversely, updating the reference during a real climb can erase part of the climb. A smoothing filter cannot determine which cause produced the pressure change.
A practical system can use a known-height calibration, a nearby pressure reference or a baseline updated only during a trusted constant-height interval. Motion information can help reject implausible changes or qualify a baseline update, but an accelerometer alone does not establish the atmospheric pressure component. Define when the baseline may move and when it must remain fixed. The answer should follow the product’s use case, such as a calibrated outdoor hike or a short indoor floor transition.
BMP390’s measurement range is 300–1250 hPa. An absolute-pressure accuracy entry gives a typical ±0.5 hPa at 300–1100 hPa and 0–65°C. The measurement range alone does not establish accuracy; use the applicable specification entry and its conditions. Typical relative accuracy is ±3 Pa under its stated 700–1100 hPa, 25–40°C conditions and per 10 kPa step. These are different quantities from short-term noise.
Table 1. Pressure accuracy, noise and height conversion | Source: manufacturer documents in References; assumptions and operating conditions are stated in the table or adjacent text. Compiled / calculated by: YG GROUP.
| Quantity | Stated basis | Interpretation |
|---|---|---|
| Absolute pressure accuracy | Typical ±0.5 hPa over the specified pressure/temperature range | Not an absolute elevation guarantee without a reference/model |
| Relative pressure accuracy | Typical ±3 Pa under qualified conditions | About ±0.25 m only if a 12 Pa/m local slope is assumed |
| Noise example | 0.02 Pa typical filtered RMS noise at lowest bandwidth and highest resolution (Table 1) | About 0.00167 m or 0.167 cm at an assumed 12 Pa/m; not a guarantee for the separate 25 Hz example |
| Local pressure-to-height slope | 12 Pa/m used here as an illustration | Changes with atmospheric state; not a universal constant |
The noise-equivalent height calculation is 0.02/12 = 0.00167 m. This noise conversion does not establish the accuracy of a floor-transition decision. Temperature, calibration, reference uncertainty, airflow and mechanical integration can dominate an application. The source’s noise and current claims also belong to specified configurations. Do not combine them with a different oversampling and update rate to create a performance point the source does not support.
The BMP390 register uses coefficients c = 0, 1, 3, 7, 15, 31, 63 and 127. With filtering enabled, y[n] = (c·y[n−1] + x[n])/(c+1). Thus coefficient c=3 corresponds to a divisor of 4. A response table labels its columns by divisor, whereas the register description labels the recurrence coefficient. Reading the table without reconciling that distinction creates a one-step mapping error.
Table 2. IIR register coefficients and recurrence divisors | Source: manufacturer documents in References; assumptions and operating conditions are stated in the table or adjacent text. Compiled / calculated by: YG GROUP.
| Register 0x1F bits 3:1 | Recurrence coefficient c | Divisor c+1 |
|---|---|---|
| 000 | 0, bypass | 1 |
| 001 | 1 | 2 |
| 010 | 3 | 4 |
| 011 | 7 | 8 |
| 100 | 15 | 16 |
| 101 / 110 / 111 | 31 / 63 / 127 | 32 / 64 / 128 |
For an already initialized filter receiving a normalized step, the response after n samples is 1 − (c/(c+1))^n. At 25 Hz, c=3 reaches at least 90% on sample 9, or 0.36 s. c=15 reaches that threshold on sample 36, or 1.44 s. Figure 1 plots these calculated responses, showing why stronger smoothing can visibly delay a floor transition. The first sample after filter reset passes straight through; the plotted established-filter behavior must not be mistaken for startup.
Figure 1. Calculated normalized step response using y[n] = (c·y[n−1] + x[n])/(c+1), at 25 Hz with the filter already initialized before the step. c=3 reaches at least 90% on sample 9 (0.36 s); c=15 on sample 36 (1.44 s). The first sample after a filter reset passes directly, so this plot does not represent startup. Source: BMP390 datasheet, IIR behavior and register mapping.
Select smoothing around the maximum acceptable delay in the product. A floor-transition detector may prefer faster pressure response and separate decision logic; a slowly refreshed display may tolerate more lag. Both need consistent time stamps and a clearly defined pressure reference. A filter threshold does not establish that a change is caused by stairs rather than an elevator, weather or another pressure disturbance.
Pressure oversampling, temperature oversampling and ODR must be considered together. At 8× pressure and 1× temperature oversampling, the listed maximum conversion time is 21.53 ms, fitting a 25 Hz period of 40 ms. At 16× pressure and 2× temperature it is 41.89 ms, which exceeds that period. At 32× pressure and 2× temperature it is 78.09 ms, fitting a 12.5 Hz period of 80 ms.
Those figures constrain a schedule; they do not establish an application’s final accuracy or battery life. The source’s typical 13.8 µA example is for 1 Hz with 8× pressure and 1× temperature, not a universal 25 Hz current. Include the selected sensor rate, bus transfers, MCU activity and any continuous motion sensing in the power budget. Verify that the firmware consumes fresh samples instead of treating repeated register values as new data.
The LGA-10 package is nominally 2 × 2 mm. Its small body does not remove the need for two bypass capacitors, defined interface selection and a suitable sensing port. Figure 2 connects all three VSS pins, 3, 8 and 9. Omitting either of the additional grounds is not supported by the pin table.
Figure 2. Functional wearable I2C connection concept with every VSS pin connected, two 100 nF bypass capacitors and CSB controlled high at power-on according to the application recommendation. Address SDO and bus pull-ups must be defined. The minimum 0.1 mm lid clearance inset does not certify a membrane or IP rating. Source: BMP390 datasheet, pin table and application/mounting sections.
For the I2C application, Bosch recommends a programmable MCU connection to CSB with the required high level at power-on. Define SDO for the chosen address, and select pull-ups for the bus voltage, capacitance and timing. Place 100 nF bypass capacitors at VDD and VDDIO with short returns. This functional circuit is not a package land pattern and does not define a finished wearable PCB.
The port must exchange air without unacceptable pressure delay or contamination. A membrane may affect that response and must be qualified as part of the mechanical assembly. The source recommends at least 0.1 mm lid clearance and gives mounting restrictions, while enclosure protection requires separate qualification. Evaluate wet conditions, blocked ports, airflow and thermal states before making an environmental claim.
BME280 is a useful comparison when humidity information is also required. It adds an integrated humidity channel, with different pressure accuracy conditions, package and register behavior. Humidity may improve environmental context, but it does not independently separate height from weather. It is therefore an architecture alternative, not an interchangeable BMP390 implementation.
A defensible wearable altimeter records its calibration reference, baseline-update conditions, atmospheric conversion assumptions and filter delay. It then validates height decisions in the assembled device. BMP390 can support that system, but the pressure sensor, the inference algorithm and the enclosure each contribute separate limitations that should remain visible to the engineer.