How to convert a 4-20mA to 0-10V signal in a Arduino PLC
4-20mA to 0-10v signal converter on Arduino Analog inputs
9 January, 2019 by
How to convert a 4-20mA to 0-10V signal in a Arduino PLC
Boot & Work Corp. S.L., Support Team


What is a 4-20mA Signal?

Why is 4-20mA standard?

4-20mA signal is an Analog signal which if it is connected to an Arduino board or an industrial Arduino-based PLC controller identifies the value from the sensor. The controller receives a current from the sensor, allowing the Arduino PLC to transform that electrical signal to an understandable value. ready for being used on the software code. This value is used for the programmer to know the right units of measure received from that sensor and understand the Industrial project's situation.

4-20mA is mainly used for long-distance cables because the current signal receives less interference from noise or EMC issues than a voltage signal such as 0-10Vdc analog inputs. 

Arduino is not able to receive a current analog signal because the analog signals from Arduino work from 0 to 5Vdc, so it is necessary to convert the current analog signal to a Voltage. It is important to know that Industry voltage analog signal standards work from 0 to 10Vdc so the way to transform a 4-20mA to Arduino is quite different as transformed for Arduino-based PLC which works at 0-10Vdc.

Converter circuit diagram for 4-20mA Analog Sensor to 0-10Vdc

It is necessary to convert a 4-20mA to a 0-10Vdc signal. As you can see in the below diagram, you can understand how to transform a 4-20mA to 0-10v using Ohm Law. 

The product families Ardbox Analog and Ethernet industrial PLC have some Analog /Digital configurable input signals

Converter circuit diagram Arduino Industrial application for Analog Signals Diagram


To do this it is necessary to connect an impedance of 500Ohm between the analog 4-20mA signal and the ground signal as shown in the diagram. If you do, the analog value will change from current to Voltage.

How can you make a 4-20mA to 0-10V signal conversion on your industrial controller Arduino for industrial automation?

Arduino based PLC
4-20ma to 0-10V converter module
Arduino IDE

          You can use Arduino based PLCs

Arduino as a single board is not able to be used in Industrial environments for that reason Industrial Shields has developed an Industrial Shield for Arduino which includes an original Arduino board inside and it is fully compatible with Industrial Standards.

                        4-20ma to 0-10V converter module

It is easy to understand how to transform a 4-20mA to 0-10Vdc through a 500Ohm resistance through the Ohm Law. If you need to test it using an Arduino Uno, Arduino Mega or Arduino Leonardo Boards you must replace the 500Ohms to 250Ohms to transform 4-20mA to 0-5Vdc.

                          Arduino IDE

If you want to test it easily you can use the Arduino IDE using the example "Analog Input" which allows the user to read the 10bits Analog inputs from the Arduino to
0 - 1023 values.
If you have not used Arduino IDE before you can also join the course.


How does the input value change to Arduino?

When you have a signal of 4-20mA for 10bits, you get the following data:

4-20mA signal

10 bits


0 value


1023 value

But, if you convert this signal to 0-10Vdc, the results are:


0-10Vdc10 bits

204 value* (approximately)


1023 value

As you can see the result of 4mA (2Vdc), is close to 204. Below is the linear graph where the results come from:

Result of 4mA (2Vdc)-Linear graph

This is a process to be automated.

Contact us to implement the complete solution or if you need more information.

How to convert a 4-20mA to 0-10V signal in a Arduino PLC
Boot & Work Corp. S.L., Support Team
9 January, 2019
Share this post

Looking for your ideal PLC?

Take a look at this product comparison with other industrial controllers Arduino-based.

We are comparing inputs, outputs, communications and other features with the ones of the relevant brands.

Industrial PLC comparison >>

Do you want more information?

Just fill the form!

Tell me more!