NightPal
A hand-shaped night light that responds to high-fives and warmth
NightPal is a night light made from an Adafruit Circuit Playground Express (CPX) sealed inside an inflated rubber glove. Give it a high-five and it switches on or off. Hold it, and the warmth of your hands slowly brightens it; let go, and it fades out.
I wanted it to feel like a nighttime companion rather than a tool: a light that “wakes up” when you reach for it.
Role
Solo: concept, fabrication & code
Tools
Circuit Playground Express, MakeCode, a rubber glove, ChatGPT
Context
Course project, UW MHCI+D
Year
2025

Left: the full demo in 27 seconds (unmute for the sound effects). Right: NightPal lit up beside a real hand.
Idea
A rubber glove turned the light into a hand
I wanted a night light with physical and emotional interaction, where touch and warmth create a sense of presence.
The hand came from searching the studio for materials. Rubber gloves were easy to find and semi-transparent, so light glows softly through them, and a hand naturally invites a touch, a hold or a high-five.

How it works
High-five it, hold it, let it go
With the CPX sealed inside the glove, every interaction runs on the board’s built-in sensors, with no external components.
To get there, I experimented with the LEDs and gesture input, tried buttons, shaking and acceleration as triggers, and tuned the thresholds by testing them by hand again and again.

Motion sensor
High-five
A high-five switches the light on or off, each with its own sound effect.

Temperature sensor
Hold
Your hands warm the board, and the light gradually brightens into a warm glow.

Temperature sensor
Let go
As the glove cools down, the light slowly fades back out.
Under the hood

On the board (MakeCode): a shake gesture reads as the high-five, and a loop watches the temperature to fade the light up and down.
Challenges
A light that wouldn’t turn on, and a glove that wouldn’t stay full
Two controls, one brightness
The high-five and the temperature automation both set the brightness, and they clashed: the light played its sound but stayed dark. With the board sealed in the glove, I couldn’t reach its buttons or ports to debug. I asked ChatGPT, and with little more context than “CPX and MakeCode” it found the cause: the brightness started at 0, and the high-five never raised it again.


Left: the MakeCode blocks, with gesture and temperature logic side by side. Right: ChatGPT’s diagnosis (in Mandarin).
Keeping the air in
The glove had to stay inflated around the board. My first seals, a zip tie and blowing it up by mouth, leaked air and slowed every iteration. Inflating through a straw and tying it off with cotton string held the air far better and made the glove much easier to keep prototyping with.

Before: zip tie, leaked

After: straw + cotton string

Final: sealed and holding
Learnings
Making it physical takes longer than imagining it
01
Physical prototypes take more time than you expect
Fabrication and feasibility mattered as much as the concept. Many design decisions only showed their limits once I was making them by hand, so repeated testing and iteration became the real work. Next time I’d set aside more time for experiments and check feasibility earlier.
02
AI-assisted debugging has come a long way
With minimal context, ChatGPT diagnosed the bug accurately and even explained it in MakeCode’s block-based terms. That’s a big change from debugging with ChatGPT 3.5 in my undergraduate programming classes.
UMI CHEN
Product Designer
© 2026 UMI CHEN

