8-Channel DC Current Monitor with I2C Interface (SKU:PR3-6) Node-Red setup



I’m looking for troubleshooting help setting up the 8-Channel DC Current Monitor board with Node-Red.

I’m having trouble setting up the Node-red module for the 8-Channel DC Current Monitor. I’m only getting readings for 2 channels at a time and always the highest and lowest number (e.g. if I set channels 2,3,4,7,8 to single ended mode, it will only include a reading for channel 2 and 8 in the mes.payload). No matter how I configure the node,

There appears to be several things wrong with the node:

  1. Incorrect channel information (say ch2 sensor reading) will come out of the incorrect outputs (e.g. Channel_2 reading will come out of the channel 4 port) when the “Output all channels” check box is selected.
  2. Only Two channel readings are ever included in the message payload.
  3. A0 and A1 jumpers appear to be flipped on the device addressing (not sure if this is an issue with the node or a defect on the PCB silk screen).

Cannot determine if this is an issue with the node or my particular node.js setup. I did have trouble installing the ADS7828 node module. I would like to verify that it was installed properly if possible first.

Also, I cannot seem to find any documentation outside of the node info tab - is there any documentation for the Node-Red utility that NCD can forward to me?

Thank you!


Hi Andrew, which version of the node are you using? There was a recent problem that was discovered and fixed that should resolve your first two issues, the node was just updated a few days ago, the newest version is 1.2.4

As for the third issue, can you attach a picture of the board and I’ll have the engineer double check the address jumper to make sure they weren’t flipped?



My mistake Andrew, I was looking at the wrong library… The problem was the same however so I just rolled out a new version with the patch, the new version number is 1.1.3


Also, there isn’t currently any documentation outside of the info tab, but I could put together a short tutorial in the next few days if I have time… is there anything in particular (other than the obvious bugs you’ve mentioned) that you would liek to see covered?


Hi Trey,

Firstly - thank you very much for the quick responses :slight_smile:

Ok cool, I am using version 1.1.2 of the ncd-red-ads7828 node. Since I’m doing manual updates for this particular node, can I update the “ncd-red-ads7828” node by just re-installing it via a “npm install ncd-red-ads7828” command? or do I need to install it to a particular directory like last time? Shoot me a quick response to this question if installing this way is Kosure, and we can get to the other parts later in the chat.

I wanted to re-iterate that I cleared the node.js cashe and I had to re-install a bunch of different modules that appeared to be missing parts. Everything appears to be fine and working now, but I had to correct some fallout from clearing the cashe for a good couple hours.

For the addressing, see attached image of the board. The Node Info tab has the following description:

Uninstalled - 72
A0 - 73
A1 - 74
A0+A1 - 75

I’m assuming that “A0” or “A0+A1” means “A0 jumper installed” and “A0 and A1 jumpers installed” respectively. And that installed means just put the jumper on the headers (see attached for A1 “installed” and A0 “uninstalled” example):

I played with this a bit and I can confirm that the addressing behavior appears to have A0 and A1 flipped. Using the same installed and uninstalled terms, I observe the following addressing behavior:

Uninstalled - 72 (same as info tab describes)
A0 - 74 (flipped with A1)
A1 - 73 (flipped with A0)
A0+A1 - 75 (same as info tab describes)

From what I can tell A0 and A1 on the node are flipped from the PCB silkscreen. Not sure if this is a known issue already but count me as a data point confirming the Node-red node doesn’t match the silkscreen (Unless I’m misunderstanding the jumper installation terminology).

For documentation I was looking for information on the following:

  • “Use Multiplexer” addressing and ports, what is this configuring from the node-red perspective? eventually I will need to use 4 of the 8-channel boards (I have a 32-ch application I’m working on). Does this allow for more than 4 channels or something?
  • How do I calibrate setup the ADC scalar? I can probably figure it out by going through the chip datasheets and trial and error. It would be wonderful to include a standard or default step-by-step way of setting that up included in the node info. Or if you could just send me a few pointers. I’m looking to just map 0 to 5Amps single ended to the 2048 to 4096 range (I’m under the impression that it’s 0-2048 corresponds to -5A to 0, and 2048 to 4096 for 0 to +5A). But I’m in the middle of sussing this info out and do not quite understand how this is working just yet…

Thanks for your help!


Glad I could help!

Any time that you install a package for node-red manually, you must be in the node-red directory… this tracks for any node modules that you add dependencies to. When you run the “npm install mymodule” command, the script looks for a “package.json” file locally, if one does not exist you will receive a warning, then it installs the module in a local directory called “node_modules”, so for node-red to be able to use the package you will always need to be in the ~/.node-red directory, and then you’ll need to restart it.

In theory, just running the npm install command “should” upgrade, but I personally have not had a great deal of success with that… the command that will work however is:

npm install ncd-red-ads7828@1.1.3

That should be all you need to do other than the obligatory node-red restart.

The addressing does seem to be incorrect, @Bhaskar can take a look and get that corrected for future production, thank you for reporting it.

The multiplexer setting is for use with one of our multiplexer boards, these can be used to basically multiply the available addresses for an I2C bus by adding more ports, those settings tell the communication backend to switch the multiplexer port before sending read/write commands to the device. Basically the 4 channel multiplexer would allow you to plug in 16 of these boards rather than the 4 that would normally be the max based on the address limitations.

Because this node is actually for the ADS7828, which is just and ADC and can be used for many applications, I didn’t spend a whole lot of times creating options for outputting the correct value, I added a simple linear multiplier which will work for some devices, but I’m not sure what the value would be for this device off the top of my head. I’ll ask Bhaskar to chime in on that too since he is more familiar with this device.


Hi Trey,

That did it!

I’m able to get a reading out of each of the ports.

I was able to calculate the scaling accurately enough to get readings within 100mA from readings with a decent ammeter. If there is a “proper” way to setup the scaling and offsetting to get a more accurate current reading with this board, please let me know @Bhaskar.

Otherwise thank you very much!


Hi Andrew,
This this formula
Amps = ((Voltage - 2500) / 185);