Skip to content

Measure high temperatures with K-type thermocouple + MAX 6675 with Arduino


Hello, and welcome to this tutorial, today we’re using a new type of temperature measure: a type K thermocouple with MAX6675 IC, the thermocouple uses the Seebeck effect to generate a continous voltage proportional to the temperature and there’s a chart that shows you the approximate values in mV for example 30°C can generate 1.2 mV… I did some measure with the multimeter in the tutorial video, but these values are too small to be exploited directly with the Arduino board, that’s why we add the MAX 6675 to convert the signal given by the probe to a digital signal, this chip can convert from 0°C to 1024 °C (Don’t put the chip there though :D).

The library I’m using can deliver both Celsius and Fahrenheit without any math.

This module and probe are very good for high temperatures projects, also the probe has a robust wire and water resist.

K-Type Thermocouple with MAX6675 AD Module-1000x750

This is the module I’ve used, there’s two inputs for the thermocouple, don’t forget that’s polarized, (Yellow/Red) = ( + / – ), (Red/Blue) = ( + / – ) … Yellow/Red is the common industrial colors, but some versions like the one I’m using has Red/Blue.




or with LCD i2c screen





Since they’re small here’s txt version too.

Code 1:

/*This code is to work with MAX6675 k-type thermocouple converter
 *It reads the data from the module and shows the temperature values in C and F
 *Modified from Example code
 *Refer to for more details
#include <max6675.h>

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup() {

void loop() {
   Serial.print("C = "); 
   Serial.print("F = ");


Code 2:

/* This code works with MAX6675 k type thermocouple converter and LCD i2c Screen
* It reads the data and show temperature value in F and C on LCD i2c screen
* Refer to for more details

#include <max6675.h> 
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x27 //I2C adress, you should use the code to scan the adress first (0x27) here
#define BACKLIGHT_PIN 3 // Declaring LCD Pins
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup() {
lcd.begin (16,2);
lcd.setBacklight(HIGH); //Lighting backlight
lcd.home ();

void loop() {
lcd.print("C= "); 
lcd.print("F= ");


I hope you like it, and if there’s any problem contact me.


Yassine View All

Automation and Electrical Engineer, Electronics amateur trying to share my little projects.

One thought on “Measure high temperatures with K-type thermocouple + MAX 6675 with Arduino Leave a comment

Leave a Reply

%d bloggers like this: