Back to case studies
Hardware & EmbeddedIoT & Embedded Systems

MeltBelt — wearable heat-therapy belt with PID control

Client MeltBelt
Duration 2 months
Type Wearable medical-adjacent heat therapy device
ESP32Arduino framework on PlatformIOPID temperature control loopNTC thermistor arrayBluetooth Low Energy (BLE) mobile controlOn-belt tactile buttons + display (E-Ink / OLED)Battery with sleep modes + safety cutoffsCustom flexible PCBWearable-safe enclosure
therapeutic-wearable-device
therapeutic-wearable-device

Constraint

The box they were trapped in

MeltBelt wanted a wearable heating belt for targeted back-pain relief that holds the user-set temperature against a moving body, a varying ambient, and the soft thermal load of a person's lower back — without ever overshooting into burn territory. The product had to be controllable both from a mobile app and from buttons on the belt itself, and run off a battery for the duration of a therapy session.

Approach

How we attacked it

ESP32 (Arduino on PlatformIO) running a PID temperature loop against multiple NTC thermistors embedded across the heating pad. The loop dynamically modulates power to the heater so the belt converges on the user-defined setpoint instead of bang-banging around it, and the thermistor array (rather than a single point read) catches uneven heating before the user does. BLE handles mobile control — temperature setpoint, current temperature, power modes — and a tactile button + display on the belt itself works without a phone in the room. Sleep modes and explicit safety cutoffs sit underneath all of it.

Decisions

What we picked, and what we rejected

01

PID loop instead of bang-bang/hysteresis control

Bang-bang heaters oscillate around the setpoint, and on a heater touching skin those oscillations are where burn complaints come from. PID gave us a steady, defensible temperature curve at the cost of more tuning work and a longer firmware path — the right trade for a wearable that sits on someone's back.

02

Multiple NTC thermistors across the pad, not a single centre read

A body shifts on the belt; pressure isn't uniform; hot spots happen. A single thermistor in the middle would never see the edge of the pad warming faster than the centre. Distributed thermistors let the loop respond to the hottest point on the pad, not the average.

03

BLE mobile control plus on-belt tactile buttons

Therapy sessions don't always have a phone in the room. The BLE app gives the polished UX for setpoint and monitoring, and the on-belt buttons mean the device works as a standalone product when the phone is across the house.

04

Hardware safety cutoffs independent of the firmware

A bug in the PID code or a stuck I²C read shouldn't ever turn into a thermal incident. The safety cutoffs are wired to fire on temperature thresholds regardless of what the firmware thinks is happening — and that hardware path is the one a future medical-device certification would build on.

Trade-off

What we didn't build

We picked a PID loop over a simpler bang-bang or hysteresis controller, which meant tuning effort and a more careful firmware path — but bang-bang on a heater touching skin oscillates around the setpoint and that's where burn complaints come from. Multiple NTC thermistors across the belt, not one at the centre, because a body sitting unevenly on the pad creates hot spots a single sensor would never see. We left medical-grade certification off the v1 scope — the belt is consumer-wearable, not a regulated device — but the safety cutoffs are wired so a future certification path stays open.

Outcome

What changed after we shipped

A wearable that holds the user's chosen temperature steady against real-world variation, with both a mobile app and on-belt controls. Sleep modes and safety cutoffs let the device sit on someone's back through a full therapy session without thermal anxiety, and the firmware architecture leaves headroom for a regulated v2 if MeltBelt takes the medical-device path.

Talk to us

Have a similar project in mind?

Tell us what you're working on. We'll let you know whether it's a fit.