I have a MPX5010 pressure sensor that outputs a voltage proportional to applied pressure. Output is connected to an amp-op with gain=4 so my output is around 1V when no pressure is applied. That output is feed to the negative pin of a voltage detector. On the positive pin i have a trimpot so i can set a threshold to my detection level around 1,5V: putting some pressure on sensor, it outputs a voltage greater than 1,5V and the voltage comparator goes low. I attached a pullup resistor and a led, so i can see led on when a certain pressure is applied.

This works ok, but after some time, with no pressure applied, the sensor voltage start to drift (atmospheric variation, temperature, i don't know...) and crosses the threshold, so my led is always on.

Is there any way to compensate this drift? Or is there other way to detect a fast change in the sensor output (applied pressure) in opposite to a slow change (drift) ?


  • \$\begingroup\$ The datasheet mentions a 5% accuracy error (and its several charts and other comments re-enforce this.) The datasheet also mentions that it's only spec'd for dry air and that you need to contact the manufacturer for information on non-dry air circumstances. Finally, there is an apnote, AN1646, that you should read. You haven't specified how tight your measurement threshold needs to be -- all you did was specify that there is a line you set it. To help, we need to know what kind of accuracy you require. (Note that worst case it can be as much as \$\pm 250\:\text{mV}\$ variation.) \$\endgroup\$
    – jonk
    Feb 21, 2019 at 19:15
  • \$\begingroup\$ Please see my comment below. My goal is to detect a person walking, when his foot presses a rubber tube. Pressure measure is not important, just a (relevant) change in pressure \$\endgroup\$
    – Geologic
    Feb 22, 2019 at 12:02

1 Answer 1


There are no absolute pressure versions of the MPX5010 so it should not drifting due to atmospheric pressure changing (when no pressure is applied). The MPX5010 is already internally compensated for temperature so there's not too much more you can do on that end.

I would AC filter your pressure sensor with a very low cutoff frequency. That will reject slower changes while passing faster ones. You could set the cutoff frequency to be very very low...like 0.01Hz possibly.

However, if your threshold is being crossed when no pressure is applied just due to drift, I would think that you are using the inappropriate sensor for your application. A sensor with a large input range will necessarily drift more than one with a smaller input range. If you are only interested in small scale readings but use a large scale sensor, the drift of the larger sensor could very well be larger than your threshold. Don't choose a sensor with 4x your required input range and then amplify the output by four times. Choose a sensor with 1/4 of full-scale range so you don't need to amplify it. The designers of the sensor can tweak the pressure membranes, pickups, and internal compensation to drift less over a smaller input range. You can't.

  • \$\begingroup\$ Just to clarify, pressure sensor is diferencial, one end is at open air, the other end is connected to a rubber tube. What i am trying to do is detect a person walking, when his foot presses the tube. Sensor outputs around 2.2V when a 70kg man walks and press the tube, and around 0.1V when no pressure is applied (raw values, without amplification). You are suggesting to get rid of the amp and put a high pass filter with fc=0,01Hz before the voltage comparator, right? A passive (RC) filter is enough or is better a active (RC and amp) filter? \$\endgroup\$
    – Geologic
    Feb 22, 2019 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.