Back to Sensors & Actuators Series

Analog Pressure: MPX5010 & MPX5700

April 10, 2026 Wasil Zafar 8 min read

MPX5010 & MPX5700 deep dive — MEMS piezoresistive pressure sensing, analog interfacing, water level measurement, and industrial applications.

Contents

  1. Working Principle
  2. Electrical Characteristics
  3. Interfacing with MCU
  4. Calibration
  5. Code Example
  6. Real-World Applications
  7. Limitations

Working Principle

The MPX5010 and MPX5700 from NXP (formerly Freescale) are piezoresistive MEMS pressure sensors with integrated signal conditioning. A silicon diaphragm with implanted strain-gauge resistors forms a Wheatstone bridge. When pressure deflects the diaphragm, the bridge becomes unbalanced, producing a voltage proportional to the applied pressure. On-chip amplification and temperature compensation deliver a linear, high-level analog output directly readable by an ADC.

  • MPX5010: 0–10 kPa (0–1.45 psi) — ideal for low-pressure: water level, ventilator airflow, HVAC differential pressure
  • MPX5700: 15–700 kPa (2.18–101.5 psi) — suited for high-pressure: tyre pressure, hydraulics, compressed gas

Electrical Characteristics

ParameterMPX5010MPX5700
Supply Voltage5.0 V (±0.25 V)5.0 V (±0.25 V)
Pressure Range0–10 kPa15–700 kPa
Output (Full Scale)0.2–4.7 V0.2–4.7 V
Accuracy±5% (0–85 °C)±2.5%
Sensitivity450 mV/kPa6.4 mV/kPa
Response Time1 ms1 ms
Temperature Compensation0–85 °C0–85 °C
TypeGauge (ported)Absolute (sealed)

Interfacing with an MCU

Both sensors output a ratiometric analog voltage (proportional to VS). Connect VOUT to an ADC input. The output spans 0.2–4.7 V on a 5 V supply.

Wiring (MPX5010): Pin 1 (VOUT) → A0, Pin 2 (GND) → GND, Pin 3 (VS) → 5 V. Use a 0.1 µF bypass capacitor between VS and GND.
Ratiometric advantage: Since output scales with supply voltage, use the same 5 V rail for sensor and ADC AREF to eliminate supply voltage errors.

Calibration

  • Zero-pressure offset: Read ADC at atmospheric pressure (vent open) and store as baseline offset
  • Known-pressure verification: Apply a known pressure (e.g., 5 kPa from manometer) and verify linearity
  • Transfer function: MPX5010: VOUT = VS × (0.09 × P + 0.04), MPX5700: VOUT = VS × (0.0012858 × P + 0.04)

Code Example

/*
 * MPX5010 Gauge Pressure Sensor — Arduino
 * Wiring: VOUT → A0, VS → 5V, GND → GND
 * Measures 0-10 kPa (water level, airflow)
 */
#define SENSOR_PIN A0
#define VS 5.0

void setup() {
    Serial.begin(9600);
}

void loop() {
    int raw = analogRead(SENSOR_PIN);
    float voltage = raw * (VS / 1023.0);

    /* MPX5010 transfer function:
       Vout = Vs x (0.09 x P + 0.04)
       P = (Vout/Vs - 0.04) / 0.09  [kPa] */
    float pressure_kPa = ((voltage / VS) - 0.04) / 0.09;

    /* Convert to cmH2O for water level (1 kPa = 10.2 cmH2O) */
    float waterLevel_cm = pressure_kPa * 10.197;

    Serial.print("Pressure: ");
    Serial.print(pressure_kPa, 2);
    Serial.print(" kPa  |  Water Level: ");
    Serial.print(waterLevel_cm, 1);
    Serial.println(" cm");

    delay(500);
}

Real-World Applications

Water Level & Medical Ventilation Monitoring

The MPX5010 is widely used in water-level measurement (connected to a submerged tube, pressure equals water column height), CPAP/ventilator airway pressure monitoring, and HVAC filter differential-pressure sensing. The MPX5700 handles industrial hydraulic pressure and tyre-pressure monitoring systems (TPMS).

Water LevelMedicalHVACIndustrial

Limitations

  • Media compatibility: The sensor port is not designed for corrosive liquids or gases — use dry, non-corrosive media only.
  • 5 V only: Requires a stable 5 V supply; not directly compatible with 3.3 V boards without scaling.
  • Temperature sensitivity: Accuracy degrades outside 0–85 °C without external compensation.
  • No digital output: Analog output is susceptible to EMI on long cable runs.