TCPendant

A compact aluminum thermal pendant powered by an ESP32, custom high-current PCB driver stage, and a React Native mobile control app via BLE.

ESP32Bluetooth LECustom PCBPower ElectronicsReact Native
TCPendant illuminated

System Overview

Thermal Core Pendant (TCPendant) is an embedded hardware project integrating precision thermal regulation, custom power switching electronics, and mobile connectivity within a hand-machined aluminum enclosure.

The system bridges high-power switching (heating elements and addressable/PWM LED arrays) with low-power wireless control. An onboard ESP32 runs custom C++ firmware managing real-time PWM output, thermal sensing feedback, and GATT BLE server tasks, while a companion mobile application handles remote control and status telemetry.

Hardware Architecture & Power Electronics

The physical build evolved from a rapid perfboard proof-of-concept into a surface-mount custom PCB configured to drop directly into the machined aluminum body:

Thermal & Enclosure Design

The aluminum casing serves dual roles as a protective aesthetic shell and a primary heatsink/thermal dissipation surface. Mechanical clearances were kept under 0.5mm tolerances to maximize direct conductive contact with internal heating elements while isolating sensitive logic ICs.

MOSFET Switching & Gate Drive

Thermal regulation is handled via low-side N-channel power MOSFET switching. Tuning the gate drive circuit was critical—mitigating gate capacitance issues (Qg) to ensure fast rise/fall times directly from 3.3V logic levels without dropping the FET into its linear region, keeping RDS(on) losses and thermal runaway to a minimum.

Scale & Form Factor

Machined aluminum body relative to scale and internal optic profile.

TCPendant scale photo

Custom PCB Layout

Integrated low-side MOSFET drivers, LED regulation, and power pathing.

TCPendant PCB front

Perfboard Validation

Initial breadboard and perfboard stage verifying BLE stack and driver logic.

TCPendant perfboard prototype

Firmware & BLE Protocol

The ESP32 firmware manages non-blocking execution loops to maintain steady BLE responsiveness while driving high-frequency PWM channels:

  • Custom BLE GATT Server: Exposes dedicated service UUIDs for realtime control. Handles atomic write commands for brightness, animation modes, and duty cycles.
  • Thermal Safety Safeguards: Embedded safety limits and duty-cycle throttling prevent thermal overload when operating in enclosed pockets.
  • Lighting Engine: Low-latency transition calculations between discrete color modes and dynamic ambient animations.

Mobile App Interface (TCPendantApp)

Built with React Native, the mobile application provides direct, full-duplex communication with the pendant over BLE:

  • ConnectionBanner: Monitors RSSI, handles automatic reconnection logic, and displays live connection states.
  • LEDBrightnessControls: Real-time slider and preset input mapped to 8-bit / 10-bit hardware PWM resolution.
  • LEDAnimationControls: Mode switches driving pattern generators on the local hardware.

React Native Interface

Custom React Native UI showing ConnectionBanner state, animation modes, and LED control sliders.

TCPendant mobile app screenshot

Engineering Challenges & Lessons Learned

FET Thermal Management: Early revisions suffered from high switching losses when driving low-threshold MOSFET gates directly from 3.3V microcontrollers without proper gate pull-down resistors and driver stages. Correcting gate switching speed drastically reduced idle heat.

Enclosure Isolation: Machining aluminum required exact component height planning. Thermally coupling the heat element to the chassis while keeping high-frequency microcontrollers isolated required strategic placement of thermal pads and ground planes on the PCB.

BLE State Synchronization: Handled cross-platform BLE packet drop issues by implementing state acknowledgment and throttle-debouncing in React Native before pushing rapid slider updates to the hardware.

Current Revision & Roadmap

v1 Status: Fully functional hardware housed in aluminum casing with stable BLE connectivity, custom React Native app control, and working LED lighting modes.

v2 Planned: Redesigning the main PCB to incorporate inline current sensing (INA series IC) for closed-loop power monitoring, upgrading to an active PID thermal control loop, and refining the enclosure milling process for tighter seam sealing.