Close

BMP581 Pressure Sensor

A project log for Rocket Payload

Electronic Payload to record and display flight data for model rocket.

bud-bennettBud Bennett 06/24/2026 at 03:320 Comments

I don't know why it took me so long to discover the BMP581. It is seemingly superior in almost every way to the others that I've considered: BMP384, BMP388, BMP390, LPS22HB. Like the LPS22HB, the BMP581 outputs temperature corrected pressure data, saving the PIC quite a few lines of code in order for it to detect apogee and landing. It also has a metal can with very tiny port holes, which I find easier to solder without getting gooey flux on the package. All of these sensor have identical footprints and pinouts, so I did not have to modify the PCB.

The SPI protocols are different so I must have a separate file for each sensor when compiling. Claude and I found out that the first SPI transmission after POR or soft reset must be a dummy read because the BMP581 determines which interface to configure based upon that first transition of chip select. The datasheet suggests to send a dummy read, then a soft reset, but doesn't say to send another dummy read after the soft reset.

But here's a comparison between the LPS22HB (pink) and the BMP581 (blue):

The BMP wins on noise level and response time. I'll be using the BMP from now on.

Discussions