Capable Robot Components
Environmental Sensing
Feather
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.
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.
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
SenseTemp | Advantech Adam-4013-DE | Advantech Adam-4015-DE | Omega HH804U | Omega UWRTD-2 | |
---|---|---|---|---|---|
License | OSHW | Closed | Closed | Closed | Closed |
Price | $75 | $189 | $396 | $168 | $183 |
Schematics Published? | Yes | No | No | No | No |
Temperature Measurement | |||||
Channels | 4 | 1 | 6 | 2 | 1 |
Accuracy | ±0.063% | ±0.1% | ±0.1% | ±0.05% | ±0.5°C |
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 |
Interfaces | |||||
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) | |
Physical | |||||
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.
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.
Produced by Capable Robot Components in Exeter, NH .
Sold and shipped by Crowd Supply.
Get your own SenseTemp board, fully assembled and tested. Does not include Adafruit Feather or RTD sensor harness.
Don't settle for measurement alone - start controlling temperature! Get your own SenseTemp TEC board, fully assembled and tested. This board has all the functionality of the SenseTemp board, with the added ability to control a thermo-electric cooler (TEC, a.k.a. Peltier junction) and drive other devices such as a fan. Does not include Adafruit Feather, RTD sensor harness, or thermo-electric cooler.
Capable Robot Components enables rapid development of autonomous robots by providing technological building blocks to system integrators. Right now, integrators have to develop things they would rather purchase because the right robot-first products don't currently exist. CRC provides proven products which are domain-agnostic, but configurable and adaptable to the integrator's market needs. This allows autonomous system developers to spend more time and effort on domain-specific engineering and testing.