By Michael Stanley -- I had a lot of fun at the Freescale Technology Forum a couple of weeks ago in San Antonio.  It was my first opportunity to attend FTF, and I had a lot of really good conversations with old and new friends about how to solve some of their application problems.  For a self-proclaimed geek like me, it was a blast.


One of the products that we announced during FTF was the MPL3115A2 pressure sensor / altimeter.  This device uses a piezoresistive bridge as its sensor element. It also includes a dedicated ASIC which performs ADC conversions, oversampling,  trim compensation, data path calculations and I2C port control.


Electrical specs for the MPL3115A2  pressure sensor include:

  • Pressure Range:
    • Calibrated: 50 kPa to 110 kPa
    • Operational: 20 kPa to 110 kPa
  • Equivalent Altitude Range:
    • Calibrated: 5574.4m down to -698.3m
    • Operational: 11774.9m down to -698.3m
  • Temperature Range:  -40C to 85C
  • Numerical Output Ranges:
    • Pressure: -131072 to +131071.75 Pa
    • Altitude:  -32768m to 32767.9375m
    • Temperature: -128C to 127.9375C
  • Supply Voltage
    • 1.95V to 3.6V core
    • 1.6V to 3.6V I/O
  • Supply Current at 1 Hz update rate:
    • 8.5 microamps (no oversampling)
    • 265 microamps (128X oversampling)
  • Standby Current: 2 microamps
  • 400 kHz I2C digital interface
  • Resolution: 20 bit output field implies (2 X 131072 Pa / 220 bits) = 0.25 Pa/LSB
  • Noise: 1.5 Pa RMS at 128X oversample rate

You may be wondering how the MPL3115A2 generates altitude estimates.  It’s actually simple math:


Altitude = K1 X (1 – (P/P0)K2) meters,


  • K1 = 44300.77 meters
  • K2 = 0.190263 (unitless)
  • P0 = 101325 Pascals

It’s easier to picture it graphically:


altitude_graph2.pngIdealized Altitude as a Function of Air Pressure

You are also probably wondering just exactly where this expression comes from.  It turns out that it can be computed from information contained in “U.S. Standard Atmosphere, 1976”, published by NOAA, NASA and the USAF.  The document describes in excruciating detail “an idealized, steady-state representation of the earth’s atmosphere from the surface to 1000km”.  The spec describes pressure as a function of altitude.  By inverting those expressions, we arrive at the equation shown.  Subject to minor differences in representation and/or round off error, this is the expression commonly used for altimeter functions.

As you expect, air pressure goes down as altitude increases.  Here are a few data points to put things in perspective:

  • Mount Everest is 8,848 meters high
  • The Dead Sea is -422 meters below “sea level”
  • The highest town in the world is Wenzhuan, which is 5099.3 meters above sea level
  • The highest town in the U.S.A. is Leadville, CO, at 3179.1 meters above sea level

“Calibrated Range” means that sensor output parameters meet datasheet accuracy requirements.  In areas outside of that range, but within the “Operational Range”, the sensor still functions reasonably well, but does not meet all datasheet accuracy requirements.     If you look at the list of elevations above, you’ll see that the MPL3115A2 will give you an accurate measurement from almost any town or city on the planet.  Undersea cities will have to solve the elevation problem in other ways.  And if you happen to be standing on the top of Mount Everest, you’ll get a measurement that makes sense, although it may not be spot on.mpl3115a2_bd_687x480-6-9-11.jpg
Like other members of the Xtrinsic sensor family, the MPL3115A2 is an intelligent sensor.  There’s a lot of good stuff hidden under the “Digital Signal Processing and Control” block in the figure above.   We’ll discuss that more in Part II of this series.



  1. MPL3115A2 product page at
  2. Properties of the U.S. Standard Atmosphere 1976
  3. Piezoresistive effect at Wikipedia