I am trying to choose between two sensor output types.

Either 0-10V or 4-20mA.

I am using the INA219B to measure current right now but I am wondering if getting a different output sensor would be more accurate.

I understand current and voltage are very different things but in this case they mean the same thing for me, how much load is on the pressure sensor (0-100% or level height.)

I am using a 1 ohm shunt resistor to measure the current for now but I can change this if it is a problem.

I am trying to measure very small changes (down to the millimeter or below of a column of diesel fuel) on a pressure sensor. The more accuracy or resolution I can get the better.

The basic calculations I have done are that to measure 1mm I either need to measure every 10mV or 16uA depending on what I choose (I am using a 1M sensor.) I am leaning towards every 10mV being the easier one of the 2 to measure.

I have also thought about changing this whole thing to a low noise temperature compensated op-amp design, but I have little or no idea where to start with that and as I only have 12V to work with I would only be amplifying the current in this situation to get an easier reading. As this runs off battery, I don’t like the idea of that.

If anyone has experience with measuring sensor output with the INA219B in both voltage readings and current your input would be a great help.

  • \$\begingroup\$ What is your question ? \$\endgroup\$
    – Damien
    Jun 16, 2021 at 9:49

2 Answers 2


Voltage or current output sensor have tradeoff.

Current allows a better immunity to noise if you have long wires, but requires a shunt or transimpedance amplifier which will introduce uncertainties.

The accuracy of the sensor may also depend on the type of output and will be indicated on the datasheet.

If you use a shunt, make sure to use a 4-point kelvin shunt. 1ohm will give you fairly low voltages and high-end amplifier will be required, with low input offset will be needed.

In your case, (current version) depending on the sensor max voltage output, 10ohm/100ohm shunt will give you way more signal, which will be easier to measure.

The voltage version of the sensor has a bigger range, if you don't have long wires or noise issues, you'd rather go this direction.

  • \$\begingroup\$ Thanks, I have very short wires so I think the 0-10V will be my best bet. Would you suggest I still use the 1 Ohm shunt resistor or should I change this value to something higher to get a bigger voltage drop and so get better readings ? ( I still plan to use the INA219B chip unless you think that is a bad idea and know something bettter ? ) \$\endgroup\$
    – Spider999
    Jun 16, 2021 at 10:04
  • \$\begingroup\$ Well if you use the voltage version you don't need the shunt and can directly hook it to the INA. INA219 is to measure power (current + voltage), while it will probably work, it's not the best fit to measure a sensor. Your MCU probably has analog input, you can simply use a voltage divider with 2 resistor to comply to your MCU voltage, or use another ADC. \$\endgroup\$
    – Damien
    Jun 16, 2021 at 10:15
  • \$\begingroup\$ I kicked myself not 2 minutes after posting that comment when I realised I didnt need the shunt anymore, thanks again for the input, last question if you wouldn't mind though, do you have any suggestions for an I2C dedicated voltage sensor ? The ESP32 I am using right now does not have a very accurate ADC ( so I have read ) I dont really trust it fully and as I am using 0-10V now I dont want to use a voltge divider and lower my accuracy if I could just have an IC that can do 0-10V by itself if you know what I mean. \$\endgroup\$
    – Spider999
    Jun 16, 2021 at 10:35
  • \$\begingroup\$ There are thousands, at 10V it might get a bit expensive so you rather lower the voltage with a voltage divider. LTC2451CTS8 is an option, you can go to 18/24 bits depending what you need. Add an RC filter before the ADC if you don't need fast measurement to lower the noise. \$\endgroup\$
    – Damien
    Jun 16, 2021 at 10:39
  • \$\begingroup\$ Thanks again, you have been a massive help. \$\endgroup\$
    – Spider999
    Jun 16, 2021 at 10:41

I don't know the specifics of your sensor, but one option could be to switch to a precision ADC (eg. ADS122C04 if you want an I2C interface).

If you're doing a voltage measurement, connect your sensor as one arm of a voltage divider across the ADC's voltage reference (which can be the supply voltage for the ADS122C04), and perform a single-ended measurement. This cancels out the noise in the sensor excitation voltage.

If you're doing a current measurement, put the sensor in series with a resistor and use the voltage across that resistor as the ADC's reference voltage for the same effect (cancelling out common-mode noise). Configure the ADC for a differential measurement and use its built-in current source for sensor excitation.

Both methods have their advantages and drawbacks in terms of linearity, dynamic range and ability to use the ADC's programmable gain amplifier.

Edit -- this is for a resistive sensor, so maybe it's not applicable to yours.


Your Answer

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

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