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
  • Product Status : Active
  • Stock

    Warehouse Stock Status Location
    Centurion No Stock
    Stellenbosch No Stock
    Bulk Location No Stock

    We ship free of charge between branches to complete your order.

  • R339.00 (Inc Tax: R389.85)


Related Products

K-TYPE Thermocouple

K-TYPE Thermocouple

K-TYPE Thermocouple Quick Spec Extension Wire: 1M Head: Stainless Steel 6x14mm Common Thermocouple Temperature Ranges Shipping List 1 x K-TYPE Thermocouple..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: K-TYPE-M6
Product Status : Active

R21.00 (Inc Tax: R24.15)

K-Type Thermometer

K-Type Thermometer

K-Type Thermometer The instrument is a portable digital K-Type Thermometer. It has stable performance and high precision. It is an ideal measuring instrument for K-Type thermocouples. Qu..

Centurion (No Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: PM6501
Product Status : Active

R398.00 (Inc Tax: R457.70)

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..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: TP02-1M
Product Status : Active

R20.00 (Inc Tax: R23.00)

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..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: J-M6
Product Status : Active

R38.00 (Inc Tax: R43.70)

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