Adafruit MCP9600 I2C Thermocouple Amplifier

Thermocouples are very sensitive, requiring a good amplifier with a cold-compensation reference. The Adafruit MCP9600 does all that for you, and can be easily interfaced with any microcontroller or single-board-computer with I2C. The chip handles all the analog stuff for you, and can interface with just about any thermocouple type: K, J, T, N, S, E, B and R type which are all supported. You can also set various alerts for over/under temperature, and read the thermocouple (hot) temperature and the chip (cold) temperature. All this over common I2C.


IMG-3498

This breakout board has the chip itself, a 3.3V regulator and level shifting circuitry, all assembled and tested. Works great with 3.3V or 5V logic. Comes with a 2 pin terminal block (for connecting to the thermocouple) and pin header (to plug into any breadboard or perfboard).

Quick Spec

  • Works with any K, J, T, N, S, E, B and R type thermocouple
  • Datasheet rated for:
    • K Type: -200°C to +1372°C
    • J Type: -150°C to +1200°C
    • T Type: -200°C to +400°C
    • N Type: -150°C to +1300°C
    • E Type: -200°C to +1000°C
    • S Type: +250°C to +1664°C
    • B Type: +1000°C to +1800°C
    • R Type: +250°C to +1664°C
  • Resolution of ±0.0625 °C - note that K thermocouples have about ±2°C to ±6°C accuracy
  • Internal temperature reading
  • 3.3 to 5v power supply and logic level compliant
  • I2C data connection

Wiring Diagram

AF4101-000

Sample Code



#include 
#include 
#include 
#include "Adafruit_MCP9600.h"
 
#define I2C_ADDRESS (0x67)
 
Adafruit_MCP9600 mcp;
Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(I2C_ADDRESS);
 
void setup()
{
    Serial.begin(115200);
    while (!Serial) {
      delay(10);
    }
    Serial.println("MCP9600 HW test");
 
    /* Initialise the driver with I2C_ADDRESS and the default I2C bus. */
    if (! mcp.begin()) {
        Serial.println("Sensor not found. Check wiring!");
        while (1);
    }
 
  Serial.println("Found MCP9600!");
 
  mcp.setADCresolution(MCP9600_ADCRESOLUTION_18);
  Serial.print("ADC resolution set to ");
  switch (mcp.getADCresolution()) {
    case MCP9600_ADCRESOLUTION_18:   Serial.print("18"); break;
    case MCP9600_ADCRESOLUTION_16:   Serial.print("16"); break;
    case MCP9600_ADCRESOLUTION_14:   Serial.print("14"); break;
    case MCP9600_ADCRESOLUTION_12:   Serial.print("12"); break;
  }
  Serial.println(" bits");
 
  mcp.setThermocoupleType(MCP9600_TYPE_K);
  Serial.print("Thermocouple type set to ");
  switch (mcp.getThermocoupleType()) {
    case MCP9600_TYPE_K:  Serial.print("K"); break;
    case MCP9600_TYPE_J:  Serial.print("J"); break;
    case MCP9600_TYPE_T:  Serial.print("T"); break;
    case MCP9600_TYPE_N:  Serial.print("N"); break;
    case MCP9600_TYPE_S:  Serial.print("S"); break;
    case MCP9600_TYPE_E:  Serial.print("E"); break;
    case MCP9600_TYPE_B:  Serial.print("B"); break;
    case MCP9600_TYPE_R:  Serial.print("R"); break;
  }
  Serial.println(" type");
 
  mcp.setFilterCoefficient(3);
  Serial.print("Filter coefficient value set to: ");
  Serial.println(mcp.getFilterCoefficient());
 
  mcp.setAlertTemperature(1, 30);
  Serial.print("Alert #1 temperature set to ");
  Serial.println(mcp.getAlertTemperature(1));
  mcp.configureAlert(1, true, true);  // alert 1 enabled, rising temp
 
  mcp.enable(true);
 
  Serial.println(F("------------------------------"));
}
 
void loop()
{
  Serial.print("Hot Junction: "); Serial.println(mcp.readThermocouple());
  Serial.print("Cold Junction: "); Serial.println(mcp.readAmbient());
  Serial.print("ADC: "); Serial.print(mcp.readADC() * 2); Serial.println(" uV");
  delay(1000);
}


Resources

Shipping List

  • 1 X Adafruit MCP9600 I2C Thermocouple Amplifier
  • 1 X 12 Way Header
  • 1 X 2 Way Screw Terminal


Adafruit MCP9600 I2C Thermocouple Amplifier

  • Brand: Adafruit
  • Product Code: AF4101
  • Stock

    Warehouse Stock Status Location
    Centurion In Stock UR025
    Stellenbosch In Stock C0021
  • R335.00 (Inc Tax: R385.25)


Related Products

K-TYPE Thermocouple

K-TYPE Thermocouple

K-TYPE Thermocouple Quick Spec Extension Wire: 1M Head: Stainless Steel 4×30mm Shipping List 1 x K-TYPE Thermocouple..

R50.00 (Inc Tax: R57.50)

K-Type Thermometer

K-Type Thermometer

K-Type Thermometer The instrument is a portable digital thermometer. It has stable performance, high precision, low power consumption, novel structure. Safe and reliable, it is an ideal measuring i..

R239.00 (Inc Tax: R274.85)

K-Type Wire Thermocouple

K-Type Wire Thermocouple

Type K Thermocouple A Thermocouple is a sensor used to measure temperature. Thermocouples consist of two wire legs made from different metals. The wires legs are welded together at one end, creatin..

R35.00 (Inc Tax: R40.25)

J Type Thermocouple - M6

J Type Thermocouple - M6

J Type Thermocouple - M6 The J Type Thermocouple has a variety of advantages, such as: easy assembly and convenient for replacement, high mechanical strength, good pressure-resistant, good shock-proo..

R195.00 (Inc Tax: R224.25)

Tags: adafruit, mcp9600, i2c, thermocouple, thermo, coupler, amplifier, amp, temp, temperature, k-type, k type, j-type, j type, sensor, t-type, t type, n-type, n type, e-type, e type, s-type, s type, b-type, b type, r-type, r type, sense, hot, heat, interface