I want to read a 4-20 mA analog signal from a 24V flowmeter. I've read the simplest way is to convert it into 1-5V signal using a 250 ohm resistor. The thing is I want my reading to be precise so my question is; is there any resolution loss when converting it to 1-5V?

I've also looked up on current to voltage converting boards similar to this one: https://www.sparkfun.com/products/14544

but I don't think they can detect 4mA signal.

I am a beginner in this so need some guidance here.

  • "resolution loss" compared to what?
    – Majenko
    Commented Feb 21, 2020 at 0:02
  • compared to current. basically if it has enough sensitivity (to differentiate between 5mV and 15mV). 1023 (10 bit) divisions are spaced out in 4-20mA as compared to 1-5V.
    – Sumit Mann
    Commented Feb 21, 2020 at 0:15
  • 10-bit divisions are only spaced between 4 and 20mA if you can somehow subtract 4mA from everything and then arrange it to work from 0-16mA. Subtracting current is hard.
    – Majenko
    Commented Feb 21, 2020 at 0:20

1 Answer 1


Using a resistor is the "Normal" way, yes. 250Ω will give you 1-5V, yes, which means that you get 4/5 of the actual resolution of the ADC at your disposal.

That means instead of 0-1023 you're actually reading 204-1023, or 819 possible values. Spread over 16ma (or 4V, which are the same thing) that gives you about 20µA resolution.

If you really really care about that extra 1/5 of the resolution you can instead use a 300Ω resistor to give you 1.2 to 6V, then pass that through a subtracting amplifier (see this post) and subtract 1.1V from it (you need to create that 1.1V, of course). That will give you 0.1 to 4.9V, which then covers more of the ADC's available range (20-1002, or about 16µA resolution).

Is it worth it? Probably not. Any increase in resolution will likely be swamped by the inaccuracy of the resistor and potential drift though self heating.

  • self-heating and resistor in-accuracy will also prevail with a 250 ohm resistor. how is that different?
    – Sumit Mann
    Commented Feb 21, 2020 at 0:33
  • @SumitMann it's not. My point is that you will be getting a tiny bit more accuracy or of a system that is inherently inaccurate.
    – Majenko
    Commented Feb 21, 2020 at 0:35
  • if this is an inaccurate way, can you suggest me another way to read that analog sensor? Thanks.
    – Sumit Mann
    Commented Feb 21, 2020 at 0:38
  • How accurate is the flow meter? No matter how precise or accurate you make the current to voltage conversion, or how well you utilize the Arduino native A/D resolution, you can't do any better than the flow meter's accuracy/precision? If the flow meter is only providing +/- 10%, then I wouldn't worry too much about errors introduced by using a +/- 5% 250-ohm resistor.
    – starship15
    Commented Feb 25, 2020 at 21:12

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.