Beagle Board -


Demo: BMP085 I2C Pressure/Temperature Sensor

The BMP085 is a readily available pressure/temperature sensor using I2C. It is directly supported by the Linux kernel, so all you have to do is ask the kernel to load the driver and then start reading values.


var b = require('bonescript');
var iic = '/sys/class/i2c-adapter/i2c-1/'; 

//Sensor Locations on the BeagleBone Black
var temperature = '/sys/bus/i2c/drivers/bmp085/1-0077/temp0_input';
var pressure = '/sys/bus/i2c/drivers/bmp085/1-0077/pressure0_input';

// We will initialize the driver for the BMP085 sensor located at I2C location 0x77
b.writeTextFile(iic + 'new_device', 'bmp085 0x77');

// Opens,reads, and prints pressure and temperature
b.readTextFile(pressure, printPressure);
b.readTextFile(temperature, printTemperature); 

// Prints Pressure
function printPressure(x) {
   console.log("Pressure: ", + " millibar");

// Prints Temperature
function printTemperature(x) {
   // '\xB0' is the degree symbol in hexademical
   console.log("Temperature: ", + '\xB0' + " Celcius"); /= 10; *= 1.8; += 32;
   console.log("or: ", + '\xB0' + " Fahrenheit"); 

Build and execute instructions

  • Disconnect your board from power (including USB)
  • Connect BMP085 GND to P9_1
  • Connect BMP085 VCC to P9_3
  • Connect BMP085 SCL to P9_19
  • Connect BMP085 SDA to P9_20
  • Reapply power and refresh this page before running the demo code

See also


Related functions


Where to buy

See it in action

Last updated by jessica.lynne.callaway on Thu Dec 19 2013 21:47:14 GMT-0000 (UTC).