I’ve been playing with temperature measurements in several hardware platforms such as Texas Instruments eZ430-Chronos Watch, Sonoff SC environmental monitor, Wemos D1 board with aDHT21 temperature sensor, or more recently ANAVI Thermometer with the last three platforms based on ESP8266 WiSoC.
All four devices/boards above have temperature sensors designed to measure ambient temperature with for example DHT22 having a range of -40 to +125 degrees Celsius. I had also come across DS18B20 waterproof temperature probe to measure liquid temperature several times with a range of -55 to 125°C. Good for most use cases, and for example you could check boiling water with the later.
But I had never really thought about measuring data for much lower or much higher temperatures, and this morning I came across two “PT100” temperature probes on IC Station new arrivals feed namely WZP-187 ($4.89) and an unnamed probe ($3.42) respectively capable of -200°C to +400°C and 0°C to 800°C ranges respectively.
As usual, there are very little details on IC Station website. WZP-187 specifications/description:
- Sensor type: K type
- Measuring range – -200°C-400°C
- Dimensions – 5 cm long probe, 1.5m cable with three pins
- Sensor type – Type-K
- Measuring temperature – 0℃~800℃
- Host connection – 2 pins
- Platinum resistor
- Dimensions – Inner hole: 5mm; Sensor length: 5 meters
IC Station website does not help an awful lot figuring out what those probes are all about. Luckily Omega website explains what PT100 probes are:
RTDs – or Resistance Temperature Detectors – are temperature sensors that contain a resistor that changes resistance value as its temperature changes. They have been used for many years to measure temperature in laboratory and industrial processes, and have developed a reputation for accuracy, repeatability, and stability.
Most RTD elements consist of a length of fine coiled wire wrapped around a ceramic or glass core. The element is usually quite fragile, so it is often placed inside a sheathed probe to protect it. The RTD element is made from a pure material whose resistance at various temperatures has been documented. The material has a predictable change in resistance as the temperature changes; it is this predictable change that is used to determine temperature.
As you’ll have noticed our first probe comes with 3 wires, while the second only has two. This is also explained:
In order to measure temperature, the RTD element must be connected to some sort of monitoring or control equipment. Since the temperature measurement is based on the element resistance, any other resistance (lead wire resistance, connections, etc.) added to the circuit will result in measurement error.
Except for the 2-wire configuration, all other wiring arrangements allow the monitoring or control equipment to factor out the unwanted lead wire resistance and other resistances that occur in the circuit. Sensors using the 3-wire construction are the most common design, found in industrial process and monitoring applications.
Finally, there are several materials that can be used for the probe, and the platinum resistor found in our last probe is said to be the most common and accurate. Other commonly found materials are Nickel and Copper, while Tungsten and Balco are rarer. There must be a really small amount of platinum (precious metal) in ICS probe since it sells for just under $4, or the description is simply wrong. PT100 means that the Platinum probe has a 100 Ohm resistance at 0°C.
We now have a better understanding of PT100 RTD probes, but how can we use those exactly? While looking for Arduino support, I found PT100RTD library on Github that adds support for accurate PT100 RTD ohms-to-Celsius conversion to the Arduino IDE.
The developer provides some more insights with the library being fairly large at 3KB and recommends using the Callendar-Van Dusen equation instead for “ordinary” temperature measurements between -60°C and 650°C, nothing that his library would be most useful to gas liquefaction enthusiasts.
The probes are analog sensors, but you can’t just plug them directly into one of your Arduino analog input. The signal needs to be amplified, and a quick web search showed two options although there may be more:
- Wheatstone Bridge plus operational amplifier as explained on Instructables.
This post also details the math behind the circuit design and should be a good read. The Arduino sketch does not rely on PT100RTD library mentioned above, and is much simpler, but note the circuit used is said to only support -51.85 to 129.87 degrees C.
- Adafruit PT100 RTD Temperature Sensor Amplifier based on MAX31865 sold here for $14.95.
As you can see above the wiring diagram is much simpler with this board. The board works with PT100 probes using 2-,3-, or 4-wire cables, and the company also offer an optional PT100 probe with a range of 0 to 550°C. Adafruit also posted a very detailed tutorial for their amplifier, and the Arduino code relies on their Arduino Library for Adafruit MAX31865 RTD sensor, but still recommend the very first PT100RTD library we mentioned in this post if the best possible accuracy is needed. If Arduino is not your thing, the tutorial also provides sample code for MicroPython / CircuitPython.