LTC2983 - New driver for ESPHome 20 Channel SPI Temp Sensor Module

LTC2983 Commercial Temperature Module

One chip basically replaces 5 MAX31865 and 5 MAX6675 sensors (or more).

I toiled over this configuration for a larger project and the amount of work I put into it was insane since no one has integrated it with ESPHome previously, so I thought I would share it for others that have looked for this implementation and not found it. It includes full fault management as well. I hope someone finds this helpful in the future.

ESPHome firmware and KiCad hardware designs for reading precision temperature sensors through the Analog Devices LTC2983 — a 20-channel multi-sensor ADC supporting RTDs, thermocouples, diodes, and thermistors.

This project is a standalone ESPHome device that reads 5× PT1000 RTDs and 5× K-type thermocouples in one multi-channel conversion cycle, with per-channel fault sensors. The board and can be adapted to other sensor combinations and additional sensors on unused LTC2983 channels.

Hardware

Component Description
MCU ESP32-S3-DevKitC-1 class (16 MB flash, 8 MB octal PSRAM)
Sensor IC LTC2983
Target layout Stacked 5 RTD + 5 TC topology (DC2210A reference)
Carrier PCB Custom DC2209A1 KiCad design — LTC2983 breakout with screw terminals and SPI header

SPI wiring (ESP32-S3 → LTC2983)

Signal GPIO
CS 2
CLK 9
MOSI 5
MISO 4

Channel map

Sensor LTC2983 CH Type Notes
RTD 1 4 PT1000, 2-wire Sense pair CH4 ↔ CH3 (COM)
RTD 2 6 PT1000, 2-wire CH6 ↔ CH5 (COM)
RTD 3 8 PT1000, 2-wire CH8 ↔ CH7 (COM)
RTD 4 10 PT1000, 2-wire CH10 ↔ CH9 (COM)
RTD 5 12 PT1000, 2-wire CH12 ↔ CH11 (COM)
TC 1 13 K-type, single-ended TC− → COM; CJC via CH20 diode
TC 2 14 K-type
TC 3 15 K-type
TC 4 16 K-type
TC 5 17 K-type

Shared excitation: CH2 = 2 kΩ sense resistor (RSENSE hub). Odd channels CH3/5/7/9/11 tie to CH2. Cold-junction compensation uses a 2N3906 diode on CH20 (emitter → CH20, base + collector → COM).

See schematics/dc2210a-5rtd-5tc-wiring.png and schematics/dc2210a1-sch.pdf for full wiring of demo circuit or KiCad schematics for this implementation.

Firmware

The LTC2983 is driven by a custom C++ handler included directly in the ESPHome config — no external component package required.
Fault text sensors (one per channel — OK, Open Circuit, Overrange, etc.)

  • Fault CH4, Fault CH6, Fault CH8, Fault CH10, Fault CH12
  • Fault TC1Fault TC5

References