MAX31855 K-Type Thermocouple Reader
Read a K-type thermocouple from -200 to +1350 degrees Celsius over SPI — the chip behind every reflow oven controller and pizza-oven smart thermometer.
Difficulty: Breadboard. Estimated build time: about 30 minutes. Estimated parts cost: about US$9.50. 6-line bill of materials. Compare supplier offers when available. A microcontroller-friendly digitizer for K-type thermocouples that returns calibrated temperature over SPI.
Wire the SPI bus
The MAX31855 is read-only SPI, so you only need SCK (clock), CS (chip select), and MISO (data out). Wire VCC to 3.3 V (the chip works from 3.0 to 3.6 V — most breakout boards include a regulator and tolerate 5 V on their VIN pin). Wire GND to ground, then SCK, CS, and MISO each to a free MCU GPIO. Put a 100 nF ceramic from VCC to GND right at the chip. The thermocouple wires go to T+ (yellow on a K-type) and T- (red, despite being negative — IEC colour-codes are just unusual).
Read raw data and confirm at room temperature
On Arduino, install the Adafruit MAX31855 library. The sketch is: Adafruit_MAX31855 tc(SCK_PIN, CS_PIN, MISO_PIN); in setup() call tc.begin(); in loop() Serial.println(tc.readCelsius()); delay(500). At room temperature you should see a reading within a few degrees of the cold-junction temperature (which is also available via tc.readInternal()). If you read NaN, the library is signalling a fault — check the wiring polarity on the thermocouple (swapping T+ and T- gives a fault, not a negative reading) and verify the thermocouple junction is intact.
Calibrate against a known reference and use it
Drop the bead into ice water — you should read between -1 and +2 Celsius once it settles. Then dip it into boiling water at sea level (read 99 to 101 Celsius). If your readings are consistently off by a constant offset, apply that as a software offset. For larger errors, the thermocouple wire is bad. Now drive a relay with the temperature and you have a thermostat: turn it on below the setpoint, off above it, add a hysteresis band (e.g. ±2 degrees) so the relay doesn't chatter.