Volt Docs

Reference

MAX31855

Thermocouple-to-digital converter.

Connects over
SPI
Made by
Maxim Integrated
Datasheet
datasheets.maximintegrated.com

Use it

main.volt
hardware {
    device max31855: MAX31855(cs: 16)
}

every 1s {
    let value: float = max31855.temperature()
    log("max31855", "temperature={value}")
}

The MAX31855 goes on the SPI bus; give it its cs pin as an argument.

Methods

  • max31855.temperature() -> float

    Thermocouple temperature °C

  • max31855.internal() -> float

    Cold junction temperature °C

  • max31855.is_fault() -> int

    1 if fault detected

Wiring

PinConnect to
VCC3.3V or 5V
GNDGround
SCKSPI clock
MOSIMaster Out / Slave In
MISOMaster In / Slave Out
CSChip select (active low)
T+/T-Thermocouple wires (yellow=+, red=−)

Specifications

Voltage
3.0V – 3.6V (NOT 5V tolerant on SPI lines)
Current
0.9 mA active
Thermocouple
K, J, N, T, S, R, E types (chip variants)
Range
−270°C to +1372°C (K-type)
Resolution
0.25°C

Tips

  • Cold-junction compensation is automatic — the IC has its own temp sensor for it.
  • Use the included terminal block if possible — solid solder joints to thermocouple wires can introduce a stray junction.
  • Open-circuit / short-to-GND / short-to-VCC faults are reported in the status register.

Alternatives worth knowing:

  • MAX31856: Programmable thermocouple type, integrated FIR filter, more features.