Table of Contents
Introduction
This blog post discusses a really simple dual-thermocouple measuring device designed with very low cost (ballpark £10) in mind; also, all parts are currently in stock : ) The circuit supports temperature measurement across -250 to +1360 degrees C, with automatic cold junction compensation from -30 to +50 degrees C.
The project uses a Bluetooth Low Energy (BLE) module that has already been discussed here: Cost-Effective Bluetooth LE with DA14531
The rest of the circuit was developed over the past few days with combined brainstorming with element14 community members, and the discussion is recorded here: Ideas for Interfacing Thermocouples at Low Cost
The 3-minute video here shows the overall project in operation.
Building the BLE EasyTempProbe
Eventually I’ll have a proper printed circuit board (PCB) designed up, but for now, there isn’t a PCB, and the prototype was constructed on perfboard.
The BLE portion of the circuit consists of the DA14531MOD device, and not much else:
The thermocouple interface creates four channels out of a 2-channel ADC chip, using transistor switching; this allows for two channels to be used for cold junction compensation with thermistors. See the earlier linked discussion for commentary on the circuit.
The thermocouples should be Type K. Any other type will work in the circuit however the code currently only supports Type K.
Once the circuit is assembled, the next step is to program the BLE module.
Programming the EasyTempProbe
See the DA14531 blog post for information on how to build code, and how to upload it to the module. A programmer tool is needed, such as Segger J-link. There are some very low-cost alternatives, mentioned at that blog post.
To build the code, a free copy of Keil uVision is required, and it is used as discussed at that blog post. If you don’t wish to build the code, then a pre-compiled firmware image could be used. It may be buggy, since the code is still fresh, and I’m still learning how to use the BLE module.
The code is based on sample code from Dialog Semiconductor.
The new files required for this project, and files which are modified, and the prebuilt image, are all at the easytempprobe Github link. First, download the samples from the Dialog Semiconductor GitHub link, and follow the instructions there, which involve using Python. Once that’s done, a file compare operation with the easytempprobe files will show the code changes required. As mentioned earlier, this is unnecessary if you just wish to run the code, because a pre-built image is available.
Currently, the code only supports one thermocouple probe, although the hardware supports two. I’ll modify the code at some point to support two probes; it’s not a lot of effort, but I want to build a PCB prototype first so I can more easily test it.
Using the EasyTempProbe
For now, the free LightBlue mobile app can be used (it is available on mobile app stores for devices including Android and Apple). To see how to use it, see the project video walkthrough at the beginning of this blog post.
Summary
This project was an interesting exercise to see if a low-cost dual-channel thermocouple interface could be built, and to a good extent it works well, thanks to the support from other element14 members. It was nice to be able to reuse the earlier Bluetooth LE module prototype to build a working example to use the interface.
Thanks for reading!
Top Comments