

The MPXV4006DP is a differential pressure sensor that provides a voltage output proportional to the pressure difference between its two ports. It is designed for applications requiring precise pressure measurements, such as in HVAC systems, medical devices, and industrial automation. This sensor is part of the Freescale (now NXP) family of pressure sensors and is known for its high accuracy, reliability, and ease of integration into electronic systems.








The MPXV4006DP is a highly sensitive and accurate sensor. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Pressure Range | ±6 kPa (±0.87 psi) |
| Output Voltage Range | 0.2 V to 4.7 V |
| Supply Voltage (VCC) | 5 V ± 0.25 V |
| Sensitivity | 0.6 mV/Pa |
| Accuracy | ±1.5% of full-scale span |
| Operating Temperature Range | -40°C to +125°C |
| Response Time | 1 ms |
| Port Style | Dual port (differential) |
| Package Type | Small Outline Package (SOP) |
The MPXV4006DP has a standard 6-pin configuration. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VOUT | Analog output voltage proportional to pressure |
| 2 | GND | Ground connection |
| 3 | VCC | Supply voltage (5 V) |
| 4 | NC | Not connected (leave unconnected) |
| 5 | NC | Not connected (leave unconnected) |
| 6 | NC | Not connected (leave unconnected) |
Below is an example of how to connect the MPXV4006DP to an Arduino UNO and read the pressure data:
// Define the analog pin connected to the sensor's VOUT pin
const int sensorPin = A0;
// Define the supply voltage and sensor sensitivity
const float supplyVoltage = 5.0; // Arduino's supply voltage (5V)
const float sensitivity = 0.6; // Sensor sensitivity in mV/Pa
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
// Read the analog value from the sensor
int sensorValue = analogRead(sensorPin);
// Convert the analog value to voltage
float sensorVoltage = (sensorValue / 1023.0) * supplyVoltage;
// Calculate the pressure in Pascals (Pa)
// Offset voltage is 0.2V, so subtract it before dividing by sensitivity
float pressure = (sensorVoltage - 0.2) / (sensitivity / 1000.0);
// Print the pressure value to the Serial Monitor
Serial.print("Pressure (Pa): ");
Serial.println(pressure);
delay(1000); // Wait for 1 second before the next reading
}
No Output Voltage or Incorrect Readings
Fluctuating or Noisy Output
Output Voltage Stuck at 0.2 V
Sensor Damage
Q1: Can the MPXV4006DP measure absolute pressure?
No, the MPXV4006DP is a differential pressure sensor and measures the pressure difference between its two ports (P1 and P2). For absolute pressure measurements, use an absolute pressure sensor.
Q2: Can I use the MPXV4006DP with a 3.3 V microcontroller?
The MPXV4006DP requires a 5 V supply for proper operation. However, you can use a voltage divider or level shifter to interface its output with a 3.3 V microcontroller.
Q3: How do I compensate for temperature variations?
The sensor's output may vary slightly with temperature. Use a temperature sensor in your system and apply software compensation to correct for temperature-induced errors.
Q4: What type of tubing should I use for the pressure ports?
Use flexible, airtight tubing that fits securely onto the sensor's ports. Silicone or PVC tubing is commonly used for this purpose.