Industrial Thermometer With MAX6675 Thermocouple & Arduino
Maybe your like
Overview
In this project, will make an Industrial Thermometer with MAX6675 Thermocouple & Arduino Interface & display the temperature in 16×2 LCD Display. Using the MAX6675 Breakout Board and a K-Type thermocouple, we can easily measure temperature ranging from 0°C to 1024°C using any microcontroller. The chip output data is sent via an SPI interface. Here we are going to use it, SPI Pins, with the Arduino Nano Board.
Earlier we used the temperature sensors like DS18B20 & LM35, but they can only measure the temperature below 125°C. When its come to high-temperature measurement, the MAX6675 is the best option. The great advantage of the thermocouple is its ease of use when measuring high temperatures. The only other way of measuring such high temperature is by using non-contact thermal temperature gun. But the disadvantage of non-contact IR Temperature Sensor is that it is very expensive.
This MAX6675 chip is designed specifically for use with the K-Type thermocouple which is the most popular chip. The chip has internal functionalities for temperature measurement, all need is to connect up the thermocouple and read the output from the SPI pins. So, let’s make an Industrial Thermometer with MAX6675 Thermocouple, Arduino & LCD Display. You can also use MAX6675 with ESP8266.
Bill of Materials
The following are the list of components for making Industrial Thermometer with the Amazon purchase link.
| S.N. | Components Name | Quantity | Purchase Links |
|---|---|---|---|
| 1 | Arduino UNO Board | 1 | Amazon | AliExpress |
| 2 | 16x2 I2C LCD Display | 1 | Amazon | AliExpress |
| 3 | MAX6675 Thermocouple Sensor | 1 | Amazon | AliExpress |
| 4 | Connecting Wires | 10 | Amazon | AliExpress |
| 5 | Breadboard | 1 | Amazon | AliExpress |
MAX7765 K-Type Thermocouple Temperature Sensor
This MAX6675 Module + K Type Thermocouple Sensor makes use of the Maxim MAX6675 K-Thermocouple to digital converter IC. It provides a microcontroller compatible digital serial interface (SPI compatible) for giving an accurate temperature-compensated measurement of the temperature.

It has a 12-bit resolution. This converter resolves temperatures to 0.25°C, allows readings as high as +1024°C, and exhibits thermocouple accuracy of 8 LSBs for temperatures ranging from 0°C to +700°C. Screw terminals allow for connection to the thermocouples spade connectors and a 5 pin standard 0.1″ header provides an interface to a microcontroller.
Specifications
1. Working Voltage: DC 5V 2. Operating Current: 50mA 3. Test Temperature Range: 0°C – 1024°C 4. Measurement Accuracy: +/-1.5C 5. Resolution : 0.25C 6. Output mode: SPI digital signal
Thermocouple Designing (Seebeck Effect)
A thermocouple measures the difference in potential across a hot and cold end for two dissimilar metals. One end of the metal is kept at high temperature and other end at cold ice. If this is done then the temperature difference across the thermocouple wire from end-to-end causes a voltage to be generated (Seebeck effect) that is proportional to the temperature difference.

The voltages produced by the Seebeck effect are small, usually only a few microvolts (millionths of a volt) per kelvin of temperature difference at the junction. If the temperature difference is large enough, some Seebeck-effect devices can produce a few millivolts (thousandths of a volt). To learn about the different types of Metal that can be used in Thermcouple desiging you can check this post: Metal & Alloys.
Cold Junction Compensation & MAX6675 IC
The generated voltage is extremely small so an amplifier is required to turn the reading into a usable form. So a technique called Cold-Junction-Compensation (CJC) is used.

This is where the MAX6675 comes in as it has everything built-in like an in-built amplifier, Cold -Junction-Compensator (CJC) and an ADC. In fact, the chip makes using a Type-K thermocouple trivial and you don’t even have to retrieve the analogue value the ADC generates a digital output which is transmitted as a 12-bit serial sequence.
Interfacing MAX6675 Thermocouple & LCD Display with Arduino
Now let us interface the MAX6675 Thermocouple Temperature Sensor with Arduino & Display the Temperature reading on 16×2 LCD Display. The connection diagram is given below.

The connection between Arduino UNO/Nano Board & MAX6675 is simple as given below. 
Similarly, connect the 16X2 LCD as per circuit diagram. Connect the LCD 1, 5, 16 to GND & 2, 15 to VCC 5V. Use 10K Potentiometer at pin 3 to adjust the LCD Contrast. Connect the pin 4, 6, 11, 12, 13, 14 to Arduino 7, 6, 5, 4, 3, 2 pin. You can also use a breadboard for Arduino max6675 thermocouple & LCD interface.

Source Code/Program for Arduino MAX6675
The source code/program to interface MAX6675 with Arduino is given below. The code doesn’t require any library to compile. Simply copy the code & paste it to the Arduino IDE. Then upload to the Arduino Board that you are using.
#include <SPI.h> #include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); #define MAX6675_CS 10 #define MAX6675_SO 12 #define MAX6675_SCK 13 void setup() { lcd.begin(16,2); } void loop() { float temperature_read = readThermocouple(); lcd.setCursor(0,0); lcd.print(" TEMPERATURE"); lcd.setCursor(4,1); lcd.print(temperature_read,2); delay(1000); } double readThermocouple() { uint16_t v; pinMode(MAX6675_CS, OUTPUT); pinMode(MAX6675_SO, INPUT); pinMode(MAX6675_SCK, OUTPUT); digitalWrite(MAX6675_CS, LOW); delay(1); // Read in 16 bits, // 15 = 0 always // 14..2 = 0.25 degree counts MSB First // 2 = 1 if thermocouple is open circuit // 1..0 = uninteresting status v = shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST); v <<= 8; v |= shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST); digitalWrite(MAX6675_CS, HIGH); if (v & 0x4) { // Bit 2 indicates if the thermocouple is disconnected return NAN; } // The lower three bits (0,1,2) are discarded status bits v >>= 3; // The remaining bits are the number of 0.25 degree (C) counts return v*0.25; }| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | #include <SPI.h>#include <LiquidCrystal.h> LiquidCrystal lcd(7,6,5,4,3,2); #define MAX6675_CS 10#define MAX6675_SO 12#define MAX6675_SCK 13 voidsetup(){lcd.begin(16,2);} voidloop(){floattemperature_read=readThermocouple();lcd.setCursor(0,0);lcd.print(" TEMPERATURE");lcd.setCursor(4,1);lcd.print(temperature_read,2);delay(1000);} doublereadThermocouple(){ uint16_tv;pinMode(MAX6675_CS,OUTPUT);pinMode(MAX6675_SO,INPUT);pinMode(MAX6675_SCK,OUTPUT);digitalWrite(MAX6675_CS,LOW);delay(1); // Read in 16 bits,// 15 = 0 always// 14..2 = 0.25 degree counts MSB First// 2 = 1 if thermocouple is open circuit // 1..0 = uninteresting statusv=shiftIn(MAX6675_SO,MAX6675_SCK,MSBFIRST);v<<=8;v|=shiftIn(MAX6675_SO,MAX6675_SCK,MSBFIRST);digitalWrite(MAX6675_CS,HIGH);if(v&0x4){// Bit 2 indicates if the thermocouple is disconnectedreturnNAN;} // The lower three bits (0,1,2) are discarded status bitsv>>=3; // The remaining bits are the number of 0.25 degree (C) countsreturnv*0.25;} |
Testing & Measurement of Temperature
As soon as the code is uploaded, the LCD will start displaying the room temperature in degree Celcius. You can convert the temperature value to degree Fahrenheit. The temperature will be updated on LCD after every 1 seconds.

To test the working and ability of the sensor to detect the high temperature, you can start heating the sensor with Soldering Iron or a simple gas lighter. In my case, I used a gas lighter flame and heated the sensor rod.

Tag » Arduino Multiple K Type Thermocouple
-
Multiple Max6675 Arduino Based Industrial Temperature Monitoring ...
-
Multiple Max6675 Arduino, Industrial Temperature Monitor Using K ...
-
Problem With Multiple MAX6675 Thermocouple - Arduino Forum
-
Interfacing Multiple MAX6675 With Arduino Uno - Project Guidance
-
Arduino: K-Type Thermocouple With MAX6675 Amplifier
-
MAX6675 K-Type Thermocouple With Arduino - Microcontrollers Lab
-
Interfacing MAX6675 Thermocouple Module With Arduino
-
AITRIP 3 Sets DC 5V MAX6675 Module + K Type Thermocouple ...
-
4-Channel K-Type Thermocouple Sensor MAX31855 SPI Arduino ...
-
Arduino And Thermocouple K MAX6675 : 4 Steps - Instructables
-
MAX6675: How To Measure Extreme Temperatures With Arduino
-
K Type Thermocouple Temperature Sensor For Arduino Projects
-
Thermocouple Library For Arduino And MAX6675 - GitHub