ADC Pressure Sensor

Hi all,

I have been trying to work with a differential pressure sensor (MPXV7002DP) that outputs 0-5V. I have connected the sensor to a Node mcu V3 board. The pressure sensor has 3 pins: Pin1 goes to the Nodemcu 3.3v, Pin2 goes to Nodemcu Ground, and Pin3 goes to Nodemcu A0. When powering the sensor, I did a quick check and hooked a voltimeter to the sensor output, and I could see the ranges going from 0.300 mv to 5.18V (0 to 5V).

In my ESP Home (in Home Assistant), I configure my sensor with the following code:

sensor:

  - platform: adc

    pin: A0

    name: Pitot Tube

    accuracy_decimals: 3

    update_interval: 0.5s

    filters:

      - multiply: 1

I put the filter as “1” because I wanted to see what Nodemcu was seeing, and it sees 0.87 Volts. When I measure the voltage with a voltmeter, I get a reading of 2.7v. Since my expected voltage is 5v, then I put the filter as “5”, but then the ESPHome reads, 4.7.

I then tried multiplying by 5, but adding an offset of -1.8, however, the maximum value measured by the Nodemcu was 3.2v.

I am unsure what to do to just read the raw voltages of 2.7v at no pressure, then 5v for the value when maximum pressure is reached.

Please help!

I’m not 100%, but I think you may need a voltage divider to step the 5v down to the maximum voltage that the esp ADC can read. Which might be 3.3V.

Have a read of this. Differs for ESP32s.

something like this post?

DC Voltage divider - Let’s Control It (letscontrolit.com)

In the case of the Nodemcu, which has ain internal voltage divider, I would need to add two external resistors to step the voltage down from 5v to 3.3v.

so that inside the HomeAssistant values, 0-3.3v is actually 0-5v.

Interesting… Any help on the values for R1 and R2?

1 Like

I’m still learning myself so I probably shouldn’t advise.

I put some stuff here which may help.

I’ve started using 2 X 300k resistors. Keeps it simple.

As stated on the post, I believe adding a 180Kohm resistor between A0 and the Voltage source will reduce the 5v an output voltage of 1v.

I will try it and let you know!!

2 Likes

Hi mmatus1112, did this work out for you? Care to share some more info on the esphome code and reading measurements from the MPXV7002DP?
I’m planning on building an airflow sensor to check out the ventilation in my garage (speed and direction).
Thanks.