How to chain MCP3428 based (4-20mA) boards using nodeLynk?

Hello,
I currently have a system setup with a Raspberry PI hooked up to an MCP3428 based 8 channel board (referred to as the “Base setup” for the rest of this post).

I want to extend this system and would like to understand if my proposed solution would work. Embedded in the description below are 3 questions. Looking forward to a response to those !

For ease of readability in the following discussion:
[1] https://store.ncd.io/product/mcp3428-8-channel-4-20ma-16-bit-current-receiver-with-iot-interface/
[2] https://store.ncd.io/product/i2c-to-iot-interface-adapter/
[3] https://store.ncd.io/product/mcp3428-4-channel-4-20ma-16-bit-current-receiver-with-iot-interface/
[4] https://store.ncd.io/product/8-channel-i2c-4-20ma-current-receiver-with-i2c-interface/

Base_setup connectivity:
RPI -> RPI IOT/I2C shield -> I2c cable -> adapter [2] on [1]

I now want to extend this base setup in 2 different configurations:
config 1: add an MCP3428 based 4 channel board (i.e. 3 MCP3428 chip in total)
config 2: add 2 more MCP3428 based 8 channel boards (i.e. 6 MCP4328 chips in total)

Note that config 1 and config 2 will be used mutually exclusively i.e. system will be extended either in config 1 or config 2.

Described below is the connectivity I had in mind. You can safely assume that, all MCP4328 chips in the I2C/nodeLynk chain will be assigned a unique I2C address with jumper settings.

Config 1 (using 1 x [1] & 1 x [3]):
Base_setup -> I2C out port on [1] -> I2C cable -> adapter [2] on [3]
Question1: Will config_1 work ?

Config 2 (using 1 x [1] & 2 x [4]):
Base_setup -> I2C out port on [1] -> I2C cable -> I2c In on instance_1 of [4] -> I2C out on instance_1 of [4] -> I2c In on instance_2 of [4]
Question2: Will config_2 work ?

A small variant of config 2 connectivity (lets call it config 2 v2) is using more of [1] & [2] instead of using [4]. Config 2 ver 2 (using 3 x [1] & 3 x [2]):
Base_setup -> I2C out port on [1] -> [2] on instance_2 of [1] -> I2C out port on instance_2 of [1] -> [2] on instance_3 of [1]
Question2: Will config_2_ver2 work ?

config_2_ver2 is interesting for me because I already ordered those parts (for a diff reason) and now realized that the same parts could be used for the extension instead of ordering [4].

rgds …
–Parag

Hi Parag,
Quite a detailed explanation. :blush:
Yes, config_2_ver2 will work. You can use a total 12 MCP3428 on one I2C master. that will give you a total 48 4-20mA Inputs. You can use any combination or 4,8 and 12 channel boards.

Let us know if you have any other questions.

Thanks

Hi Bhaskar,
Glad to hear that config_2_ver2 will work.

However I’m surprised to hear that 12 MCP3428 can be accessed on an I2C master. I had expected the answer to be 8 (MCP3428 chips). That is because the board jumpers allow you to configure only 8 possible unique I2C addresses and each chip needs a unique I2C address.

What am I missing ?

rgds …
–Parag

PS - You’re right. Maybe my explanation was a bit too detailed :wink: !

The MCP3428 also supports floating Addressing.
Checkout the wiring diagram on product page.

Thanks