This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

XTR105: Support on understanding possible ground loop with XTR105 + Arduino Dues

Part Number: XTR105
Other Parts Discussed in Thread: XTR116, XTR115, XTR111

I've been trying to create two signal converter circuits for Arduino Dues. These circuits would be used to interface the board with 4-20mA enabled industrial devices:

1) Voltage to Current: Since i'm using the DUEs DACs, i should convert 0.55-2.75V to 4-20mA.

2) Current to Voltage: The DUE's input voltage range is 0-3.3V, so, i need to convert 4-20mA to 0-3.3V.

For circuit 2, there is a commercial board called HW-685 that is capable of doing that conversion properly. For circuit 1 I'm trying to develop a solution using a XTR105.I've already assembled the first attempt for circuit 1  and it actually works. I'm able to input 0.55-2.75V from an Arduino Due's DAC port and obtain 4-20mA in the XTR105. 

The problem rises when I try to use both circuits at the same time. I still don't have any industrial 4-20mA enabled device here with me now to test so i'm trying to assemble everything and use 2 Arduino Dues to test if every circuit is properly working.

This test circuit is shown in the wiring_v2.pdf file that is attached. The expected behaviour would be:

1) Variable 0.55 - 2.75 V form Arduino Due #1 in its DAC pin is connected to XTR105.

2) XTR105 current loop provides 4-20mA proportional to Arduino Due #1 DAC pin.

3) The current loop is connected to HW-685 current to voltage converter and it provides 0-3.3V proportional to the input current.

4) HW-685 voltage output is fed to Arduino Due #2 and this would be digitally read as a 12 bit resolution 0-4095 signal.

5) A proportional signal to the one coming from HW-685 would be found as an Arduino Due #2 DAC output. This would work as a feedback signal that would be connected to Arduino Due #1 and would provide a way of comparing the consistency of the information that is sent and the one that is read as feedback. If the signals are within a certain expected range, this would mean that every circuit is working fine.

The problem happens when I connect the Arduino Due #2 GND to Arduino Due #1. The current drops at the XTR105 and everything goes wrong. 

Reading some posts in this forum it seems like I should use an isolator since i'm not powering Due #1 with Vreg pin of XTR105. I just want to confirm if my understanding of this issue is correct or if I'm missing some point. I bought a HCNR201 analog optocoupler and I'm wondering if that would fix the problem or not.

Will I be able to achieve this test circuit if I provide this galvanic isolation between the XTR105 and Arduino Due #1 using a HCNR201 analog optocoupler?wiring_V2.pdf


  • Hello,

    The XTR105 is a 2-wire 4mA to 20mA current transmitter incorporating current sources, analog front-end instrumentation amplifier (providing gain) and linearization circuitry intended to interface directly with RTD temperature sensors (without a microcontroller), where the IRET potential cannot be connected to the loop supply GND potential.  Two-wire current transmitters are in general powered directly from the loop supply and the overall current consumption of the 2-wire current transmitter + overall sensor circuits must not exceed 4mA. 

    On this application, the problem is that you are connecting the XTR105 IRET of the device to the loop supply GND on the receiver side, causing issues; IRET has to be allowed to float with respect to the loop supply and must not be connected to the loop GND.  Since the XTR105 is a 2-wire current transmitter, the XTR105 can only power the sensor and circuitry through the regulator as long as the current consumption of the overall transmitter and sensor circuit is less than 4mA. The XTR105 consumption is 2.2mA typical (1.8mA to 2.6mA), therefore the current consumed by the microcontroller and sensor needs to be less than 1.8mA. 

    It is likely that the 4mA current budget may be exceeded, therefore, you could attempt using an analog isolator or isolation amplifier to drive the XTR105, and power the microcontroller/sensor with an external supply, although the cost of the analog isolator will tend to be high.

    If you wish to convert a microcontroller output and transmit via a 2-wire current transmitter, one very popular solution is to use the XTR115 or XTR116 (two-wire current transmitter).   If the overall current consumption of the Arduino controller + sensor + XTR115 current is expected to exceed 4mA, one popular solution is to generate a PWM signal, and feed through an RC filter via a digital isolator, and power the microcontroller + sensor with an external supply as shown below.


    Alternatively, another popular approach, if you have access to the loop supply ground on the transmitter side, look into using instead a 3-wire current transmitter such as the XTR111.  The XTR111 (3-wire transmitter) will allow you to refer all the transmitter and receiver circuits to the same loop supply ground potential without the need of isolation.  The XTR111 (3-wire transmitter) + microcontroller and sensor can be powered by a local supply, without a 4mA current consumption constraint.

    Please refer to the link below, it includes current loop transmitter 2-wire and 3-wire tutorials and frequently asked questions

    Thank you and Regards,


  • Thank you very much for the support, Luis.

    The problem and the ways of solving it are clearer for me now!

    The only remaning question that I have for now is: Do yoy think a HCNR201 would do the trick as a functional analog isolator?