MAX31855 Arduino K Thermocouple Sensor: Manual and Tutorial

MAX31855 Temperature Sensor Module Description

MAX31855 Temperature ModuleThe MAX31855 K Thermocouple Module could be considered an upgrade from the MAX6675.  Specifically it has a greater temperature measurement range.

About the only draw back is that this a 3.3 volt device.   In other words, you  will need to perform level conversion and that of course adds a little cost and complexity to using the device.

That said,  if you need to require a wide temperature measurement range (particularly at the high end), there are few devices that match a thermocouple in terms of price and performance.

Basic Specifications

The table below shows that the MAX31855 has an incredibly wide measurement range.  However, I would be very careful about assuming that the sensor typically provided with the MAX31855 module has the same range.  2500 degree F is very hot and I’m not convinced that the device I’m staring at will last at those temperatures.

ParameterValue
Supply Voltage3.0 to 3.6 Vdc
Operating Current900 uA
Measurement Range-270 deg C to +1372 deg C
(-454 F to 2501 deg F)
Measurement Resolution0.25 deg C
(0.45 deg F)
OutputUses SPI Interface
Required SensorK Thermocouple

MAX31855 Pin Outs

The pin outs for the temperature module are shown below:

MAX31855 K Thermocouple Module Pin OutsThese pins function as follows:

SO: The module’s serial output.   Your Arduino will read this output.

CS:  Chip Select.   Setting low, selects the Module and tells it to supply an output that is synchronized with a clock

SCK : The Serial Clock… an input from your Arduino.

VCC:  3.3 Volt Supply

GND:  Ground.

– (or Minus):   The K thermocouple minus input.

+ ( or Plus):  The K Thermocouple plus input.

IMPORTANT NOTE– Most K thermocouples come with a red lead and a yellow lead.  The red lead is normally your negative connection and the yellow lead is your positive.  That is industry standard.

That said, some of the suppliers for the module will in fact jack this up  and provide you a thermocouple with red indicating positive.

The way to know is if you increase the temperature at the thermocouple tip and the indication goes lower.

Module Schematic

Electrically speaking, the module is nothing more than what is provided as a sample circuit on the device data sheet.  In fact, you could probably build your own by buying your own device.

MAX31855 K Thermocouple Module Schematic

What About Other Thermocouples? While all of the modules that I have seen only support the K thermocouple,  thermocouples come in variety of ranges.  Among the most popular are J, R, and T thermocouples.  If you absolutely had to use another style of thermocouple, you could.   The MAXIM 31855 can be purchased to support those thermocouples.  You could build this same circuit using one of those chips and you would have a device that uses the thermocouple you want.

MAX31855 Arduino Tutorial

Get the ADAFRUIT Max31855 Library

You will need the MAX31855 Library.  This library is developed by ADAFRUIT and it wouldn’t hurt to support their continued efforts by purchasing a product from them now and then.  You can get their free library HERE.

If you have never installed an add on library, you can read this page.  Its really pretty easy.

Get a 3.3V Level Translator (or Shifter)

The Arduino Uno (an others) operates at 5 volts.   The MAX31855 operates at 3.3 volts.   While your MAX31855 might fire up and operate perfectly the first time at 5 volts,  it won’t last.  You’ll eventually fry it.

While there are oodles of ways to shift your 5  Volts Signals and Supplies to 3.3 Volts,  I use the device foundwhenever I am testing things out.  Its easy to use and reliable.  When I’m testing a new project, the last thing I want to do is debug level shifters.

I’ve soldered a couple headers to my board and I simply plug it into my breadboard whenever I am testing an idea. Devices like this are a must if you’re into micro-controllers.

Connect Your Arduino

See the drawing and table below below:

MAX31855 K Arduino Tutorial Hook Up

Arduino PinMAX31855 Module Pin
GNDGND - Through Level Shifter
VinVCC - Through Level Shifter
Digital Pin 5SO - Through Level Shifter
Digital Pin 6CS - Through Level Shifter
Digital Pin 7SCK - Through Level Shifter

Copy, Paste and Upload the Arduino Sketch

The sketch below is all you need to get started.  After uploading it,  open your serial monitor to view the results

#include <SPI.h>
#include "Adafruit_MAX31855.h"


int maxSO =  5;
int maxCS = 6;
int maxSCK = 7;
//Create a MAX31855 reference and tell it what pin does what
Adafruit_MAX31855 kTC(maxSCK, maxCS, maxSO);


void setup() {
  Serial.begin(9600);
  // The MAX31855 needs a little time to stabilize
  delay(500);
}

void loop() {   
  
  Serial.print("C = "); 
  Serial.println(kTC.readCelsius());   
  Serial.print("F = ");
  Serial.println(kTC.readFarenheit());
  // delay so it doesn't scroll too fast.
  delay(1000);
}

Related Documents

MAX31855 Datasheet

MAX31855

17 Comments

  1. Uttam Dutta October 25, 2017
  2. capnfatz@gmail.comAuthor October 9, 2017
  3. Ibrahim October 9, 2017
  4. capnfatz@gmail.comAuthor October 8, 2017
  5. Ibrahim October 8, 2017
  6. capnfatz@gmail.comAuthor August 29, 2017
  7. matias August 28, 2017
  8. capnfatz@gmail.comAuthor November 3, 2016
  9. Charlie November 3, 2016
  10. capnfatz@gmail.comAuthor October 31, 2016
  11. Roberto October 27, 2016
  12. capnfatz@gmail.comAuthor August 15, 2016
  13. Michael August 9, 2016
  14. abdelrazek June 18, 2016
  15. capnfatz@gmail.comAuthor April 27, 2016
  16. John April 27, 2016
  17. Brenton Pettitt April 26, 2016

Add a Comment

Your email address will not be published. Required fields are marked *