Introduction
I designed a breakout board for the MAX6675 Cold-Junction Compensated Type-K Thermocouple interface. My plans are to use the design for various heating control projects such as a Sous-vide cooker, wireless thermostat, smoker controller, reflow oven and some environmental projects.
The specifications for the MAX6675 are:
- Works with any Type-K Thermocouple
- Has a range of 0 to 1024 degrees Celsius in 0.25 degree increments
- Operating voltage: 3.3 to 5V
- SPI interface
A thermocouple is a device consisting of two different metal alloy conductors that produce a voltage that is proportional to a temperature difference between the joined end of the two conductors. Dissimilar metals are chosen to maintain a predictable and repeatable temperature range profile.
Basically, two different metals are chosen in order to be able to measure a certain temperature range with an emphasis on stability. These two metals are joined together at one end and when the junction is heated or cooled a small voltage is produced that can be correlated back to a temperature value.
Thermocouples are available in many different types of metals and/or calibrations with the most common being of type J, K, T and E. Each calibration has a different temperature range but, the maximum range varies with the diameter of the wire used to create the thermocouple. Refer to the following document for temperature limits based on wire size (Thermocouple Reference Guide).
Below is a picture of a Type-K Thermocouple:
Here are some pictures of the completed breakout board:
The MAX6675 is designed to work with a Type-K Thermocouple which is made up of chromel (90% nickel and 10% chromium) and alumel (95% nickel, 2% manganese, 2% aluminum and 1% silicon).
Common uses are in HVAC systems, kilns and heating controllers.
Documentation
- Schematic – PDF
- PCB – PDF
- Board Files – PRJ
- Manufacturing Files – GBR
- Bill of Materials (With Data Sheets) – ZIP
- Bill of Materials – PDF
- MAX6675 Datasheet – PDF
The board files was developed with the freely available DesignSpark PCB.
Files and updates are available on the associated github page.
Build It
Reference the B.O.M above for a list of the parts necessary to complete the Hobbybotics MAX6675 Breakout.
Reference the below schematic and layout file for component locations.
Use It
I developed (modified) a couple of Arduino libraries to support the MAX6675 breakout board. The files are available below:
/*
Demonstration sketch for Hobbybotics MAX6675 Thermocouple breakout board.
Reads temperature from MAX6675 in celsius and fahrenheit. Prints results to serial monitor.
*/
#include <MAX6675.h>
MAX6675 thermocouple;
void setup() {
Serial.begin(9600);
thermocouple.init(4, 5, 6);
Serial.println("MAX6675 test");
// wait for MAX chip to stabilize
delay(500);
}
void loop() {
// basic readout test, just print the current temp
Serial.print("C = ");
Serial.println(float(thermocouple.measure(TEMPC)));
Serial.print("F = ");
Serial.println(float(thermocouple.measure(TEMPF)));
delay(1000);
}
/* | |
Demonstration sketch for Hobbybotics MAX6675 Thermocouple breakout board. | |
Reads temperature from MAX6675 in celsius and fahrenheit. Prints results to I2C LCD. | |
*/ | |
#include <MAX6675.h> | |
#include <LCD.h> | |
#include <Wire.h> | |
MAX6675 thermocouple; | |
// Default I2C address for LCD is 0 | |
LCD lcd(0); | |
// make a degree symbol | |
uint8_t degree[8] = {140,146,146,140,128,128,128,128}; | |
void setup() { | |
lcd.begin(20, 4); | |
lcd.createChar(0, degree); | |
thermocouple.init(4, 5, 6); | |
// wait for MAX6675 to stabilize | |
delay(500); | |
lcd.clear(); | |
lcd.setCursor(0, 0); | |
lcd.print("MAX6675 test"); | |
} | |
void loop() { | |
float temp_c; | |
float temp_f; | |
// Read values from the sensor | |
temp_c = thermocouple.measure(TEMPC); | |
temp_f = thermocouple.measure(TEMPF); | |
lcd.setCursor(0,1); | |
lcd.print(temp_c); | |
lcd.write((byte)0); | |
lcd.print("C "); | |
lcd.print(temp_f); | |
lcd.write((byte)0); | |
lcd.print('F'); | |
delay(1000); | |
} |
Related Links
Hobbybotics MAX6675 Thermocouple Breakout V1.0 Gallery
Adafruit Arduino Library github page
Adafruit MAX6675 Breakout github page
The Brokentoaster Blog’s Breakout design page
Omega Engineering Thermocouple Connectors
Disclaimer
This example shows hardware and software used to implement the design. It is recommended the viewer use sound judgment in determining and/or implementing this example for any particular application. This example may include information from 3rd parties and/or information which may require further licensing or otherwise. Additional hardware or software may be required. Hobbybotics or any affiliates does not support or warrant this information for any purpose other than a design example and takes no responsibility for any mishaps (none being implied).
You haven’t included the link from thermocouple negative to ground, as recommended in the Maxim datasheet.
Yep, the link is there. If you look at the schematic you will see a junction from T- to VSS.