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.

Buy a MAX31855


Bang Good



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.

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:

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() {
  // The MAX31855 needs a little time to stabilize

void loop() {   
  Serial.print("C = "); 
  Serial.print("F = ");
  // delay so it doesn't scroll too fast.

Related Documents

MAX31855 Datasheet



  1. November 3, 2016
  2. Charlie November 3, 2016
  3. October 31, 2016
  4. Roberto October 27, 2016
  5. August 15, 2016
  6. Michael August 9, 2016
  7. abdelrazek June 18, 2016
  8. April 27, 2016
  9. John April 27, 2016
  10. Brenton Pettitt April 26, 2016

Leave a Reply

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