Isolated AD5696 4-channel 4-20mA 16-bit Current Loop Transmitter with IoT Interface

Hi T, Looking for help on communicating with and wiring up a ncd board: AD5696 4-channel 4-20mA 16-bit Current Loop Transmitter with IoT Interface to an Arduino Uno.

  1. Don’t seem to be able to communicate with the AD5696 board over I2C even though have confirmed communication with other Arduino Uno units when AD5696 is removed from I2C chain. SCL line is always low (0 volts).
  2. Have not been able to find any software examples of addressing each of the 4 channels on-board the AD5696.
  3. Trying to control a 4-20mA proportional water valve that is powered by a separate 12Vdc power source.
    Appreciate any help - Thank you, J-

Does the AD5696 comes up when you run i2c scan code ?
can you post a picture of your setup?


Hi Bhaskar,
Not sure what I2C scan code you are referring to but we have written a program that successfully sends commands to a slave Arduino through I2C.

We have a laptop connected through USB to the Arduino Uno with an I2C shield. When we connect the AD5696 board through the I2C cable to the Arduino, the software on the Arduino freezes and does not communicate or return any error codes.

We are trying to implement the code and functionality on this ncd link:

I will try to send a photo tomorrow. Thank you, J-

You can use this i2c scan code.


“Sorry, New Users Can Only Put One Image in a Post”

Hi Bhaskar,

Really appreciate the help - Thank you!

We ran the I2C_scan.ino software you sent and we are getting the same results as with our own code:

Picture 1 shows only the slave Arduino connected and the software returns the address of 8 with no problem.

Picture 2 shows connecting the slave Arduino and the slave AD5696 board and the software hangs (becomes unresponsive) during ‘scanning…’.

Picture 3 shows connecting only the AD5696 as a slave and the software again hangs during ‘scanning…’.

Picture 4 shows no slaves connected and the software runs and indicates no devices are connected.

Am I missing something? Thank you for your help, J-

does the SI adapter light comes on when you connect with the power up the Arduino Uno ?

Yes, the AD5696 power LED turns on, the I2C adapter board power LED turns on, the Arduino power LED turns on, and the Arduino pin 13 LED turns on.

can you post close up photos of the arduino adapter and 4-20mA board.

Looks like you are daisy chaining the I2C cables, for the testing purpose can you try with just one cable.


If I understand you correctly, the 3rd photo in the image posted does show only one cable connecting the I2C.
Here is a close up of the Arduino adapter and 4-20mA board.

code can be found here

I got my board wired up today and used the sample code you have posted above to do some quick testing. All seems to work fine using “Wire.beginTransmission(0x0c);” with same jumper setting on the board. I have one more question which may be of general interest. What are the other address values for the channels 2, 3, and 4 next to 0x31 for channel 1? Thank you very much!

i updated the git code, you can use it to read all 4 channels


Thank you very much! I will try it out today.