Best Barometric Pressure Sensors: BMP280 vs BMP390 vs MS5611 and More (Buying Guide)

⚠️ Affiliate Disclosure: This post contains Amazon affiliate links. If you purchase through our links, we may earn a small commission at no extra cost to you. We only recommend sensors we have researched and whose listings we checked live on Amazon. Prices change constantly, so we deliberately don’t print them here. Tap through to see the current price.
Ultimate Buying Guide

🌤️ Best Barometric Pressure Sensors for Arduino, ESP32 & Embedded Projects

8 pressure sensors ranked for altimeters, weather stations, drones and IoT nodes: from the budget BMP280 to the ultra-low-noise BMP581, the drone-favourite MS5611 and a ported 25 PSI sensor, with real datasheet specs and honest verdicts.

✅ 8 Sensors Reviewed ✅ Verified Amazon ASINs ✅ Datasheet-Backed Specs ✅ Honest Pros & Cons

A barometric pressure sensor measures the weight of the air above it, and that single number unlocks a surprising amount: weather trends and storm warnings, altitude for drones and rockets, floor detection in wearables, airflow and filter monitoring, and even dead-reckoning help for indoor navigation. Modern MEMS parts from Bosch, TE Connectivity, Infineon and ST are tiny, cost a few dollars, talk I²C or SPI, and plug straight into an Arduino, ESP32, STM32 or Raspberry Pi Pico.

The catch is that they are not interchangeable. Sensors differ in relative accuracy (how finely they can track a change in height), absolute accuracy, noise, power draw, pressure range and whether the breakout board can handle 5V logic. This guide ranks 8 pressure sensors by the specs that matter in embedded work, so you can pick the right one for a weather station, a flight controller or a battery-powered IoT node the first time.

💡 Reality check before you buy: A barometric sensor measures pressure, not altitude. Altitude is calculated, and absolute altitude is only as good as the sea-level reference (QNH) you feed it, which changes with the weather. Relative height changes are where these chips shine. Budget breakouts are often clones: plenty of boards sold as “BME280” actually carry a BMP280 (check the chip ID: 0x58 is BMP280, 0x60 is BME280). Many cheap modules are 3.3V only with no level shifter, so wiring them to a 5V Arduino can kill them. And mounting matters as much as the chip: sunlight, airflow and heat from your MCU or regulator will show up in the readings.

🌡️ Quick Comparison: All 8 Pressure Sensors

SensorChipRangeInterface / LogicBest ForBuy
🥇 Waveshare BMP390Bosch BMP390300–1250 hPaI²C + SPI · 3.3/5VBest OverallBuy Here →
🎯 SparkFun BMP581 QwiicBosch BMP581300–1250 hPaI²C + SPI · 3.3VBest Precision & Low PowerBuy Here →
💵 HiLetgo BMP280Bosch BMP280300–1100 hPaI²C + SPI · 3.3V onlyBest BudgetBuy Here →
🚁 HiLetgo GY-63 MS5611TE MS5611-01BA0310–1200 mbarI²C + SPI · 3–5VBest for Drones & VariometersBuy Here →
🌦️ Waveshare BME280Bosch BME280300–1100 hPaI²C + SPI · 3.3/5VBest 3-in-1 Weather SensorBuy Here →
📐 DONGKER DPS310Infineon DPS310300–1200 hPaI²C + SPI · 3.3/5VBest Bosch AlternativeBuy Here →
⚡ LPS22HB ModuleST LPS22HB260–1260 hPaI²C + SPI · 3.3V onlyBest for STM32 & Fast SamplingBuy Here →
🔧 Adafruit MPRLSHoneywell MPRLS0–25 PSI absI²C · 3–5VBest Ported / PneumaticBuy Here →

Ranges and interfaces are from the sensor datasheets and the live listings. “3.3V only” boards have no level shifter, so use a 3.3V MCU or add a shifter. Several budget modules are also sold in multi-packs; check the listing.

🔍 What to Look for in a Barometric Pressure Sensor

📏

Relative Accuracy

The spec that matters for altitude. Near sea level, 0.12 hPa is roughly 1 m of height. The BMP390’s ±0.03 hPa tracks changes of about ±25 cm; an old BMP280 is closer to ±1 m.

🎯

Absolute Accuracy & Noise

Absolute accuracy matters for weather reporting against official stations. Low noise matters for variometers and floor detection, where you want a stable reading without heavy filtering lag.

🔋

Power Consumption

Battery nodes care about current at 1 Hz and in standby. The BMP581 sips about 1.3 µA at 1 Hz; a FIFO (BMP390, DPS310) lets your MCU sleep longer between reads.

🔌

Interface & Logic Level

All picks speak I²C; most also do SPI for faster, noise-immune links. Check whether the breakout has a regulator and level shifter if you’re on a 5V Arduino Uno.

🌀

Pressure Range & Port

Barometric parts top out around 1.1–1.25 bar. For tubes, cuffs, vacuum or pneumatics you need a ported sensor like the MPRLS with a barb you can push tubing onto.

🏆 Detailed Reviews: All 8 Pressure Sensors

🥇 BEST OVERALL

Waveshare BMP390

⭐ 4.7/5 · Precision Altimeter, 5V-Friendly
±0.03 hPa
RELATIVE (~±25 cm)
±0.5 hPa
ABSOLUTE
I²C + SPI
3.3V / 5V LOGIC
512 B
FIFO BUFFER
Buy Here on Amazon →
Waveshare BMP390 high precision barometric pressure and altitude sensor module with I2C and SPI

The BMP390 is Bosch’s current mainstream barometer, and the Waveshare board is the easiest way to use it on anything. You get a relative accuracy of ±0.03 hPa (about ±25 cm of height), ±0.5 hPa absolute accuracy, a 300–1250 hPa range and a 512-byte FIFO that lets your MCU batch readings and sleep. Unlike most cheap modules, this one carries an onboard voltage translator, so it is equally happy on a 5V Arduino Uno or a 3.3V ESP32, Pico or Raspberry Pi, over I²C (address selectable) or SPI. Bosch’s API and the Adafruit/SparkFun BMP3xx libraries work out of the box.

✅ Pros
  • Excellent ±0.03 hPa relative accuracy
  • Level shifter: works at 3.3V and 5V
  • I²C and SPI, big FIFO
  • Mature Bosch & Arduino libraries
❌ Cons
  • Costs more than generic BMP390 boards
  • No humidity channel
  • Listing stock has been low
🎯 Verdict: The best all-round barometric sensor for most makers. Precise enough for altimeters, robust enough for any board voltage.

👉 Check Price on Amazon →

🎯 BEST PRECISION & LOW POWER

SparkFun BMP581 Qwiic

⭐ 4.8/5 · Bosch’s Newest Low-Noise Barometer
±0.3 hPa
ABSOLUTE
~1.3 µA
AT 1 Hz
Qwiic
I²C + SPI
1″ × 1″
3.3V BOARD
Buy Here on Amazon →
SparkFun BMP581 Qwiic barometric pressure sensor breakout board

The BMP581 is Bosch’s newest-generation barometer, built on a capacitive sensing element instead of the piezo-resistive design used in the BMP280/BMP390 family. The result is very low noise, ±0.3 hPa absolute accuracy and a remarkably low ~1.3 µA at 1 Hz, which makes it the pick for wearables, floor detection, coin-cell IoT nodes and quiet variometers. SparkFun’s 1-inch breakout adds Qwiic connectors for solder-free I²C chaining, plus SPI pads, an interrupt pin and a well-maintained Arduino library.

✅ Pros
  • Best absolute accuracy in this list
  • Lowest power draw
  • Very low noise, minimal filtering lag
  • Qwiic plug-and-play, solid library
❌ Cons
  • 3.3V board: needs a shifter on 5V Unos
  • Newer part, fewer tutorials than BMP280
  • Pricier than generic modules
🎯 Verdict: The best precision barometer for battery-powered and low-noise builds. If your MCU runs at 3.3V, it’s the most advanced sensor here.

👉 Check Price on Amazon →

💵 BEST BUDGET · ⭐ 4.4/5

3. HiLetgo BMP280 (3.3V)

300–1100 hPa · ±0.12 hPa relative · ±1 hPa absolute · I²C/SPI · 3.3V only
Buy Here →
HiLetgo BMP280 3.3V digital barometric pressure sensor module for Arduino and ESP32

The BMP280 is the barometer most makers learn on, and HiLetgo’s purple 6-pin board is one of the most widely used versions. It delivers about ±0.12 hPa relative accuracy (roughly ±1 m of altitude), a 300–1100 hPa range and both I²C and SPI, all for pocket change. It is plenty for a home weather station, a pressure-trend storm alarm or a first altimeter experiment. Just note this is the 3.3V version with no regulator or level shifter: perfect for ESP32, ESP8266 and Pico, but power it from 3.3V on an Arduino and use a shifter on the I²C lines.

✅ Pros: Very cheap; huge library and tutorial support; I²C and SPI; low power.
❌ Cons: 3.3V only; older, noisier than BMP390/BMP581; clone quality varies.
🎯 Verdict: The best budget barometer. Ideal for learning and weather-trend projects on 3.3V boards.
🚁 BEST FOR DRONES & VARIOMETERS · ⭐ 4.5/5

4. HiLetgo GY-63 MS5611

10–1200 mbar · 24-bit ADC · 0.012 mbar resolution (~10 cm) · I²C/SPI · 3–5V
Buy Here →
HiLetgo GY-63 MS5611 high resolution barometric pressure altimeter module

The TE Connectivity MS5611 is the barometer that has flown in countless Pixhawk-class flight controllers and paragliding variometers. Its 24-bit ADC gives a resolution of about 0.012 mbar (roughly 10 cm) at the highest oversampling setting, and its 10–1200 mbar range covers everything from sea level to high-altitude balloons. The GY-63 board adds a regulator so it runs from 3–5V over I²C or SPI. The trade-offs: you must read the factory calibration PROM and apply the datasheet’s compensation math (libraries handle it), conversions take several milliseconds, and the bare sensor is light-sensitive, so cover it with foam in a drone.

✅ Pros: Proven in flight controllers; ~10 cm resolution; widest range; 3–5V board.
❌ Cons: Needs compensation math; slower conversions; sensitive to light and airflow.
🎯 Verdict: The best pick for drones, rockets and variometers. Still a benchmark for fine altitude resolution. See our MS5611 with Arduino tutorial.
🌦️ BEST 3-IN-1 WEATHER SENSOR · ⭐ 4.5/5

5. Waveshare BME280

Pressure + humidity + temperature · 300–1100 hPa · ±3 %RH · I²C/SPI · 3.3/5V
Buy Here →
Waveshare BME280 temperature humidity and barometric pressure sensor module

If you’re building a weather station or an indoor environment monitor, the BME280 gives you the BMP280’s pressure core plus a humidity sensor (±3 %RH) and temperature in one chip. Buying it from Waveshare matters: the board has a level shifter for 3.3V and 5V hosts, and you get a genuine BME280 rather than the relabelled BMP280s that flood the market. Its pressure performance matches the BMP280, so it isn’t the choice for precise altitude, but for weather it is the most practical single sensor you can buy.

✅ Pros: Three measurements, one chip; 3.3/5V board; genuine part; huge library support.
❌ Cons: Pressure precision only BMP280-class; humidity drifts if kept in condensing air.
🎯 Verdict: The best all-in-one weather sensor. Try it with our BME280 + ESP32 OLED tutorial.
📐 BEST BOSCH ALTERNATIVE · ⭐ 4.4/5

6. DONGKER DPS310 Module

300–1200 hPa · ±0.06 hPa relative · ±0.002 hPa precision · ~1.7 µA @1 Hz · 3.3/5V
Buy Here →
DONGKER Infineon DPS310 atmospheric pressure sensor module 300 to 1200 hPa

Infineon’s DPS310 is a capacitive barometer with a precision of about ±0.002 hPa (±2 cm) in its high-precision mode, ±0.06 hPa relative accuracy, a 32-sample FIFO and very low current. That makes it a strong alternative when you want BMP390-class altitude tracking from a different supplier, for example to dual-source a product design or cross-check readings. This DONGKER module runs from 3.3V or 5V and exposes I²C and SPI. Infineon’s Arduino library and Adafruit’s DPS310 driver both support it.

✅ Pros: Excellent precision; low power; FIFO; 3.3/5V module; second-source to Bosch.
❌ Cons: Lesser-known module brand; ±1 hPa absolute; fewer beginner tutorials.
🎯 Verdict: The best non-Bosch precision barometer. Great for altitude logging and dual-sourced designs.
⚡ BEST FOR STM32 & FAST SAMPLING · ⭐ 4.2/5

7. LPS22HB Pressure Module

260–1260 hPa · ±0.1 hPa absolute · up to 75 Hz ODR · I²C/SPI · 3.3V only
Buy Here →
LPS22HB 3.3V atmospheric pressure sensor module with I2C and SPI

ST’s LPS22HB is the barometer found on many STM32 Nucleo sensor shields and the Arduino Nano 33 BLE Sense. It offers ±0.1 hPa absolute accuracy (factory calibrated, with no compensation math needed), a wide 260–1260 hPa range and output data rates up to 75 Hz, which helps when you need quick pressure updates for gesture, door-open or airflow detection. ST’s drivers, STM32Cube packages and the Arduino LPS22HB library make bring-up easy. This module is 3.3V only, so it suits ESP32, STM32 and Pico boards.

✅ Pros: Good absolute accuracy; fast ODR; no compensation math; great ST ecosystem.
❌ Cons: 3.3V only; generic module brand; noisier than BMP581/DPS310 for altitude.
🎯 Verdict: The best choice for STM32 developers and projects that need fast pressure updates.
🔧 BEST PORTED / PNEUMATIC · ⭐ 4.4/5

8. Adafruit MPRLS (0–25 PSI)

Honeywell MPRLS · 0–25 PSI absolute · barbed tube port · I²C (0x18) · 3–5V
Buy Here →
Adafruit MPRLS ported pressure sensor breakout 0 to 25 PSI

Sometimes you need to measure pressure inside something: a blood-pressure cuff, a vacuum line, a soft-robotics actuator or a pneumatic gripper. The Adafruit MPRLS uses Honeywell’s MPRLS sensor with a metal port you can push silicone tubing onto, measuring 0–25 PSI absolute (about 0–1.7 bar). It is factory calibrated and compensated, talks simple I²C at address 0x18, and runs from 3–5V thanks to its onboard regulator. It’s less sensitive than the barometers above, so it isn’t for altitude, but it handles jobs none of them can. On Amazon it is currently offered through other sellers, so use “See All Buying Options”.

✅ Pros: Tube port for pneumatics; up to 25 PSI; calibrated output; 3–5V; trusted Adafruit library.
❌ Cons: Not for altitude; I²C only; Amazon availability via third-party sellers.
🎯 Verdict: The best pick for tubes, cuffs and pneumatic systems where a barometer can’t reach.

🛒 How to Choose the Right Pressure Sensor

🏔️

Building an altimeter on any board?

Get the Waveshare BMP390: ±0.03 hPa relative accuracy with a level shifter for 3.3V and 5V hosts.

🔋

Battery-powered wearable or IoT node?

The SparkFun BMP581 has the lowest current and noise, plus Qwiic for quick wiring.

🎓

Learning or on a tight budget?

Start with the HiLetgo BMP280 on an ESP32 or Pico. Cheap, well documented and good enough for weather trends.

🚁

Drone, rocket or variometer?

The flight-proven MS5611 (GY-63) gives ~10 cm resolution. Cover it with foam to block light and prop wash.

🌦️

Weather station?

Use the Waveshare BME280 for pressure, humidity and temperature from one genuine chip.

🔧

Measuring pressure in a tube or cuff?

Choose the ported Adafruit MPRLS (0–25 PSI). Barometric sensors can’t take tubing.

⚙️ Key Specs Compared: Side by Side

SpecBMP390 (Waveshare)BMP581 (SparkFun)BMP280 (HiLetgo)MS5611 (GY-63)DPS310 (DONGKER)
Pressure Range300–1250 hPa300–1250 hPa300–1100 hPa10–1200 mbar ⭐300–1200 hPa
Relative Accuracy±0.03 hPa ⭐±0.06 hPa±0.12 hPa0.012 mbar resolution±0.06 hPa
Absolute Accuracy±0.5 hPa±0.3 hPa ⭐±1.0 hPa±1.5 mbar±1.0 hPa
Current @ 1 Hz~3.2 µA~1.3 µA ⭐~2.7 µA0.6–12.5 µA (by OSR)~1.7 µA
FIFO512 bytes ⭐32 framesNoneNone32 samples
Board Logic Level3.3V / 5V ⭐3.3V3.3V only3–5V ⭐3.3V / 5V ⭐
InterfaceI²C + SPII²C + SPI + Qwiic ⭐I²C + SPII²C + SPII²C + SPI

Chip specs are typical datasheet values; board logic levels are from the listings. Real-world results depend on oversampling, filtering and mounting. Always confirm details on the live Amazon listing.

❓ Frequently Asked Questions

BMP280 vs BME280 vs BMP390: which should I buy?

The BMP280 is a budget pressure and temperature sensor. The BME280 is the same pressure core plus a humidity sensor, so it suits weather stations. The BMP390 is a newer, more precise pressure-only sensor (about four times better relative accuracy than the BMP280) with a FIFO, so it is the better choice for altitude. For pure altitude, buy a BMP390 or BMP581; for weather, a BME280; for the lowest cost, a BMP280.

How accurate is altitude from a barometric sensor?

Near sea level, 1 hPa corresponds to roughly 8 m of altitude. Relative changes (how far you climbed in the last minute) can be tracked to tens of centimetres with a BMP390, BMP581, DPS310 or MS5611. Absolute altitude is much less reliable because air pressure shifts by several hPa as weather changes, so you need the local sea-level pressure (QNH) from a nearby weather station, or a GPS fix, to calibrate it.

Can I connect these sensors to a 5V Arduino Uno?

Only the boards with a regulator and level shifter: the Waveshare BMP390, Waveshare BME280, GY-63 MS5611, DONGKER DPS310 and Adafruit MPRLS. The HiLetgo BMP280, SparkFun BMP581 and LPS22HB modules are 3.3V parts; on a 5V board, power them from 3.3V and put a bidirectional level shifter on SDA and SCL. On an ESP32, ESP8266, STM32 or Raspberry Pi Pico, all of them connect directly.

Why do my pressure readings jump around or drift?

Most noise comes from the environment, not the chip. Airflow from fans or propellers, direct sunlight on the sensing hole, and heat from a nearby regulator or Wi-Fi radio all cause swings. Enable the sensor’s oversampling and IIR filter, keep the board away from heat sources, shield it with open-cell foam, and avoid sealing it in an airtight box (the sensor must see ambient air). Also read temperature and pressure from the same measurement, since compensation depends on both.

Can a barometric sensor measure water depth or tyre pressure?

No. Barometric sensors top out around 1.1–1.25 bar absolute and are not waterproof, so they can’t handle immersion or a tyre at 2–3 bar gauge. The Adafruit MPRLS reaches 25 PSI absolute through a tube, which covers cuffs, vacuum and light pneumatics. For water depth you need a gel-filled waterproof sensor such as the MS5837, and for tyres or hydraulics an industrial transducer rated for the full pressure.

🏁 Final Verdict: Best Pressure Sensor for Every Build

The right barometric or pressure sensor for every project and budget:

🥇 Best Overall: Waveshare BMP390, ±0.03 hPa relative, 3.3/5V, I²C + SPI
Buy Here →
🎯 Best Precision & Low Power: SparkFun BMP581 Qwiic, ±0.3 hPa absolute, ~1.3 µA
Buy Here →
💵 Best Budget: HiLetgo BMP280, the classic learning barometer (3.3V)
Buy Here →
🚁 Best for Drones & Variometers: HiLetgo GY-63 MS5611, ~10 cm resolution
Buy Here →
🌦️ Best Weather Sensor: Waveshare BME280, pressure + humidity + temperature
Buy Here →
🔧 Best Ported / Pneumatic: Adafruit MPRLS, 0–25 PSI with tube port
Buy Here →

For most projects the Waveshare BMP390 is the sensor to buy: precise, 5V-tolerant and easy to drive. If you’re on 3.3V and every microamp counts, the SparkFun BMP581 is the most advanced barometer here. Learners should start on a cheap BMP280, flight projects still love the MS5611, weather stations want the BME280, and anything with a tube attached needs the MPRLS. If you also need air-quality or humidity data, see our temperature & humidity sensor guide and gas & air quality sensor guide, then wire it all up with our Arduino, ESP32, STM32 and Raspberry Pi Pico tutorials.

💬 Not sure which sensor fits your build? Tell us what you’re making (an altimeter, a weather station, a drone or a pneumatic gripper) in the comments below, and we’ll point you to the right pick.

All Amazon links above use our affiliate tag (microlab05-20). Purchasing through them supports microcontrollerslab.com at no extra cost to you. Prices and availability change frequently, so always check the current price on Amazon before buying.

Leave a Comment