MPX5010 and MPX5700 pressure sensors

NXP's integrated silicon pressure sensors, the MPX5010 (0 to 10 kPa) and the MPX5700 (700 kPa), with an analog output from 0.2 to 4.7 V.

In the six-pin black unibody package; Freescale made them before NXP, and Motorola before that. Aliases: MPX5010, MPX5010DP, MPX5700, MPX5700AP, MPX5700DP, MPX5700GP, MPX pressure sensor, differential pressure sensor.

A silicon diaphragm with a strain gauge etched into it shares the chip with the temperature compensation, the calibration and an amplifier, so the output is 0.2 to 4.7 V and goes straight to an analog pin. The DP has two ports and reads the difference, P1 (the side with the part marking) over P2. The GP has one port and reads P1 over the room. The AP has a sealed vacuum behind the diaphragm and reads absolute pressure: the weather, and the altitude.

Pins

Pin Name What it does
1 VOUT The output, 0.2 to 4.7 V. Pin 1 is the notched lead.
2 GND Ground.
3 VS Supply, 4.75 to 5.25 V.
4 to 6 Internal connections: the datasheet says to leave them unconnected, and the part draws them without pins.

Properties

model is MPX5010DP (0 to 10 kPa, differential), MPX5700AP (15 to 700 kPa, absolute; the default), MPX5700DP (0 to 700 kPa, differential) or MPX5700GP (0 to 700 kPa, gauge). The slider on the part is the pressure in kPa: absolute for the AP, which starts at 101.3 kPa, a standard atmosphere; the others start at zero.

What the model gets right

From the Motorola MPX5010 (Rev 9) and Freescale MPX5700 (Rev 10) datasheets:

The transfer functions. For the MPX5010, VOUT = VS x (0.09 x P + 0.04), P in kPa: 0.2 V at 0, 4.7 V at 10 kPa, 450 mV a kPa. For the MPX5700, VOUT = VS x (0.0012858 x P + 0.04): 0.2 V at 0, 4.7 V at 700 kPa, 6.4 mV a kPa. The AP's range starts at 15 kPa, 0.296 V.

Ratiometric. Both are "ratiometric within this specified excitation range": the output is a fraction of VS, so a sketch that works in fractions of the converter's reference, (reading / 1023.0 - 0.04) / 0.09, cancels the supply out.

The supply. 4.75 to 5.25 V. Outside that the model leaves VOUT floating.

Saturation. "The output will saturate outside of the specified pressure range." The slider stops at the range's ends, and so does the output.

The resolution. One converter step at 5 V is 10.9 Pa on the MPX5010 and 0.76 kPa on the MPX5700. On an AP that is about 65 m of altitude a step: fine for a weather station's trend, coarse for an altimeter, which is what a BMP280 is for.

What it does not model

The error band: plus or minus 5% of the span on the MPX5010 and 2.5% on the MPX5700, so a real part's zero is anywhere from 0 to 0.425 V on the MPX5010 and 0.088 to 0.313 V on the MPX5700 gauge parts. Here the zero is exactly the transfer function's. Also not modeled: temperature, the 1 ms response time and the 20 ms warm up, the 5 to 7 mA supply current, the proof pressures (75 kPa for the MPX5010, 2800 kPa for the MPX5700), negative differential pressure (the datasheets' parts are for P1 at least P2), and the output's weak drive (0.1 mA at full scale; here it is a source behind 100 ohm).

Common mistakes

Not measuring the zero. The datasheet's zero has a wide spread, so a sketch that reads the output with no pressure at power on and subtracts it reads small pressures far better than one that trusts the 0.2 V.

Connecting pins 4 to 6. They are the chip's own test connections, not spare grounds.

Using an MPX5700 for small pressures. 6.4 mV a kPa is a converter step every 0.76 kPa; an air duct's few hundred pascals need the MPX5010.

See it in action

Pitot airspeed meter turns an MPX5010DP's reading across a pitot tube into the wind's speed in m/s and km/h on an I2C LCD. Open it at /templates.