This module can be used to get temperature readings from a number of different types of RTD probes. This function returns the temperature reported by the channel as a floating point value.
float temperature = P1.readTemperature(1, 2); // Reads slot 1 channel 2 of the P1-04RTD
Note: While the P1-04RTD can be used for raw resistance inputs, you still need to use the "readTemperature" function as the resistance is reported as a floating point number.
Configuration Tool
Module Configuration and Status Tables
We recommend using the status functions and configuration tool. These tables are provided as additional reference.
Module Status Data
Bytes | (MSB) 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 (LSB) | Description |
---|---|---|---|---|---|---|---|---|---|
Byte 0 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 1 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 2 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 3 | x | x | x | x | x | 2 | x | 0 | bit 2 - Module not ready |
bit 1 is undefined | |||||||||
bit 0 - Module diagnostics failure | |||||||||
Byte 4 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 5 | x | x | x | x | 3 | 2 | 1 | 0 | bit 3 - Burnout error on channel 4 |
bit 2 - Burnout error on channel 3 | |||||||||
bit 1 - Burnout error on channel 2 | |||||||||
bit 0 - Burnout error on channel 1 | |||||||||
Byte 6 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 7 | x | x | x | x | 3 | 2 | 1 | 0 | bit 3 - Under range error on channel 4 |
bit 2 - Under range error on channel 3 | |||||||||
bit 1 - Under range error on channel 2 | |||||||||
bit 0 - Under range error on channel 1 | |||||||||
Byte 8 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 9 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 10 | x | x | x | x | x | x | x | x | bits 0-7 are undefined |
Byte 11 | x | x | x | x | 3 | 2 | 1 | 0 | bit 3 - Over range error on channel 4 |
bit 2 - Over range error on channel 3 | |||||||||
bit 1 - Over range error on channel 2 | |||||||||
bit 0 - Over range error on channel 1 |
Module Configuration Data
Default values are in bold.
Offset | Description | Allowable Values | Value Description |
---|---|---|---|
Bytes 00-01 | Channel enable | 0x4000 | Enable channel 1 |
0x4001 | Enable channels 1 and 2 | ||
0x4002 | Enable channels 1-3 | ||
0x4003 | Enable channels 1-4 | ||
Bytes 02-03 | Burnout and Units | 0x6001 | Low side burnout (min scale)/Temp in degrees C |
0x6003 | High side burnout (max scale)/Temp in degrees C | ||
0x6005 | Low side burnout (min scale)/Temp in degrees F | ||
0x6007 | High side burnout (max scale)/Temp in degrees F | ||
Bytes 04-05 | Range | 0x2000 | jPt100 |
0x2001 | Pt100 | ||
0x2002 | Pt1000 | ||
0x2003 | 10Ω Cu | ||
0x2004 | 25Ω Cu | ||
0x2005 | 120Ω Ni | ||
0x2006 | 0-193.3125Ω | ||
0x2007 | 0-10KΩ | ||
0x2008 | 0-6.25KΩ | ||
0x2009 | 0-3.125KΩ | ||
0x200A | 0-1.563KΩ | ||
0x200B | 0-781.25Ω | ||
0x200C | 0-390.625Ω | ||
Bytes 06-07 | Digital Filter | 0x8000 | 33Hz/16bit/61ms |
0x8001 | 470Hz/14bit/4ms |

Channels: 4
RTD Types: Pt100, Pt1000, JPt100, Cu10, Cu25 and Ni120.
Resistance Types: 0-10000Ω, 0-1562.5Ω, 0-195.3125Ω, 0-3125Ω, 0-6250Ω, 0-390.625Ω and
0-781.25Ω.
Resolution: ±0.1°C or °F
Examples:
Arduino
CircuitPython
Additional Resources:
Data Sheet
P1-04RTD
on AutomationDirect.com