CV Lamp
An exploration with 3D fabrication and hardware to make interactive home devices.

More than a lamp
The brain
A webcam connected to a Raspberry Pi 4 captures a live feed of the user’s hand. Using OpenCV and Google’s MediaPipe framework, the system maps 21 landmark points across the hand in real time. A Python script checks whether those points match a predefined gesture, like a peace sign.
Receiver
Once a gesture is recognized, the Raspberry Pi sends an HTTP request over Wi-Fi to an ESP32 microcontroller. The request carries JSON data specifying a lighting mode, formatted to match the API used by WLED, an open-source LED control firmware.
LED Output
The ESP32, running WLED, receives the request and applies the corresponding effect to a WS2812B addressable LED strip. The result is a gesture-controlled lighting system where a hand movement translates to a visible change in the LEDs within seconds.

The project consists of 2 pieces of hardware that makes this effect happen with some help of libraries inside the python script. How these micro-controllers interact with each other is completely done over the network.

Designing a lamp shade


Every lamp needs a shade and base, so I designed and 3D printed custom housing using Fusion360. The modeling skills came from coursework in Bret Ratner’s Physical Computing class in the makerspace, where I first started working with fabrication. The overall aesthetic of the lamp is heavily inspired by Dieter Rams’ functional minimalism and Teenage Engineering’s playful industrial design.
Hey, I’m Daniel
Hi, I’m Dan, a multi-disciplinary designer with a focus on front-end development and UI design. I love building things that sit at the intersection of visual design and technology.

