Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
// Code based on Sparkfun SFE_BMP180 library example
// Testing stretch prototype sensor
/* SFE_BMP180 library example sketch
Hardware connections:
- (GND) to GND
+ (VDD) to 3.3V
(WARNING: do not connect + to 5V or the sensor will be damaged!)
You will also need to connect the I2C pins (SCL and SDA) to your
Arduino. The pins are different on different Arduinos:
Any Arduino pins labeled: SDA SCL
Uno, Redboard, Pro: A4 A5
Mega2560, Due: 20 21
Leonardo: 2 3
V10 Mike Grusin, SparkFun Electronics 10/24/2013
V1.1.2 Updates for Arduino 1.6.4 5/2015
#include <SFE_BMP180.h>
#include <Wire.h>
// You will need to create an SFE_BMP180 object, here called "pressure":
SFE_BMP180 pressure;
int delayTime=100;
#define ALTITUDE 1655.0 // Altitude of SparkFun's HQ in Boulder, CO. in meters
void setup()
// Initialize the sensor (it is important to get calibration values stored on the device).
if (pressure.begin())
Serial.println("BMP180 init success");
// Oops, something went wrong, this is usually a connection problem,
// see the comments at the top of this sketch for the proper connections.
Serial.println("BMP180 init fail\n\n");
while(1); // Pause forever.
void loop()
char status;
double T,P,p0,a;
status = pressure.startTemperature();
if (status != 0)
status = pressure.getTemperature(T);
if (status != 0)
status = pressure.startPressure(3);
if (status != 0)
// Wait for the measurement to complete:
status = pressure.getPressure(P,T);
if (status != 0)
else Serial.println("error retrieving pressure measurement\n");
else Serial.println("error starting pressure measurement\n");
else Serial.println("error retrieving temperature measurement\n");
else Serial.println("error starting temperature measurement\n");
delay(delayTime); // Pause for 5 seconds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment