RoadTest: PicoLog Data Logger + Raspberry Pi 4 (included)
Author: wolfgangfriedrich
Creation date:
Evaluation Type: Test Equipment
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?:
What were the biggest problems encountered?: Connecting the RPi to my NAS.
Detailed Review:
I would like to thank Pico Technologies and element14 for the opportunity to roadtest the Pico TC-08 and RaspberryPi 4B.
Receiving a packet is always exciting, especially when the contents are roadtest material and after some delays caused by Canadian couriers experiencing some delays because of volumes twice as high as on Christmas. Everything was present in the large shipping box and arrived in good shape.
{gallery} Contents |
---|
Contents1: All boxed-up items |
Contents2: Open box |
Contents3: Pico TC-08 Dimensions |
Contents4: RPi Open box |
Contents5: MicroSD card for RPi |
Contents6: 2 K-type thermocouples |
The Pico TC-08 is a 8-channel thermocouple temperature logging device for measurements from –270 to +1820 °C (–454 to +3308 °F). The actual range depends on the thermocouple and the TC-08 supports all popular types. Part of the roadtest are 2 type K probes with a range of –270 to 1370 °C which is way beyond my testing capabilities. It also features a cold junction as a 9th channel for cold junction compensation and for thermocouple curve normalisation. Measurement resolution is 20 bits with noise free resolution of 16.25bits(!). Overall accuracy is the sum of ±0.2% of reading and ±0.5 °C.
With an additional terminal board (not part of this test) it can also measure voltage up to ±5V and 4-20mA. Sampling rate is up to 10 measurements per second and sampling duration is only limited by harddrive space. Full specification can be found on the product website https://www.picotech.com/data-logger/tc-08/usb-tc-08-specifications.
I also noticed that the USB cable, which came with the HC-08 is of superior quality. Together with the USB-B connector on the TC-08 it has a very high retention force, stronger than I have ever seen before. Also, the A end plugged into the RPi or my laptop was holding on better than anything else. This results in a very reliable connection even in rough industrial conditions.
PicoLog6 software is available for Windows, MacOS, Linuxes and of course RaspberryPi. Pico also provides a SDK for Windows only, which is essential when using the TC-08 and other PicoTech products integrated in your own projects. Examples are available on the PciTech Github(https://github.com/picotech), which was very tricky to find on their website and has examples for C/C++/C#/.NET/VB/Excel/Labview.
The RaspberryPi is the latest model 4B with 2GB RAM.
The RaspberryPi setup was particularly interesting for as I have never used a RPI before (yes those people exist).
My first surprise was, that the OS was not fully installed yet, but instead a NOOBS installer popped up. After entering my WIFI credentials, I was able to install a ‘Raspbian Full’ system without issues. After the welcome setup I was able to enjoy the views of a virgin Raspbian Buster desktop. First success.
Side note: as the Pi case has also not arrived yet, I used the paper box as a makeshift case.
Installation of the PicoLog6 software needed 3 attempts. The first try failed because of the missing certificate for the signed .deb file. This was fixed by the following command as described on the download page:
wget -O - https://labs.picotech.com/debian/dists/picoscope/Release.gpg.key | sudo apt-key add –
The 2nd roadblock was a missing dependency to gconf2. This package could be installed through the RPI ‘Add/remove Software’ configuration utility.
Finally the install command
sudo dpkg -i picolog-6.1.15-armhf.deb
went through without any other complaints and PicoLog6 was ready to use.
Let’s stick with the RPi for a minute as my adventures in software installation land did continue. My idea was to run the temperature logger with the RPi as controller as a headless unit, powered by a power bank as a very mobile setup.
So I had to install a VNC as suggested in the roadtest offer page. Initially I picked TigerVNC as free and open source solution. I could not get it to connect between the server running on the Pi and a viewer running on my Win8.1 laptop, all connected to my home WiFi network. It always timed out with an error message about non compatible encryption. Little did I know the easy solution to the problem was waiting in the RaspberryPi Configuration utility. Browsing through the setup I found the Interfaces page with a line to enable a VNC!
A full VNC server is available for everybody to use, provided by a company and software package called RealVNC. https://www.realvnc.com/en/. The only restriction seems to be, that it is for non-commercial use only. The configuration happened automatically and a VNC icon showed up at the top right in the desktop menu line.
Download and installation of the RealVNC viewer on the Windows PC as well as configuration was done without issues. The only item to know is the IP address of the Pi (removed in all images for security reasons), which is shown in the configuration window when clicking the icon on the RPi.
Hopeful that everything is set-up properly, I removed keyboard, mouse and display from the RPi, rebooted and tried to connect from the viewer. Nothing happened, with a message that nothing was there to display!? I found the solution in the RPI forum. The RaspberryPi Software Configuration tool need to set up a default display resolution, which would be use when no display was connect (command: sudo raspi-config).
After this final step the VNC viewer was able to connect to the server and display the RPi desktop and I was able to use the measuring setup remotely.
Later I found out that, everything and more can be found on the RealVNC website:
https://www.realvnc.com/en/raspberrypi/
PicoLog6 software looks and operation is identical on Raspberry and Windows, as I could test these 2 platforms. After starting the software and plugging in the TC-08 unit, it was recognized immediately and displayed in the main device area.
use window with final setup 8ch+math
Adding devices, setting up channels and adding math channels is very intuitive and I was able to do everything without studying the handbook once. This was meant to be a test for UI performance and passed with excellence from my view. The whole software package does not comply with standard windows menu and button structures, which I usually see a big liability. PicoLog6 convinced me, that it can be a good idea after all. Everything was identical under Windows and RPi and more importantly, everything was in a place where I as an untrained user would look first. All icons basically did explain their function. Overall the software was very easy and a pleasure to use, that I don’t see the need to review every detail.
My test setup to get used to the device and the software turned into a journey that altered my planned roadtrip quite a bit (like a random left turn on the road). The setup is very simple, everything is setup on the desk, the TC-08 using 2 temperature probes. By accident probe 1 was sitting in free air, probe 2 was touching the desk surface.
The cold-junction was enabled just out of curiosity; I was not planning to use it for compensation. Probe 1 with some air flow shows a lot more variation than probe 2 with the physical desktop as thermal reservoir, which is totally expected. Everything happens inside of 0.6 °C, the variation only looks large because of the zoom level on the y-axis. A snapshot of the full application window.
Now what happens if I enable a channel (the pink line) that does not have a probe connected? It shows a good amount of noise with a random temperature not too far from ambient. The 2 spikes on the blue channel 2 is me holding my hand close to sensor tip twice. This is a saved image from inside the PicoLog6 software, the image export function only saves the diagram without the channel settings.
The next test is a capture of all channels enabled without any temperature probe plugged into any port. Noise on all channels in a very narrow band, only channel 7 is an outlier being visibly lower by about 0.5 °C. Again this triggered my curiosity and led to deeper investigation, even though I knew that those measurements with open input are not relevant at all. Hera a table of the average values of all channels, with values before the 30 second mark ignored.
[°C] | Cold junction | Channel 1 | Channel 2 | Channel 3 | Channel 4 | Channel 5 | Channel 6 | Channel 7 | Channel 8 |
|
|
|
|
|
|
|
|
|
|
Avg | 23.33 | 23.87 | 23.86 | 23.92 | 23.99 | 23.84 | 23.96 | 23.54 | 24.04 |
Min | 23.31 | 23.08 | 23.02 | 22.73 | 23.25 | 23.46 | 23.57 | 23.10 | 23.57 |
Max | 23.34 | 24.75 | 24.93 | 24.52 | 24.57 | 24.26 | 24.32 | 23.95 | 24.46 |
UI side note: The channels 1-4 on the left side are flipped compared to the channels 5-8 on the right side, meaning the wider blade always points to the outside of the box. Every single time I changed a probe from left to right or vice versa, I got fooled by this setup and the probe did not go in on the 1st try. The design of the box may look very refined and symmetrical, but it does not scream intuitive usability to me. Form follows function follows form, pick two.
Another observation about usability is the LED, indicating sampling activity. It blinks in a 1 second cycle, when the sampling rate is 1 second or faster, or blinking at the selected sample rate when it is set to slower than 1 second. This prevents a crazy rapid flashing LED at the max sampling rate of 100 msec. This is a very good UI choice not creating (let’s call it) ambient light noise distraction.
Back to the testing. The unexpected result was that the measurement differences between the channels were not random within a certain precision, but very distinct steps with very little variation. The difference is greatest between channel 1 and channel 5. This makes me believe the physical distance (sorry for the pun in these times) of the channel connectors plays a role with this result. My un-educated guess is that the resistance of the PCB tracks from connector to the ADC is the contributing factor when measuring very small voltages/currents of the thermocouples. And I don’t want to educate my guess by opening up the box just yet. I would be especially interested in the thickness of the PCB traces from connectors to the ADC or driver chips.
Without a calibrated temperature normal, I was trying to use the laws of physics to get a handle on precise measurements. Test 6 replaced the bucket of water at ambient temperature with an insulated coffee mug filled with ice cubes and water, which in theory should give me a water temperature of 0 °C. I used de-ionized water because I thought to calibrate my NTC and PTFD probes as well, but that will have to wait for another time and blog post.
The ice water turned out to be as temperature stable as I hoped for. The average log results show all measurements within ~0.35 °C from 0.116 °C to -0.239 °C. The probe proximity to ice cubes and liquid convection probably affected the results to some degree, as I was stirring the mixture only between measurements. With this experiment I could also see the distinct temperature steps between the channels to some extent. I used the probes in horizontally aligned slots 1-8, 2-7, 3-6 and 4-5 to minimize the effect between probes of the same measurement, but temperature averages are getting lower with channels further up on the box.
{gallery} Test6 Icewater single measurements |
---|
Test6: Channels 1-2 |
Test6: Channels 1-8 |
Test6: Channels 2-7 |
Test6: Channels 3-6 |
Test6: Channels 4-5 |
{gallery} Test7: Boiling water |
---|
Test7: Channels 1-8 |
Test7: Channels 8-1 |
Test7: Channels 2-7 |
Test7: Channels 7-2 |
Test7: Channels 3-6 |
Test7: Channels 6-3 |
Test7: Channels 4-5 |
Test7: Channels 5-4 |
These measurements are not precise enough which of the channels would give the most accurate results, I just noticed the difference between channels and tried to investigate them as far I as could do with household equipment. I really want to see the layout now, but after all this is a roadtest and not a teardown.
Now, for a real world application. I am attaching the thermocouples to my reflow hot plate solder setup. The heater is a MCH (metal ceramic heater) element, powered by a 95W supply. My regular temperature controller is a NTC element, connected to an Arduino Nano. Details can be found here:
https://www.element14.com/community/people/wolfgangfriedrich/blog/2020/05/07/arduino-hot-plate
One temperature probe is attached to the hotplate itself in close proximity to the NTC and the other one on top of a dummy PCB.
This is going to show the difference of temperature through the PCB while heating through the temperature profile.
Interesting result here is that the probe on the PCB is more linear than the probes directly on the hot plate, which follow the heating on/off cycle very nicely. Also the PCB probe’s average is about 20 °C lower than the plate surface and the cooldown process starts later. The overall lower temperature of the Pico Thermocouples is suspicious and I might need to re-do the test, having a close eye on the physical contact of the thermocouples to the surfaces. (Edit: A better result is documented below in the comments)
A second test with a larger hot plate is trying to characterize a temperature gradient on an aluminium plate heated from below.
One probe is staying in the same place and the 2nd probe gets moved across the plate in 3 identical temperature tests. With more probes attached to the HC-08, this could be done in a single cycle. I had to do multiple runs, because only 2 probes were provided for the roadtest.
The result aligns very well with the expected outcome. The far and middle probes show identical temperatures, proving that the temperature in the usable area is consistent. The near probe temperature is sitting in between the far/middle and the probe temperature close to the NTC sensor. The NTC is the coolest, being farthest out on the plate and the glass body heating up slower than the thermocouples in contact with the metal plate. I am very happy with this result.
Overall the Pico thermocouples show much less noise than the NTC element at higher temperatures.
Installation of the SDK was without any issue, one only has to know if needing the 32 or 64 bit version. I had to use the 32 bit version, because I am using Excel 2010 and I wanted to try out the Excel/VB demo. All demos can be found on the PicoTech Github. The Excel sheet allows similar settings as the PicoLog software, to select thermocouple type on which channel and the sampling speed. Description of what to do is part of the sheet and very straight forward, when the user has worked with macros before. Here a snapshot of a short temperature logging process to show the spreadsheet and the recorded temperature data as a result.
Here is a little trick to make this more user-friendly. The ‘START’ and ‘STOP’ button can be assigned their respective macro by right-clicking on the button and selecting a macro to be executed. The only issue I found, sampling speed into the Excel sheet could not be run quicker than about 3 samples per second, otherwise it would overwhelm itself by looping back into itself before finishing the previous loop. This could have any number of reasons; I would guess Windows/Office is the biggest contributor to any lag in my system. I had a look into the source code of the macros and the coding style was very self-explanatory, even without a lot of comments.
I am also planning to use the provided Excel/VB SDK demo to send temperature measurements back to my hot plate controller, but this is more an exercise in VB than roadtesting the TC-08 environment. Stay tuned for an extra blog post when this side experiment gets tackled and documented.
The Pico Tech TC-08 temperature logger is a complete system with a very robust box for 8 temperature channels and very stable software. I did not encounter one single crash, everything was running flawlessly. All standard thermocouples can used by setting the correct type in software. The ports to connect the temperature probes use a proprietary connector. It would be perfect, if the standard 4mm jacks with correct spacing could be used, then the multimeter temperature probes could be used on the device as well.
I had a lot of fun with this road-test, which brought some un-expected results and elevated my temperature measurement capabilities to the next level. I will continue using the TC-08 and integrate it into my hot plate soldering setup. Many thanks again to Pico Technology providing their equipment and element14 for running the roadtest program.
Top Comments
As mentioned in the article, I re-did the test with the small hot plate and PCB (Application2 in the article) and paid more attention, that the actual thermocouple junctions made contact with the heater…
Good road test report.
DAB
Nice set of experiments to test out the functionality of the unit. Looks like a good robust build for use out in the field.
Kind regards