Unable to scan address PR33-29 MCP3428

I’m using NCD.IO ESP8266 with the PR33-29 board connected to a 24 vdc power supply and serial monitor through usb cable. I fail to find my PR33-29 when i scan. The I2C scanner code from:

I tried Wire.begin(12,14) and also Wire.begin(). The very first line produces an error so I assumed it was the program name and commented this line out.
If one uses a ESP8266 is a library needed to make the i2c scan work?

See photo of setup. The address jumpers from the factory are still in place.

// arduino-i2c-scan
#include <Wire.h>

void setup() {
Serial.begin (9600);
Serial.println ();

Serial.println (“I2C scanner. Scanning …”);
byte count = 0;

for (byte i = 1; i < 120; i++)
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
Serial.print (“Found address: “);
Serial.print (i, DEC);
Serial.print (” (0x”);
Serial.print (i, HEX);
Serial.println (")");
delay (1);
Serial.print (“There is/are “);
Serial.print (count, DEC);
Serial.println (” device(s).”);

void loop() {

and select Adafruit Huzza as your Arduino board.

Thanks, but I’m using the 3.0.2 ESP8266 libraries which cover the Ada Fruit Huzza. I changed to board to Ada Fruit Feather Huzzah ESP8266. Initially I used the Generic ESP8266 module.
The output to the serial monitor is garbage and I2c scan does not seam to run at all.

do you have any other I2C board ?
want to check if its ADC or ESP

Unfortunately no. I’m able to program the ESP8266 to connect to wifi and upload data to Thingspeak using the “Generic ESP8266 Module”. Does the version of the ESP8266 library matter as I have the latest at 3.0.2 running 1.8.12 IDE?

My options seams to be purchase a i2c interface board for an Arduino Uno and try again?

Garbage in the terminal is generally due to a baud rate mis match. Looks like your terminal is set to 9600 baud. I would make sure that Serial.begin() in your code matches 9600.

Its a matched at 9600 for both.

Can the I2C connector on the PC33-29 be used to read the ADCs?

Yes, if an analog to digital input expansion board is connected to that I2C port you can monitor analog signals:

Let me rephrase my question. I need to determine if the PC33-29 ADC board i own is working correctly because the ESP8266 connected through the IoT port is not scanning the ADC board. So to test, can I use a I2C shield for Arduino Uno (and an Arduino Uno) to connect to the i2c connector on my PC33-29 to read the ADCs?

Yes, you can use arduino uno.

My I2C shield for Arduino UNO arrived as previously discusses in this thread. I’ve connected to my PC33-29 and the I2C lines are crossed. 5vdc and ground are connecting the communication lines. See photo. Is this correct? Thanks.

This wont work. I2C out is connecting to i2c out on ADC board.
Check the cable connection. You will need to swap the wires.

Thank, I swapped the wires in the cable and I’m able to read the address with an Ardunio Uno. I bought a second NCD esp8266 and that also reads the address also. So something is wrong with first esp8266.

My next problem is I have 3.51 volts applied to ADC input #1 and 2.17 volts on #2 from temperature and humdity sensors. Using the MCP3428_multichannel example program, I read in 12 bit mode values of 650 and 403 respectively. In 16 bit mode I get 10393 and 677 respectively. 650/4096 is not 3.51 volts.
The input is a 4 to 20 ma signal and I’m using a 250 ohm resistor to convert to voltage. See photo of how temperature sensor is wired please.

The PC33-29 is powered by 24.4 vdc on the input connector. Any thoughts on why I’m not reading the voltage correct. Thanks.

checkout sensor drawing on product page.

Thanks, but I did that. That’s how I got what is implemented.

from the product page
Note: Set MCP3428 gain to one to read 0-40mA Signal, set the gain at two to read 0-20mA and 4-20mA signals. Needs External Power Supply to power up the 4-20mA Device.

When resolution is set to 16-bit:

  1. at 4mA the raw ADC value will be around 5813
  2. at 20mA the raw ADC value will be around 29390

remove the resistor and test directly with 4-20mA signal