Temperature, Altitude, Pressure Display

During a recent trip to Bhutan, [electronut] wished for a device that would show the temperature and altitude at the various places he visited in the Kingdom. Back home after his trip, he built this simple Temperature, Altitude and Pressure Display Device using a few off the shelf parts.

Following a brief search, he zeroed in on the BMP 180 sensor which can measure temperature and pressure, and which is available in a break-out board format from many sources. He calculates altitude based on pressure. The main parts are an Arduino Pro Mini clone, a BMP180 sensor and a Nokia 5110 LCD module. A standard 9V battery supplies juice to the device. A push button interface allows him to read the current parameters when pressed, thus conserving battery life.

Standard libraries allow him to interface the LCD and sensor easily to the Arduino. He wrapped it all up by enclosing the hardware in a custom laser cut acrylic box. The result is bigger than he would like it to be, so maybe the next iteration would use a custom PCB and a LiPo battery to shrink it in size. While at it, we think it would be nice to add a RTC and some sort of logging capability to the device so it can store data for future analysis. The schematic, code and enclosure drawing are available via his Github repository.

11 thoughts on “Temperature, Altitude, Pressure Display

      1. They arent too small for your skills, but for your tools.
        Get yourself even the cheapest alliexpress special HotAir station, 858D ($25 in my country, $50 on ebay, weird price difference but Im not complaining). You will be amazed how EASY smd is to work with

  1. No, that’s still just an atmospheric pressure display. You cannot calculate altitude based on just sea level pressure; you need the current sea level pressure. If you need altitude, just use GPS. Close enough.

    And Nokia 5110 displays are crap; the contact breaks easily to zebra rubber. I have used many and I don’t want to use them anymore.

  2. The BMP180 correct the pressure measure by doing a temperature compensation. The temperature sensor is not super accurate (+/- 2°C). The compensation is made in the Adafruit library for the BMP180 and Arduino. With slight modifications and by using a DHT22 to get the temperature (which can be humidity compensated thanks to this sensor), you could have a slightly more accurate atmospheric pressure.

    Just my 2 pences. I think that a BMP180 and a DHT22 is a good choice for basic but accurate environment sensors.

    Calculating the altitude with the atmospheric pressure should be done, as others said, by using the atmospheric pressure at sea level for your location, which can be hard to obtained and have to be change at least every day. But still, it can be accurate enough for a basic usage like this. I’d like to see a bluetooth module added, connected to a phone with access to 3G/4G/Edge/Whatever in order to retrieve the atmospheric pressure at sea level for your location. Would be a lot more accurate (and then you don’t need a GPS module since a lot of phones already have one). But I don’t know how is the phone cover in Bhutan. And sometimes, people don’t have a smartphone.

    1. You can also use a better pressure sensor. Especially if you’re buying a pressure sensor for potentially more than one project make sure to get an MS5611 instead of the BMP085 or BMP180, you’ll get significantly better precision.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.