Skip to the content
2 layers50 × 70 mmTemp logger, the printed circuit board in 3D

Logging Thermocouple Temperature and Send Data to InfluxDB system.

Size
50 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
52
Nets
38
Pads
176
Tracks, vias
356, 116
Pours
2
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
3 Aug 2023
Updated
4 Sep 2023

Overview

Temp logger is an open-source printed circuit board by hnz1102, from the hnz1102/temp-logger repository on GitHub. It is a 2-layer board of 50 × 70 mm with 52 parts on 38 nets, routed with 356 tracks and 116 vias.

It is built around the ESP32-C3-WROOM-02-N4, MAX31855KASA+T and SPX3819M5-L, with the 2N7002K, BK2125HS601-T and IRF7606TRPBF among its other parts. Its parts include 17 resistors, 11 capacitors, 5 ICs, 5 diodes and 5 switches. It belongs with the power boards and the ESP32 and RISC-V boards of this library.

Main components

7

README

README.md

Temperature Logger for K-Type Thermocouple

TempLogger - Temperature Logger for K-Type Thermocouple

This board provides a logging function that gets data on temperature from a K-type thermocouple.

Feature

Microcontroller on board - No need for a PC when you are measuring a temperature.

Transfer Temperature data via WiFi - This Logger can transfer temperature data to Linux PC via WiFi network and you can see the dashboard graph in influxDB.

Battery Powered - Using LiPo battery. It can run for 48 hours.

How to use the TempLogger

Put on the thermocouple where you want to measure the temperature.

termocuple

Push the START/STOP button, then TempLogger starts to log the temperature. And if you want to send data on temperature, push the SEND button. During the measurement, TempLogger can send the data to a PC.

board

A display can show you the current temperature, battery voltage, and WiFi connection status.

If WiFi could not connect to WiFi Access Point, the WiFi mark won't be shown on the display.

You can see the realtime data using Dashboard by InfluxDB.

dashboard

After the measure, to stop logging, push the START/STOP button again.

To charge a battery, just connect to a USB mini-B port from the bus-powered USB port. During the charge, the CHG LED is RED ON. After the charging is full, the FUL LED is GREEN ON. And the charging will be stopped automatically. But,

DO NOT CONTINUE THE CHARGE IF THE BATTERY IS FULL FOR A LONG TIME.

Case

dashboard

There are data for 3D printer in hardware/*.stl.

How to build code

Using Ubuntu 22.04.02 LTS

  1. Install Rust Compiler
bash
$ sudo apt -y install git python3 python3-pip gcc build-essential curl pkg-config libudev-dev libtinfo5 clang libclang-dev llvm-dev udev
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
select No.1
$ source "$HOME/.cargo/env"
  1. Install toolchain for ESP32-C3
bash
$ cargo install ldproxy
$ cargo install espup
$ rustup toolchain install nightly --component rust-src
$ rustup target add riscv32imc-unknown-none-elf
$ cargo install cargo-espflash
  1. Add UDEV rules
bash
$ sudo sh -c 'echo "SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"303a\", ATTRS{idProduct}==\"1001\", MODE=\"0666\"" > /etc/udev/rules.d/99-esp32.rules'
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
  1. Download Temp-Logger code
bash
$ git clone https://github.com/hnz1102/temp-logger.git
$ cd temp-logger/src/temp-logger
  1. Setting WiFi SSID, Password, and InfluxDB server IP address.
bash
src\temp-logger\cfg.toml

[templogger]
wifi_ssid = "<your-AP-ssid>"     # Set your AP ssid.
wifi_psk = "<your-AP-Password>"  # Set password for ssid
http_server = "<PC address>:3000" # Set IP address and port. port should be 3000.
  1. Connecting the board and Set device and set toolchain.
bash
Connecting the Temp-Logger by USB to this build code PC. Then, 
$ cargo espflash board-info
select /dev/ttyACM0
Chip type:         esp32c3 (revision v0.4)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi, BLE
MAC address:       xx:xx:xx:xx:xx:xx

$ rustup component add rust-src --toolchain nightly-2023-06-10-x86_64-unknown-linux-gnu
  1. Build code and writing flash
bash
$ cargo espflash flash --release --monitor
App/part. size:    950,864/3,145,728 bytes, 30.23%
[00:00:00] [========================================]      12/12      0x0                                                                       
[00:00:00] [========================================]       1/1       0x8000                                                                    
[00:00:11] [========================================]     535/535     0x10000                                                                   [2023-08-03T13:05:12Z INFO ] Flashing has completed!

And automaticaly boot!

How to Install the influxDB and Agent

  1. Download influxDB and Install.
bash
$ wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.0-amd64.deb
$ sudo dpkg -i influxdb2-2.7.0-amd64.deb
$ sudo service influxdb start
  1. Configure the influxDB
text
Connect to the 'http://<influxDB installed PC Address>:8086'

Click GET STARTED and set Username, Password, Initial Organization Name, and Initial Bucket Name

TermValue
UsernameSet login username as influxDB administrator web console
PasswordSet login password as influxDB administrator web console
Initial Organization NameOrganization Name ex. ORG
Initail Bucket NameLOGGER

After set them, click CONTINUE.

  1. Copy the operator API token.

You can see the operator API token on the browser. YOU WON'T BE ABLE TO SEE IT AGAIN!

After copy the token, click CONFIGURE LATER.

  1. Import the Dashboard Template.

Click the Dashboard icon, and select Import Dashboard from the CREATE DASHBOARD menu.

Drop the src/server/temp-logger_dashboard.json file to Drop a file here, then click IMPORT JSON AS DASHBOARD.

You can see the Temp-Logger Dashboard pannel on the Dashboards page.

Click this panel, and You can see the Temp-Logger Dashboard.

If you want to customize the dashboard design, click configure mark. You can change the graph design.

  1. Install the Agent.

Temp-Logger can't directly send data to influxDB API since ESP32-C3 has not TLS software stack. This agent program is responsible for changing HTTP communication from Temp-Logger to HTTPS communication and passing data to the InfluxDB API. This agent is purpose only for a local network because it has no security.

Before install you have to change parameters in main.js.

src/server/main.js

javascript
const token = "<influxDB API Access Token>"
const url = 'http://<influxDB installed IP address>:8086'
let org = `<YOUR ORGANIZATION NAME: it has to be same the Initial Organization Name>`
let bucket = `LOGGER`

Install the agent program.

bash
$ cd src/server/
$ ./install.sh

If it is `Active: active`` as shown below, it has started normally.

text
● influxdb-agent.service - InfluxDB Agent
     Loaded: loaded (/lib/systemd/system/influxdb-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-08-05 02:24:18 UTC; 15ms ago
  1. Start Temp-Logger Logging and Send Data.

Push the START/STOP button, and push SEND button. Logging data will be sent to the influxDB. You can see the data on the dashboard.

Add Battery Monitor

A small modification was made to monitor the battery voltage.

I already fixed new PCB gerber data.

LICENSE

This source code is licensed under MIT. Other Hardware Schematic documents are licensed under CC-BY-SA V4.0.

Parts

52
QtyValueFootprintReferences
6330tbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR101, R102, R107, R110, R113, R114
510Ktbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR103, R104, R109, R111, R118
30.1uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC103, C106, C111
320K 1%tbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR105, R108, R117
3LED RED SML-E12V8WT86tbctl:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD101, D102, D103
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC104, C107
216pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC109, C110
21uFCapacitor_SMD:C_0805_2012MetricC102, C108
2SW_Push_LEDtbctl:LS601-CU_CAPSW101, SW102
10.1uFCapacitor_SMD:C_0603_1608MetricC105
1100Ktbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR115
112K 1%tbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR106
12Ktbctl:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR112
12N7002KPackage_TO_SOT_SMD:SOT-23Q101
132.7680KHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY102
14.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC101
1BK2125HS601-Ttbctl:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderFB101
1BOOT TS-06104tbctl:TS-06104SW103
1Conn_01x02Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ102
1Conn_K_TERM_XH_2Ptbctl:PCC-SMP_DJ101
1ESP32-C3-WROOM-02-N4tbctl:IC18_ESP32-C3-WROOM-02-N4_EXPU102
1IRF7606TRPBFPackage_SO:MSOP-8_3x3mm_P0.65mmQ102
1LED GREEN SML-E12P8WT86tbctl:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD104
1LiPo BATTERY SocketConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ104
1MAX31855KASAPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU103
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U101
1NSR0340HT1GDiode_SMD:D_SOD-323_HandSolderingD105
1RESET TS-06104tbctl:TS-06104SW104
1SLIDE_SW IS-1245T-Gtbctl:SLIDE_SW_IS1235-GSW105
1SPX3819M5-LPackage_TO_SOT_SMD:SOT-23-5U104
1SSD1306_DISPLAYtbctl:OLED I2C DISPLAYU105
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP101
1USB_B_Minitbctl:usb mini B connector c2235 dim 2J103

Similar boards

  • 2 layers68.3 × 57.8 mmSdcdmuxemmc, the printed circuit board in 3D

    Sdcdmuxemmc

    hnz1102/sdcdmux-emmc

    SD CARD and eMMC Device Multiplexer with Infrared Remote Controller

    107 parts16MIT
  • 2 layers40 × 60 mmWakepc, the printed circuit board in 3D

    Wakepc

    hnz1102/wakepcbox

    Wake on LAN Controller Box

    45 parts4
  • 2 layers91.7 × 70 mmCurrent logger, the printed circuit board in 3D

    Current logger

    hnz1102/current-logger

    This tool provides a logging function that gets data on voltage, current and power consumption. Voltage input range is from 0 to 85V, Maximum current input is 15A.

    64 parts18
  • 2 layers50 × 40 mmShareusbdisk2, the printed circuit board in 3D

    Shareusbdisk2

    hnz1102/shared-usb-memory

    USB Memory with One-touch Switching Between Two Device Connections

    83 parts2
  • 2 layers30 × 43 mmCurrentmeter, the printed circuit board in 3D

    Currentmeter

    hnz1102/mini-current-meter

    Mini Current Meter using INA228A ultra-precise digital power monitor

    40 parts10
  • 2 layers50 × 30 mmPower, the printed circuit board in 3D

    Power

    hnz1102/ft232hbrkout

    FT232HL BREAKOUT BOARD

    52 parts5
  • 2 layers185 × 98 mmMosfetload, the printed circuit board in 3D

    Mosfetload

    hnz1102/electricload

    Electric Load and Logger

    96 parts5

Questions

How big is the Temp logger PCB?

It measures 50 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Temp logger use?

52 parts, built around the ESP32-C3-WROOM-02-N4, MAX31855KASA+T, SPX3819M5-L and 2N7002K. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Temp logger KiCad files?

From the hnz1102/temp-logger repository on GitHub, at the commit this page was made from: the board is hardware/templogger.kicad_pcb and its schematic hardware/mc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Temp logger design in my own project?

Its repository states no licence, so its author keeps all rights: ask hnz1102 before reusing the design.