This pressure sensor from Freescale is a great low-cost sensing solution for precision measurement of barometric pressure and altitude. The MPL3115A2 has a typical 1.5 Pascal resolution, which can resolve altitude at 0.3 meters (compare to the BMP180 which can do 0.17m). It has some upsides compared to the BMP280, such as interrupt outputs for ultra-low power usage, and its also a heck of a lot easier to read altitude with a built in altimeter calculation - no calibration reading and calculating required. As a bonus, there's even a fairly good temperature sensor with ±1°C typical accuracy (±3°C max).
This chip likes to be used with 2-3.6V power and logic voltages, so we placed it on a breakout with a 3V regulator and logic level shifting. Its easy to use with any Arduino or microcontroller that has i2c capability.
Using the sensor is easy. For example, if you're using an Arduino, simply connect the VDD pin to the 5V voltage pin, GND to ground, SCL to I2C Clock (Analog 5 on an UNO) and SDA to I2C Data (Analog 4 on an UNO). Then download Adafruit's MPL3115A2 Arduino library and example code for temperature, pressure and basic altitude calculation. Install the library, and load the example sketch. Immediately you'll have the temperature, pressure and altitude data printed in the serial console.
Technical Details
- Dimensions: 18mm x 19mm x 2mm / .7" x .8" x .1"
- Weight: 1.2g
- Vin: 3 to 5.5 VDC
- Logic: 3 to 5V compliant
- Pressure sensing range: 50-110 kPa (up to 10Km altitude)
- 1.5 Pa / 0.3 m altitude resolution
- This board/chip uses I2C 7-bit address 0x60
- MPL3115A2 Datasheet
- EagleCAD PCB files on GitHub
-
Fritzing object in Adafruit Fritzing library