How to Hookup BMP183 Barometric Pressure Sensor to Arduino
The BMP183 is the function compatible successor of the BMP085, a new generation of high precision digital pressure sensors for consumer applications.
The sensor is based on piezo-resistive technology for EMC robustness, high accuracy and linearity as well as long term stability. The BMP183 uses a SPI interface to communicate with the micro controller.
In this hookup we are only connecting one device to the Arduino. It reads the barometric pressure and temperature and displays it on the console.
Hardware and Software Parts List
- Arduino Board
- Adafruit BMP183 breakout board
- Breadboard hookup wires
- USB Cable to suite Arduino
- Sample Sketch ( ) Demonstrates Adafruit BMP183 breakout board connected to the Arduino.
- BMP183 Library ( )
Wiring up Adafruit BMP183 sensor breakout board
We can connect up the BMP183 Sensor board using either the Arduino Hardware SDI pins or we can use software SPI which allows us to use any of the digital pins. The BMP183 requires 4 wires for the SPI bus plus power and ground. The power can be either 5V or 3.3V.
Hookup Diagram for connecting the Adafruit BMP183 breakout board to Arduino using Software SPI
In this hookup we are connecting the SPI bus wires to digital input pins 10 to 13. We are using 5V for the power supply.
The hookup and Arduino Sketch is for connecting a single Adafruit BMP183 breakout board.
You will need to download the cactus.io BMP183 library to work with this sample sketch. The library supports reading the barometric pressure and temperature from the sensor.
The sensor returns the temperature in degrees celsius by design. We can call the method in the BMP183 library called getTemperature_C to get the celsius value or getTemperature_F for the value in fahrenheit.
The barometric pressure from the sensor is returned in Pascals. 100 Pascals = 1hPa = 1 millibar. The library method getPressure_P will return the value in Pascals. The method getPressure_MB will return the value in millibars.
In the sample sketch we are setting the altitude to 0 based on the current barometric pressure. If you raise the BMP183 the altitude should increase in relation to height that the sketch was activated. We set the base altitude when the sketch starts up.Limitations
- The sketch Supports only one sensor connected.
- Its blocking code.
Sketch Console Output