SenseTemp is an open source, four-channel temperature sensor designed for instrumenting electronics. It uses extremely accurate platinum resistive temperature detector (RTD) elements which are small enough to place directly on ICs, heatsinks, and other points of interest on an electronic circuit board.
SenseTemp TEC is an expanded version of SenseTemp that adds everything you need to power and control a thermo-electric cooler (TEC, a.k.a. Peltier junction). With SenseTemp TEC, not only can you measure temperature, you can control it, too.
SenseTemp TEC prototype
When planning environmental tests of embedded electronics, I couldn’t find accurate, small, low-cost, and flexible temperature sensors – so I designed SenseTemp. I’m using it to validate the thermal design around voltage regulators, processors, motor drivers, and other heat-generators in my products.
As a thorough and responsible engineer, you should too. Good instrumentation of your product’s thermal path can help you find and eliminate unexpected thermal resistance. SenseTemp uses miniature temperature sensors so you can embed them in and along heat flows.
Above: A resistive temperature detector (RTD) installed onto RAM and another on a CPU (without and with thermal pad). A third RTD measures the underside of the board.
Above: Top and side views of the same setup, now with a heatsink installed and an RTD attached to the heatsink. There are now RTDs throughout the thermal path.
Accurate: to ensure that temperature data is useful, actionable, and repeatable
Closeup of RTD Sensor Elements
The platinum RTD elements are very small (2 mm x 4 mm x 1 mm), so they are unobtrusive and thermally responsive. This makes them great for measuring small or dynamic point heat sources. Each RTD is pre-soldered to a custom silicone ribbon cable harness.
The silicone ribbon cable used in the RTD sensor cable harness is remarkable. Early prototypes of SenseTemp used traditional PVC ribbon cable between the PCB and the RTD elements. I was unhappy with PVC’s poor abrasion resistance and temperature rating (typically capped at 105°C and some temperature tests have an ambient of 70°C to 85°C.) I then built some harnesses with Fluorinated-Ethylene-Propylene (FEP) jacketing rated to 200°C, but found FEP cables to be far too rigid for easy instrumentation of PCBs.
For several months, I looked for a better ribbon cable option and finally found one when Cicoil launched their Ultra Flexible Micro IDC Ribbon Cable. Cicoil silicone cables are durable, super flexible, and rated to 260°C. I commissioned Cicoil to produce a custom four-conductor extrusion of their cable and could not be more excited to be using it in SenseTemp.
SenseTemp can be operated by many different Feather-compatible boards, including:
|Feather Host||Supported Language||Wireless||Code Update|
|Adafruit M4||CircuitPython||Native USB disk|
|Adafruit M0 LoRa||CircuitPython||LoRa||Native USB disk|
|Adafruit ESP32||MicroPython||Wi-Fi / BLE||via USB serial port|
Additionally, the Adafruit M0 Adalogger, M0 Express, and HalloWing have also been verified to work with SenseTemp. The Huzzah ESP8266 is known to be incompatible due to limited IO on that processor. All other Feather hosts are likely hardware compatible. Software libraries for the MAX31865 are available for the Arduino IDE, CircuitPython, and MicroPython.
The M0 and M4 Feathers support USB natively, expose a serial endpoint, and mount on your computer as an attached mass storage device. This makes modifying the CircuitPython code very straightforward – you merely edit the files and save them. Example CircuitPython scripts are available in the SenseTemp repository.
Unfortunately, CircuitPython is not available for the ESP32 processor. To use an ESP32 host, MicroPython must be used instead. The SenseTemp repository has example MicroPython scripts and MicroPython libraries for the MAX31865 ICs. The ESP32 PCB has a serial-to-USB bridge IC which exposes a serial endpoint, but no virtual hard drive. To update code on the processor, we recommend using Adafruit Ampy, which streams file contents via that serial connection.
In either case, the Feather’s serial connection can be used to stream SenseTemp data to the attached computer or to interact with it via the REPL console.
Above: SenseTemp with Adafruit M4 Express and Adafruit M0 LoRa
Above: SenseTemp with Adafruit ESP32 Huzzah and Adafruit HalloWing
1. CPU 2. USB 3. RAM 4. Ambient
SBC stress graph
|SenseTemp||Advantech Adam-4013-DE||Advantech Adam-4015-DE||Omega HH804U||Omega UWRTD-2|
|Input Connection||4 wire||2, 3, 4 wire||2 & 3 wire||3 & 4 wire||2 & 3 wire|
|Total Sample Rate||12/sec||10/sec||10/sec||1/sec||1/sec|
|Connector||2x8 50mil IDC||Terminal Blocks||Terminal Blocks||4-pin DIN||Omega TA4F|
|Electrical||USB||RS-485||RS-485||USB||(USB for setup)|
|Wireless||Yes (depending on Feather Host)||No||No||No||IEEE 802.15.4|
|Protocol||ASCII, JSON, MQTT, and more||ASCII, Modbus/RTU||ASCII, Modbus/RTU||Proprietary (Windows GUI)|
|Input Power||5 V, 0.1 W + host||24 V, 0.7 W||24 V, 1.2 W||12 V||N/A|
|Battery Powered||Li-Poly (optional)||No||No||4 x AAA||1 x AA Lithium|
|Size||23 x 62 x 13 mm||60 x 112 x 26 mm||60 x 112 x 26 mm||83 x 160 x 38 mm||50 x 100 x 25 mm|
The accuracy of SenseTemp’s temperature measurements is determined by three factors:
The first two factors are characteristics of the reader (i.e., the SenseTemp board), whereas the third factor is a characteristic of the physical sensor (i.e., the RTD element). Therefore, the reader alone has an accuracy of ±0.063% as measured in Kelvin and the system as a whole (reader + sensor) has an accuracy of ±0.32°C @ 0°C and ±0.39°C @ 100°C.
Some other temperature sensing systems (e.g., Advantech and Omega) only specify the accuracy of the reader and do not include the error introduced by the RTD measurement element itself. For this reason, in the comparison chart above, only the accuracy of the SenseTemp board (without the RTD element) is listed. For reference, a reader rated to ±0.1% accuracy would measure ±0.27°C @ 0°C and ±0.37°C @ 100°C.
Your test hardware shouldn’t lock you into proprietary software. SenseTemp’s open source software and hardware make it easy to integrate into your current and future tests, logging systems, and workflows. The firmware is written in embedded Python, so changing data formats and behavior is a snap. Right now, the ESP32 firmware supports HTTP (live visualization, CSV, XML, and JSON) and MQTT transports over Wi-Fi. In the future, it will support other pub/sub systems, like NATS and Redis. Check out SenseTemp’s schematics, layout, and source code.
SenseTemp printed circuit boards will be assembled in the USA by a contract manufacturer who’s been involved in prototype production. We’re doing the final flashing, assembly, and testing of every unit here in Exeter, New Hampshire, USA.
RTD cable harnesses are being made and tested in-house to reduce lead time and allow for the production of different lengths. The custom-extruded four-conductor silicone ribbon cable is already here.
Immediately after the campaign closes, I’ll be placing orders with the manufacturers. I estimate I’ll have the first batch of SenseTemps tested and shipped in April 2019.
For US domestic orders, we will use USPS First Class Mail and will notify you via email when your order ships. Such packages are usually delivered within a few days of being shipped. International orders will be shipped by Crowd Supply from Portland, Oregon.
We want to make sure SenseTemp is available to everyone, but unfortunately shipping internationally from the US is expensive and complicated. Because of this, we must include an international shipping fee for backers outside the US.
For more information, you can refer to this useful guide to ordering, paying, and shipping.
Creating physical objects is always risky and challenging. For example, parts currently in stock may go out of stock before the production run. However, there are ways to mitigate production risk - like returning to proven and familiar PCB assembly houses.
Also, I recently made some minor design changes to both SenseTemp and SenseTemp TEC. On the base model: support for Li-Poly batteries was added, and a few SMT footprints changed. On the TEC model: a 12 V to 5 V regulator circuit was added so that the system can run without a USB cable connected. These changes are being validated by another prototype run of boards, expected to arrive in early February.
We will provide updates explaining how we are addressing any delays of any kind. We know that many of you are interested in the manufacturing process, and that includes learning about any problems we might run into and how we solve them.
There is more detailed information about SenseTemp, including schematics, EAGLE source files, and sample CircuitPython and MicroPython code in the GitHub repository. The entire revision history of the product is there.
Please open a GitHub issue if you have a suggestion for the product or run into any problems using it, or use the “Ask a Question” link below.
If you have a question about ordering, paying, or shipping, please refer to The Crowd Supply Guide.
Funding ends on Feb 13, 2019 at 03:59 PM PST (11:59 PM UTC)