THERMOsera - 4 channel thermocouple USB/UART interface
THERMOsera is an interface to connect thermocouple sensors via USB or UART to a host system. It senses K-type thermocouple elements on four channels and outputs the measurement result on the UART interface or on a virtual serial port (CDC) through USB.- Four channels with 300ms/channel sampling interval (4 channels -> 1,2s interval)
- Plain text serial output over USB and UART with bluetooth option
- Build-in temperature sensor for cold junction compensation
- Bootloader for firmware updates
- Open source firmware
Serial output
Format - Plain text CSV
After power up THERMOsera beginns to measure the four sensor channels and the cold junction temperature and prints it out over the serial interfaces (UART: 9600 Baud, USB: virtual serial port). The temperatures are sampled and printed out line-by-line as comma separated values (CSV) in degree Celsius:Channel-A, Channel-B, Channel-C, Channel-D, ColdJunction [CR]Example:
30.9, 10.6, -5.7, 127.4, 22.4 30.9, 10.6, -5.6, 128.3, 22.4 30.9, 10.6, -5.4, 129.5, 22.4Data lines start with a space character (" ") and ends with CR (13).
USB - Virtual serial port (CDC)
For Linux, MacOS and Windows >8 no additional driver is needed! THERMOsera is automatically detected as virtual serial port.Driver for Windows <8:
THERMOsera is mapped to serial port "/dev/ACMx" (Linux, MacOS) or "COMx" (Windows). You have to select this corresponding port in the software. On some Linux systems, "modemmanger" blocks the port for about 20s after plug-in (if this disturbs: disable or remove the modemmanager).
UART - 9600 Baud
THERMOsera features an UART interface (connector X6). The board can be powered through this connector (USB left open) or through the USB connector with an USB power adapter. The transmit line (TXD) is shifted down to 3,3V level (voltage divider R4/R5) to be compatible with 3,3V-5V systems.Bluetooth - Optional HC-06 module
The UART pinout matches with HC-06 bluetooth modules. The HC-06 bluetooth module is an UART-to-Bluetooth board and can be connected to the UART socket while THERMOsera is powered via the USB connector with +5V. No additional firmware stetting is needed - just plug in the module and power the board. The serial output can be printed out e.g. on Andorid with the App BlueTerm.Software
For further processing, the serial output can be written to a file.Windows:
type com3: >> temp.csvLinux or MacOS:
cat /dev/ttyACM0 > temp.csvThis file can be opened in spreadsheet software like Excel or LibreOffice Calc (use "US-English" as column format).
Firmware
Source code and HEX file
The firmware of THERMOsera is available as precompiled HEX file and as C (XC8 compiler) source code.The source code is hosted on Github: THERMOsera Source code.
Precompiled HEX file:
THERMOsera_firmware_v1.0.hex (2016-10-03) First public version
Firmware update via bootloader
Connect MCLR (X7) to ground and plug in THERMOsera. Now the bootloader starts. Use a bootloader application ( MPHidFlash) to load the new firmware into THERMOsera:mphidflash -w THERMOsera_firmware_v1.0.hex
Hardware
Schematic - THERMOsera's circuit diagram
Partlist - Build your own THERMOsera!
Here you find a list of all parts needed to build your own THERMOsera board.Partnumber | Value | |
---|---|---|
C1 | 4,7u | |
C2, C3, C4, C5, C6 | 220n | |
IC1 | PIC16F1455 | |
IC2 | MCP3424 | |
IC3 | MCP9800 | |
R1, R6 | 470k | |
R2, R3 | 10k | |
R4 | 1k | |
R5 | 2k | |
X1, X2, X3, X4 | 2pol 5mm | |
X5 | USB-B |
Gallery
Please tell me about your Thermosera project!
THERMOsera EB with Thermocouple connectors mounted on plastic plates. by Thomas Fischl (09/2017) |
||
Bert has worked intensively with the THERMOsera, achieved a very high accuracy (successfully tested: 0.1°C in the range 0-100°C) by using an adapted firmware and a specially developed Windows software. by Bert (09/2021) |
||
3D printed enclosure for THERMOsera. Two parts, mounted with four M3x12 screws (flat head). STL 3D files: THERMOsera_Case_02.zip by user community (11/2022) |