Incorrect reading from MCP9600 amplifier

I am using MCP9600 Amplifier

I am using the Sparkfun library
The basic reading code is run in Arduino IDE
I don't understand why the readings are incorrect. The thermocouple is exposed to room temperature

Please post your sketch using code tags as described in https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum/679966#posting-code-and-common-code-problems.

Please post a wiring diagram / schematic diagram reflecting all connections between the Arduino and the amplifier as well as power connections and how the thermocouple is wired. Which (type of) thermocouple?

Which shield / breakout board are you using (link please)?

Note:
The only thing I seem to know about thermocouples is that there are different types and that you can connect them the wrong way around. So I probably can't help you much further.

1 Like

Thank you for responding.

#include <SparkFun_MCP9600.h>
MCP9600 tempSensor;

void setup(){
    Serial.begin(115200);
    Wire.begin();
    Wire.setClock(100000);
    tempSensor.begin();       // Uses the default address (0x60) for SparkFun Thermocouple Amplifier
    //tempSensor.begin(0x66); // Default address (0x66) for SparkX Thermocouple Amplifier

    //check if the sensor is connected
    if(tempSensor.isConnected()){
        Serial.println("Device will acknowledge!");
    }
    else {
        Serial.println("Device did not acknowledge! Freezing.");
        while(1); //hang forever
    }

    //check if the Device ID is correct
    if(tempSensor.checkDeviceID()){
        Serial.println("Device ID is correct!");        
    }
    else {
        Serial.println("Device ID is not correct! Freezing.");
        while(1);
    }
}

void loop(){ //print the thermocouple, ambient and delta temperatures every 200ms if available
    if(tempSensor.available()){
        Serial.print("Thermocouple: ");
        Serial.print(tempSensor.getThermocoupleTemp());
        Serial.print(" °C   Ambient: ");
        Serial.print(tempSensor.getAmbientTemp());
        Serial.print(" °C   Temperature Delta: ");
        Serial.print(tempSensor.getTempDelta());
        Serial.print(" °C");
        Serial.println();
        delay(20); //don't hammer too hard on the I2C bus
    }
}

Thermocouple K Type High Temperature Resistance Probe
https://robu.in/product/surface-thermocouple-k-type-high-temperature-resistance-probe/?gad_source=1&gclid=CjwKCAiA34S7BhAtEiwACZzv4UX-lI-FS14lBctVz98k1B99ogHMbAVl4k5ESQD-974cibRro1yL1BoC1GgQAvD_BwE

MCP9600 Amplifier
https://robu.in/product/smartelex-thermocouple-amplifier-mcp9600/

Arduino Uno R3
https://robu.in/product/arduino-uno-r3-ch340g-atmega328p-cable-arduino-uno-transparent-acrylic-case-arduino-uno-r3/

I connected as per the manual (present in the shopping website). I didn't use breadboard.
The power source for my Arduino Board is my Laptop.

Your diagram appears incomplete. What else is connected? It seems like you're using the I2C bus for other components, but I don’t see any thermocouple connections. Please provide a complete annotated schematic showing all devices and connections on the I2C bus.