

Portable temperature sensor
wireless IoT temperature monitoring device based on the ESP8266 NodeMCU platform. It uses a MAX6675 thermocouple interface to measure temperatures up to 1024°C with high precision, making it suitable for industrial monitoring, cooking, 3D printing, and scientific applications.
- Size
- 48.5 × 50.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 17
- Nets
- 22
- Pads
- 59
- Tracks, vias
- 103, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 10 May 2025
- Updated
- 29 Jun 2025
Overview
Portable temperature sensor is an open-source printed circuit board by Mounith-H, from the Mounith-H/Portable_temperature_sensor repository on GitHub, published under the MIT licence. It is a 2-layer board of 48.5 × 50.4 mm with 17 parts on 22 nets, routed with 103 tracks and 0 vias.
It is built around the WEMOS D1 MINI and MAX6675ISA+T. Its parts include 5 capacitors, 4 resistors, 4 connectors, 2 ICs and 1 transistor. It belongs with the sensors and measurement and home automation and IoT boards and the ESP8266 boards of this library.
Main components
2WEMOS D1 MINI
A mini wifi board with 4MB flash based on ESP-8266EX, hardware version 4.0.0.LolinUncategorisedMAX6675ISA+T
SOIC-8-20℃~+85℃ 12 1500uA 3V~5.5V Low noise front-end、Built-in temperature sensor SPI Thermocouple-to-Digital Converter SOIC-8 ADCs/DACs - Special Purpose ROHSMaxim Integrated (Analog Devices)ADCs/DACs - Special Purpose
README
README.mdPortable Temperature Sensor
Overview
The Portable Temperature Sensor is a wireless IoT temperature monitoring device based on the ESP8266 NodeMCU platform. It uses a MAX6675 thermocouple interface to measure temperatures up to 1024°C with high precision, making it suitable for industrial monitoring, cooking, 3D printing, and scientific applications.
Key Features
- High-Temperature Measurement: Uses the MAX6675 thermocouple for accurate measurements up to 1024°C
- Wireless Connectivity: Built-in WiFi for remote monitoring and control
- MQTT Support: Integrates with home automation systems and custom dashboards
- Alarm System: Configurable temperature thresholds with buzzer alerts
- Interrupt Output: Provides digital signal output when temperature exceeds thresholds
- Custom PCB Design: Optimized layout with full KiCad design files
- Serial Communication: Both USB and software serial interfaces for flexible integration
Hardware Components
- NodeMCU ESP8266 - Main controller with WiFi capability
- MAX6675 Module - K-type thermocouple interface
- K-Type Thermocouple - High-temperature sensing element
- Buzzer - For audible alerts
- Passive Components - Resistors, capacitors for circuit stability
Pin Connections
| Pin Numbers | Pin Names | Pin Function | Other | Connection |
|---|---|---|---|---|
| ADC0 | A0 | Analog Input | X | X |
| GPIO16 | D0 | WAKE | X | SEN-CS |
| GPIO5 | D1 | SCL | X | OLED/ SCL |
| GPIO4 | D2 | SDA | X | OLED/ SDA |
| GPIO0 | D3 | FLASH | Pull-up | BUZZER |
| GPIO2 | D4 | TXD1/LED | Pull-up | INTERRUPT |
| GPIO14 | D5 | SCLK | X | SEN-SCK |
| GPIO12 | D6 | MISO | X | SEN-SO |
| GPIO13 | D7 | MOSI/RXD2 | X | UART-RX |
| GPIO15 | D8 | CS/TXD2 | Pull-down | UART-TX |
| GPIO3 | RX | RXD0 | X | X |
| GPIO1 | TX | TXD0 | X | X |
| RST | RST | Reset | Pull-up | X |
Software Setup
Prerequisites
- PlatformIO (recommended) or Arduino IDE
- Required libraries:
- PubSubClient for MQTT
- EspSoftwareSerial for additional serial ports
- Adafruit MAX6675 for thermocouple interface
- GyverOLED for display support (optional - will be implemented separately)
Installation
-
Clone this repository:
text git clone https://github.com/MOUNITH-H/Portable_temperature_sensor.git -
Open the project in PlatformIO or Arduino IDE:
- For PlatformIO: Open the
Portable_temperature_sensorfolder - For Arduino IDE: Open
src/main.cppas your sketch
- For PlatformIO: Open the
-
Configure WiFi and MQTT settings:
- Edit the connection parameters in
main.cpp
- Edit the connection parameters in
-
Build and upload to your NodeMCU
PCB Design
The project includes a custom PCB design created with KiCad. The design files are in the pcb folder:
- Full schematic in
pcb.kicad_sch - PCB layout in
pcb.kicad_pcb - Interactive BOM available in
pcb/bom/ibom.html
Usage
- Power the device using USB or a 5V power source
- The device will automatically connect to the configured WiFi network
- Temperature data is published to the MQTT topic
portable_temp_sensor/temperature - The buzzer will sound if the temperature exceeds the configured threshold
- Configure alarm settings via the MQTT topic
portable_temp_sensor/settings
MQTT Topics
| Topic | Description | Message Format |
|---|---|---|
portable_temp_sensor/temperature | Current temperature readings | {"temp": 25.4, "timestamp": 1620123456} |
portable_temp_sensor/settings | Device configuration | {"threshold": 80, "buzzer_enabled": true} |
portable_temp_sensor/status | Device status information | {"uptime": 3600, "wifi_strength": -67} |
Troubleshooting
- No temperature readings: Check thermocouple connections
- Cannot connect to WiFi: Verify credentials in the code
- MQTT connection issues: Confirm server address and port settings
- Erratic readings: Check for interference with thermocouple wires
TODO
- Convert to FreeRTOS
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
- MOUNITH H - Initial work
Parts
17| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 0.1uf | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C5, C6, C7, C8, C9 |
| 1 | 100R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R2 |
| 1 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R3 |
| 1 | Buzzer_5V | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | Interupt | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | MAX6675ISA_ | Snapeda:MAX6675ISA__SOIC127P600X175-8N | U2 |
| 1 | NPN | Package_TO_SOT_SMD:SOT-23-3 | Q1 |
| 1 | OLED | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J1 |
| 1 | Thermocouple | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type175_RT02702HBLC_1x02_P7.50mm_Horizontal | J2 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
| 1 | WEMOS_D1_mini | RF_Module:WEMOS_D1_mini_light | U5 |
Similar boards
- 4 layers150 × 50 mm

- 4 layers89 × 38 mm

HotPlate
Markuselectronics/DIY-USB-C-Reflow-Hotplate
A compact, open-source DIY Reflow Hotplate powered by USB-C PD and STM32. Features a custom aluminum PCB heater, OLED display, and PID temperature control for portable SMD soldering.
82 parts7 - 2 layers90 × 75.9 mm

- 2 layers40.6 × 49.8 mm

Reflow Project Kicad
Sensei82013/Reflow-Oven
STM32F103 reflow oven controller: K-type thermocouple via MAX6675, 160 W element through a solid state relay, on-MCU PI loop, browser UI over SWD, and a 7in Nextion panel in progress.
51 parts - 2 layers150 × 120 mm

HydrogelBioprinter
SimonDaniel605/Hydrogel-3D-Printer
Development of a custom hydrogel 3D printer for tissue engineering and research applications for Stellenbosch University.
174 partsMIT - 4 layers144.8 × 83.8 mm

PCB Health.V6
uob-hep-cad/dune_timing_system_gib_slow_control_d001-25_dga
Slow Control Interface Board for the DUNE Timing System GIB
64 parts - 2 layers70.1 × 43.2 mm

Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality
19 parts396 - 2 layers37.6 × 29.3 mm

Romulator programmer interface
bitfixer/bf-romulator
Romulator - RAM/ROM replacement and debug for 6502 CPU systems
5 parts160
Questions
How big is the Portable temperature sensor PCB?
It measures 48.5 × 50.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Portable temperature sensor use?
17 parts, built around the WEMOS D1 MINI and MAX6675ISA+T. 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 Portable temperature sensor KiCad files?
From the Mounith-H/Portable_temperature_sensor repository on GitHub, at the commit this page was made from: the board is pcb/pcb.kicad_pcb and its schematic pcb/pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Portable temperature sensor design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).