by Capable Robot Components

An accurate and flexible four-channel temperature sensor for instrumenting electronics

View all updates Jan 29, 2019

SenseTemp Accuracy Testing

I’m excited to show you all an example of SenseTemp TEC running a small thermal chamber, but you’ll have to wait until later this week for that update. In the meantime, I’ve been doing some accuracy measurements on SenseTemp and have some experimental results to share.

Test Setup

For this data collection, all four SenseTemp RTD elements were pressed against a large aluminum block by a rubber pad and weight. Therefore, all channels should report the same temperature. Note that the aluminum block’s temperature was not actively controlled – so its’ temperature slowly changes as the ambient environment does.

SenseTemp data was recorded every three seconds over a test duration of 80 minutes.

SenseTemp Temperature Data

This a plot of the raw test measurements from SenseTemp.

You can see SenseTemp’s temperature resolution of 0.034C in this graph. This measurement resolution is governed by the MAX31865 15-bit ADC, and the ratio between the 4.3 kOhm reference resistor and the 1 kOhm nominal RTD resistance.

Note that SenseTemp system accuracy is governed by the tolerances of the reference resistor and the RTD element, not their nominal values.

Calculating Error

Since the temperature of the aluminum block changes during this test, we cannot merely compare instantaneous samples with the mean to determine noise and error. Instead, we need to compensate for the changing block temperature before error calculation.

To do this, a rolling mean is calculated from the measurements of Channel 1. Since the time constant on the block is very long, its’ temperature changes very slowly – so a large sampling window can be used to average sample data and remove noise.

Calculating Rolling Mean

A sample window of 60 seconds (20 measurements) was used to calculate a rolling mean, and that derived data is plotted against the Channel 1 direct measurements. Note the normal time-offset of a rolling window mean has been removed by eliminating the first 10 samples (1/2 the window) of the rolling mean.

With this “ground truth” data, we can now calculate error and noise on the SenseTemp channels. Of course, this is a derived ground truth from Channel 1 data, so Channel 1 will show the least error and noise.

Comparing Rolling Mean to SenseTemp Data

Error between SenseTemp Data and Channel 1 Rolling Mean

There are some interesting patterns and trends in this data.

  • Channel 3 has the highest error to Channel 1, followed by Channel 4, and lastly Channel 2.
  • During periods of ‘rapid’ temperature change (minutes 0 to 10 and minutes to 40 to 50), sample errors appear as highly-slanted lines, while during periods of no change the errors are flatter and more consistent. This makes sense given the measurement resolution of SenseTemp (0.034 C) and the higher resolution of the ground truth (due to sampling over 20 measurements).
  • At no point during the 80-minute test did SenseTemp RTD element disagree by more than 0.1 C. This is well below the rated system accuracy of ±0.15 C (display range on the graph).

Error was also calculated after applying a rolling mean (with a window size of 4 samples) on each of the channel’s measurements.

Comparing Rolling Mean to Smoothed SenseTemp Data

Error between Smoothed SenseTemp Data and Channel 1 Rolling Mean

This smoothing does not change the Mean or RMS error but does reduce the maximum sample error and error standard deviation, due to the smoothing process creating measurement points with finer resolution than the MAX31865 15-bit ADC allows.

Summary of Results

Below is a table summarizing error results from this 80-minute long test. Due to Channel 1 being the source of ground truth, it shows no mean error and the lowest RMS error.

Channel Maximum Sample Error Mean Error RMS Error
1 0.039 C 0.000 C 0.013 C
2 0.056 C 0.007 C 0.016 C
3 0.096 C 0.042 C 0.045 C
4 0.071 C 0.026 C 0.029 C

One last note on the SenseTemp used for this test – this prototype was built with a 1% accurate reference resistor. Production SenseTemp hardware will be built with 0.05% rated reference resistors, which will result in even lower variance between channels than measured in this test.

$2,040 raised

of $100 goal

2,040% Funded! Order Below

Product Choices



Get your own SenseTemp board, fully assembled and tested. Does not include Adafruit Feather or RTD sensor harness.


SenseTemp Starter Kit

Everything you need to dive into the world of accurate temperature measurement. This kit includes the SenseTemp board, your choice of Feather host (pre-programmed with Python firmware), interconnect headers, and an assembled and tested RTD sensor harness.


SenseTemp TEC

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.


SenseTemp TEC Kit

This kit includes the SenseTemp TEC board, your choice of Feather host (pre-programmed with Python firmware), interconnect headers, two-pin power harness, four-pin TEC/fan harness, and an assembled and tested RTD sensor harness. Thermo-electric cooler not included.


RTD Sensor Harness

This cable harness has a single 16-pin IDC header that splits into four strands, each with a four-wire cable terminated in a platinum resistive temperature detector (RTD) element. The ribbon cable is 30 AWG, 0.025” pitch, and has silicone insulation. The harness is compatible with both SenseTemp and SenseTemp TEC.


Thermo-electric Cooler (TEC) Module

This 12 V / 5 A thermo-electric cooler module (a.k.a. Peltier junction) is the perfect companion for the SenseTemp TEC and SenseTemp TEC Kit. The module includes a heatsink and fan. When ordered with the SenseTemp TEC Kit, the kit's TEC/fan harness will be soldered and heat-shunk to the TEC and fan leads, making it plug-and-play with SenseTemp TEC.


Capable Robot Components

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.

Chris Osterwood

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: