Using 4-20mA transducers

How can I use a 4-20mA pressure transducer with Arduino. I’m assuming it can’t just connect to an analog input, can it?


Use Ohm’s Law to find a resistor that results in 5V across it when 20ma is passed through it.

That’s easy enough. At 20mA I’d want 5 volts on the input pin, so I’d use 250 ohm resistor.

Thanks. It’s nice when the answer is simple.


Yes, standard practice in the process control industry is to use a 250 ohm resistor in series with ground and then on to the current loop. You can then measure the resulting 1-5vdc voltage drop as a simple analog input voltage to the Arduino.
NOTE: the current loop voltage source’s ground will have to be wired to the Arduino ground for this to work.

I would just put some protection on the analogue input in case the earth comes adrift and you get an over voltage on the input.

So in the scenario where I need a 250 ohm resistor to convert the input from 4-20mA to 1 to 5 volts, would I put the 250 ohm resistor in parallel with the capacitor in this circuit:


Yes, you can connect a 250 Ohm resistor in parallel with that 100 pF capacitor.

Remember that the accuracy of your readings will be entirely dependant on the accuracy of your 250 Ohm resistor. Any variation in the value of that resistor, due to e.g. temperature changes, will affect your readings.

Thanks for the tip, that makes sense.

Looking at this I realize I probably want to start drawing schematics like this out and saving them. Is there a good electrical schematic program you would recommend.


Lots of people will say Eagle because it’s free… but for just schematics… it’s like using a sledgehammer to drive thumbtack… it works… but its way more than you need.

LinearTech made a tool call Switchercad (now renamed since it supports spice) that can make drawings pretty quick.

My personal preference is SPLAN from ABACOM

Eagle also has the advantage that there are Windows, MacOS and Linux versions.