🌡️ Temperature Monitor

SHACISGAGIR15

TmpMonitor

A compact, cloud-connected IoT temperature sensor built on the ESP32-C6. Wi-Fi 6, BLE 5, LiPo battery, DS3231 RTC, and a 3D-printed PETG enclosure. Streams live data to any browser in the world.

TmpMonitor PCB in white 3D-printed PETG enclosure
TmpMonitor Rev 1.0 — PETG enclosure, tray open

What TmpMonitor Does

TmpMonitor reads temperature from a TMP102 sensor every few seconds, publishes it over Wi-Fi via WebSocket to the Superior Home Automation cloud, and simultaneously broadcasts via BLE 5 GATT for nearby devices. Any browser in the world can display the live reading.

Set high and low alert thresholds and receive a notification when temperature goes out of bounds. Battery state-of-charge from the MAX17043 fuel gauge is reported alongside every reading. The DS3231 RTC keeps accurate time even when Wi-Fi is unavailable.

Built on the ESP32-C6-WROOM-1 — a RISC-V single-core module with 802.11ax Wi-Fi 6 and BLE 5.0. Firmware is written in C using ESP-IDF 5.x and FreeRTOS. Full source code is on GitHub.

Key Features

📡

Wi-Fi 6 + BLE 5

ESP32-C6-WROOM-1 provides 802.11ax Wi-Fi and BLE 5.0. Cloud streaming and local BLE access run simultaneously.

🌡️

TMP102 Sensor

I2C sensor at address 0x48 (GPIO 6/7). ±0.5°C accuracy, 0.0625°C resolution. Reports °C and °F.

🔋

LiPo Power System

MCP73833T charger via USB-C. MAX17043 fuel gauge reports state-of-charge. DS3231 RTC with CR1220 backup.

🖨️

3D-Printed Enclosure

PETG production enclosure on Bambu Lab P1S. Snap-fit lid, LED light pipe, USB-C and Qwiic cutouts.

🔌

Qwiic Expansion

JST 4-pin 1mm Qwiic connector for I2C expansion. Add sensors without soldering.

📂

Open Source

Full firmware, schematics, and enclosure scripts on GitHub. ESP-IDF + FreeRTOS + NimBLE.

☁️

Cloud Dashboard

Live temperature and battery data in any browser via WebSocket. No app install required.

🔔

Threshold Alerts

Set high and low temperature limits. Receive browser and email notifications when out of range.

Full Specifications

PCB Rev 1.0 — SHACISGAGIR15

MicrocontrollerESP32-C6-WROOM-1 (RISC-V single-core)
Wi-Fi802.11ax (Wi-Fi 6), 2.4GHz
BluetoothBLE 5.0 — NimBLE stack
TemperatureTMP102, I2C 0x48, ±0.5°C accuracy, 0.0625°C resolution
I2C pinsSDA = GPIO 6, SCL = GPIO 7, ALERT = GPIO 4
RTCDS3231, I2C 0x68, CR1220 battery backup
Fuel gaugeMAX17043, I2C 0x36 — LiPo state-of-charge
ChargerMCP73833T via USB-C
USB connectorUSB-C at X=1.29mm, Y=39.00mm
ExpansionQwiic JST 4-pin 1mm at X=32.85mm, Y=5.05mm
PCB size40.1 × 50.0mm
PCB part numberSHACISGAGIR15
Mounting holes4× M1.6
EnclosurePETG, 44.5 × 54.5mm, snap-fit lid
FirmwareESP-IDF 5.x, FreeRTOS
ProtocolWebSocket (cloud) + BLE 5 GATT (local)
Power inputUSB-C 5V or LiPo battery

BLE GATT Service

TmpMonitor runs a BLE 5 GATT server. Connect with any BLE scanner app or the TmpMonitor Delphi host application.

Characteristic UUID
Serviceeff816bd-7e04-4888-9f4d-184ef5bc0577
Temperature752a16a2-d136-4770-8a1d-43d6f46c3fa2
Alerta4ffb879-e13e-4f08-a13b-1ce667634a49
Wi-Fi SSID2d3b5d87-d3b8-4632-bc49-f5336d71d9df
Wi-Fi Password5fe22dde-c4a5-499b-ac45-2334f20b9036
Wi-Fi Status608852ea-48f1-4927-902d-e2a8fa3d7ff7

PETG Snap-Fit Enclosure

The enclosure is designed in Autodesk Fusion using a Python API script (TmpMonitor_Box_v11.py). The lower tray has 10mm standoffs, a 7.5mm battery bay, and precision cutouts for USB-C and Qwiic. The snap-fit lid uses a tongue-and-groove joint with 0.2mm clearance.

  • 📐Footprint: 44.5 × 54.5mm
  • 🏗️2mm walls, 2mm fillet radius
  • 🔩M1.6 standoffs, 10mm tall
  • 🖨️Printed on Bambu Lab P1S, PETG filament
  • 🎨Two-colour AMS: white lid, grey body with teal text
TmpMonitor enclosure