Smart Curtain
Three motorised curtain rails on one ESP32, with limit switches, window sensors and a manual override that always wins.
Index
Twenty builds, from a one-relay switch to a controller that runs a hydroponic system on its own. Each is written up for the reasoning — the constraint that set the design, what I picked, and the failure mode I was designing against.
Installed, in daily use, and no longer something I think about.
Three motorised curtain rails on one ESP32, with limit switches, window sensors and a manual override that always wins.
A PWM-dimmed LED beam on a custom PCB, switched by motion — the first board of mine that went straight from sketch to etch.
One controller, five lighting modes — the layer that made every other light in the flat worth automating.
Mains switching plus climate sensing on one small board behind the kitchen wall plate.
A battery-powered outdoor node for soil moisture and climate, built to survive salt air.
Eight individually switched and metered outlets in one 150 × 138 × 56 mm enclosure.
The smallest useful node — one ESP-01, one relay, one button.
A 3D printed stacking rack sized around airflow and cable clearance rather than board outlines.
Being designed or assembled right now.
A filter coffee machine rebuilt around an ESP32, with closed-loop brew temperature and voice control.
Load cells under the bed legs so the house knows when I actually go to sleep, instead of guessing from a timer.
A desk keypad with tap, hold and sticky layers — one physical key doing three jobs without ambiguity.
A large seven-segment display driven by shift registers, doubling as a count-up match timer.
Written work, with the full documents attached.
Senior design thesis — a controller that holds a soil-free growing medium at the right pH, nutrient strength and water level without daily supervision.
Worked out on paper but not built — usually because something needed measuring first, or a dependency moved.
A 4×4 keypad entry system with armed/granted/denied states signalled by light and buzzer.
PoE-backed emergency announcements and lighting that survive the outage they exist to announce.
Splitter boxes and 3D printed housings to bring Power-over-Ethernet to devices that were never designed for it.
A physical panel at the bed for the handful of things worth having a real button for.
A shelf that is also the enclosure for the clock — structure and housing as one part.
Winding a BLDC motor from scratch to understand what the datasheet numbers actually mean.
Replaced by a later revision. Kept because the reasoning still holds up.
A breakout board, and the GPIO survey behind it — which ESP32 pins are actually safe to use.