MCP3428 I2C with thermocouples?

Good afternoon,

i recently bought two 12-Channel I2C 0-10V Analog to Digital Converters with I2C Interface (MCP3428) and plan to use them with a raspberry pi. Now I wonder if it is possible to read a thermocouple type K with the MCP3428 without additional hardware.

To try it, I connected a type K thermocouple to one input of the ADC and tried to read the value with 16 bit resolution and gain 8.
To read the data I use Java and pi4j (the code looks like this)

I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1);
// TODO - I2CDevice mul = bus.getDevice(0x77);
I2CDevice adc1 = bus.getDevice(0x68);
while (true) {
    // channel: 0 (1), res: 16, gain: 8 = 00011011 = 0x1B
    byte[] output = new byte[2];, 0, 2);
    int h = b[0] & 0xff;
    int l = b[1] & 0xff;
    long step = h << 8 |  l;
    if (step >= 32768)
        step = 65536L - step;
    // print output...

The problem is that the readings hardly change at all. I checked the thermocouples and they’re fine.

But if I understood the datasheet of the MCP3428 correctly, it should give about 5 steps per degree Celsius

Another curiosity is that if you touch the thermocouple, which should not result in a big jump in temperature at room temperature, the value jumps 1000 steps upwards immediately.

Now my question: is this behaviour normal for the MCP3428 and if so, what additional hardware would be needed to get good readings.

Tanhk you!

This board wont work with thermocouple. The thermocouple outputs very low voltage and generally it between -10mV to 50mV. you will need additional opamp between ADC input and thermocouple.

Its possible to use MCP3428 read thermcoouple but you will need this kind of board

Although i would recommend looking into a board like this one


1 Like

first of all, sorry for the late reply but I was on vacation.

Thanks for the quick answer. Now I have two more questions.

What is the exact difference between the two boards with the MCP3428. I suppose the 4-channel one has a bigger pre-amplification? (Because both use the MCP3428?)

And a second question I have: what are the disadvantages of using the MCP3428 4-channel for reading thermocouples compared to the MCP9600? (Because there is a price difference)

Thanks again!

the 0-10V input has wide input range that means the smallest voltage change it can bread will be quite high in comparison to regular MCP3428.

The MCP9600 is a dedicated IC for thermocouples. it supports all kinds of thermocouples and does not require any external electronics to read theromcouples.