Intruduction
The PT100 sensor is suitable for most high-temperature measurements below 400 °C. However, the core flame temperature of a household gas stove can typically reach above 800 °C, and the temperature inside a ceramic kiln or a high-power electric furnace can exceed 1000 °C. In these ultra-high-temperature environments, a K-type thermocouple is required.
The digital K-type high-temperature sensor consists of a signal amplification and conversion module and an armored K-type thermocouple probe. When the K-type thermocouple probe is placed in a high-temperature heat source, a small voltage proportional to the temperature is generated between its two ends due to the thermoelectric effect. The signal amplification and conversion module, equipped with the CT1780 specialized chip, amplifies this weak voltage signal, performs analog-to-digital conversion and compensation, and finally transmits the measured temperature of the probe to the main controller via the Gravity One Wire interface.
The signal amplification and conversion module supports an extremely wide measurement range of -270 °C to 1372 °C, with an accuracy of ±2 °C within -200 °C to 700 °C and ±4 °C within 700 °C to 1350 °C. The accompanying armored K-type thermocouple probe can measure temperatures up to 800 °C, with an error not exceeding ±2.5 °C within its range, making it suitable for most high-temperature measurement applications above 400 °C.
Note: This product is only compatible with the included K-type thermocouple.
Feature
- 14-bit resolution, 0.25 °C digital high-resolution temperature measurement
- Extremely wide temperature measurement range
- Compatible with 3.3V/5V controllers
- Gravity single-wire interface, easy to connect
Specification
Signal amplification and conversion board
- Input Voltage(VCC):3.3V~5.5V
- Temperature measurement range:-270℃~1372℃
- Operating temperature range of the adapter board:-40~+125℃
- Measurement resolution:14bit/0.25℃
- Mensurement error:≤±2℃(-200℃~700℃) ~ ±4℃(700℃~1350℃)
- Communication interface:Gravity one wire
- PCB size:44.0mm*22.0mm
Armored K-type thermocouple probe
- Temperature measurement range:0℃ ~ 800℃
- Mensurement error:≤±2.5℃
- Line Length:1.5m (Metal-shielded cable)
- Probe length: 50 mm
- Probe diameter: Φ4 mm
- Features: waterproof, corrosion-resistant (resistant to weak acids and alkalis, rust-proof), and high-temperature resistant
Application scenarios
- Electric ovens and high-power electric furnaces
- High-temperature flames and gases
- Ceramic kilns
Pinout

| Number | Name | Description |
|---|---|---|
| 1 | + | VCC(3.3~5.5V) |
| 2 | - | GND |
| 3 | D | One-wire data |
| 4 | BLUE- | K-type thermocouple negative electrode |
| 5 | +RED | K-type thermocouple positive electrode |
Arduino tutorial
Prepare
-
Hardware
-
Software
- Arduino IDE , Click to download Arduino IDE
- Download DFRobot_CT1780 library and install .zip library manully:Click to download
- Or Search and install "DFRobot_CT1780" library in the library manager
Wire Diagram

Example code
- Upload the following code via Arduino IDE
- Open the Arduino IDE serial monitor
/*!
* @file readTemp.ino
* @brief Obtain the temperature value
* @copyright Copyright (c) 2021 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author [fary]([email protected])
* @version V1.0
* @date 2024-12-16
* @url https://github.com/DFRobor/DFRobot_CT1780
*/
#include "DFRobot_CT1780.h"
DFRobot_CT1780 CT1780(2);
void setup() {
Serial.begin(9600);
Serial.println("初始化 CT1780...");
uint8_t address[8];
if (!CT1780.begin()) {
while (1) {
delay(1000);
}
}
// Gets the 64-bit unique address of CT1780,return: Address data (array)
uint8_t *uniqueAddr = CT1780.getUniqueAddr();
// Get the user-configured address of CT1780 (in ScratchPad)
uint8_t configAddr = CT1780.getConfigAddr();
Serial.print("unique addr is: ");
for(uint8_t i=0;i<8;i++){
Serial.print(uniqueAddr[i],HEX);
Serial.print(" ");
}
Serial.println();
Serial.print("config addr is: ");
Serial.println(configAddr,HEX);
}
void loop() {
// Read probe temperature data
Serial.print("Temperature : ");
Serial.print(CT1780.getCelsius());
Serial.println(" C");
delay(1000);
}
Result
- The Arduino prints the current temperature of a K-type thermocouple probe to the serial port every 1 second.

FAQ
Q1.Why does the temperature reading decrease as the actual temperature increases, and even show a negative value?
- A. It is possible that the positive and negative leads of the probe are connected in reverse. Try swapping the positive and negative connections of the probe.
