Introduction: Temperature/Altitude/Pressure Display Using Arduino & BMP180

About: Open Source Hardware Projects - Microcontrollers, Programming, and new prototyping technologies.

I was in Bhutan last December, and as we travelled to different locations, I kept wondering what the temperature and altitude was, and wished I had some gizmo that would show me these values. Back home, I did a bit of research on altitude sensors, and one that came up was the cheap BMP180 sensor. It measures temperature and pressure, and the latter can be used to calculate the altitude. It’s been lying around with me the past few months, and now I’ve finally gotten around to building a display around it. This is an easy project if you have a bit of experience with building circuits and tinkering around with an Arduino board.

Here is what you need for this project:

  1. An Arduino Pro Mini 3.3 V or equivalent.
  2. BMP180 sensor.
  3. Nokia 5110 LCD module.
  4. General purpose PCB for assembly.
  5. A push button.
  6. 9V battery and holder.
  7. Laser cutting facility (send it out) for building enclosure.
  8. M2x10 screws, washers and nuts for enclosure.
  9. Soldering iron, wires, etc. for building the circuit.
  10. A USB to TTL adapter to program the Arduino Pro Mini.

Step 1: Building the Circuit

This is the schematic for the project. You can assemble this on a general purpose PCB. Solder the Nokia 5110 LCD module to one side of the PCB, and put the Arduino Pro Mini and the BMP sensor on the other side. The LCD module has mounting holes, and can be attached to the enclosure. The components are light enough that it can take the load of the PCB. The circuit uses a push button so that the circuit and display is on
only as long as you keep it pressed, conserving the battery.

Step 2: Programming the Arduino Pro Mini

To interface the Arduino with the BMP180, I used Sparkfun’s library. For the Nokia 5110 LCD, I used the Adafruit Nokia 5110 library. The code alternates between drawing a silly “mountain/location” animation and reporting the sensor values.

The Arduino Pro Mini does not come with USB built-in, so if you are unsure how to program it, please read the Sparkfun instructions below:

https://learn.sparkfun.com/tutorials/using-the-arduino-pro-mini-33v

You can find all files related to this project including code, schematic and enclosure design at my github link below:

https://github.com/electronut/bmp180

Step 3: Building the Enclosure

You can built a laser cut enclosure for the project, using using the Inkscape T-Slot Boxmaker plugin.

Step 4: Assembling the Project

Fit the LCD module on to one side of the laser cut box as shown in the photo. Glue the 9V battery holder on to the bottom of the box. The push button goes on top, and solder the power supply wires on to it. Finally, close the enclosure and use M2x10 hex screws and nuts to put the box together.

You can read about the whole project here:

http://electronut.in/bmp180-display/