Reading Freescale MPX2202 series pressure sensor


I’ve spent the last 2-3 weeks trying to get Arduino read this pressure sensor, to no avail. Here’s a datasheet:

I have this part: MPXM2202GS. Here’s what I’ve tried so far:

  • Connect + Vout to arduino analog pin. I’m able to read only one value all the time, regardless of pressure, due to resolution of ADC
  • Use 1 OP Amp in “differential” configuration. I’ve tried 3-4 different calculators for resistor values, all of them show different outcomes. I’ve tried experimenting with 5 different gain configurations, all of them get about the same output voltage, and it does not change with pressure change
  • Using 2 OP Amps as described in this application paper at Freescale site. I’m always getting the same voltage, regardless of pressure.
  • Instrumentation amplifier (which is supposed to be the most precise and correct way to interface with the sensor), still no luck. More on this below.

So, I think I have something connected incorrectly to my instrumentation amplifier, as it should work for exactly this purpose. I am using this part:

+5v voltage supply for both sensor and amplifier. Tried connecting IN+ to +Vout and IN- to -Vout, I’m getting ~5V on ADC Output. Tried inverse: connecting IN+ to -Vout and IN- to +Vout. Still getting ~5V on ADC Output pin. See my attachment for amp connection schematic. I had to create my own symbol for this though. And those 4 wires coming to the left - they go to pressure sensor connector. Note that wiring is reversed properly in the cable, so that it goes to (top to bottom) pin 3, 2, 4, 1 on pressure sensor.

When I disconnect +Vout and -Vout from amplifier, I am reading between 0 and 5mV between those 2 terminals. Both around 2.5V to ground or VS. When connected to amp, I’m reading 3V on IN- and 5V on IN+.

I’m out of ideas at this point. Does anyone see anything wrong with my connections? Any ideas on what can be tried next?

Thanks for the help! And I apologize for the length, just trying to put everything I know out there.

You’ll need an intrumentation amp or a rail_to_rail op-amp. (as application note)
Schetch shows 30x ampl, but U need more. → change 2 of the resistors
Calibrating the unit can be done by software…


I'm using instrumentation amplifier, and always getting +5V output.

I just tried another thing: connecting voltage reference to +2.5V. Still getting same +5V on the output.

Any suggestions on what's wrong with my connection?

check your datasheet, to find the correct gain.
There may be an input for an offset voltage too (to bring your output within 0V..45V)
Check the increasing sensor ouput goes to amps. positive input.

Which amp is this ??

Datasheet is in the first post.
It has a fixed gain resistor built-in, set to 80x amplification.
Tried to drive REF, still the same. Tried swapping inputs, still the same. I'm always getting 5V output.

Try a 10k … 100k pot to be able to adjust offset voltage to ca 0.5 V
…connect one output from sensor to both inputs. :> same voltage on both inputs should give 0.5V out


Tried connecting ONE of the sensor inputs to BOTH instrumentation amp inputs, and I'm getting 2.5V at the output, regardless of pressure. :frowning:

Just tried another variation: connected REF pin to GND. Got 0V on output, regardless of pressure.

did you notice that this device wants a 10 V power supply ?

Tried connecting ONE of the sensor inputs to BOTH instrumentation amp inputs, and I'm getting 2.5V at the output, regardless of pressure. smiley-sad

in this situation:
adjust Uref to get ca 0.5V out. Then separate the inputs again. Set the gain resistor to get a gain of 50..80

@michinyon: supply voltage can be up to 16V. All that changes is sensitivity. E.g. with 10V Vss, sensitivity is 0.2mV/kPa. With 5V supply, it’s 0.1mV/kPa. Sensor works, when I measure difference between output leads, I see corresponding mV reading, proportional to pressure.

@knut_ny, I’ll try that tonight.