October 27, 2026
Moon Flowers
A light first, then a listener. Two RGB LEDs in tissue-paper diffusers on an Arduino Uno, breathing through four colours — and, since Monday, answering hand gestures from the same tracking stack as Sunday's projects.
The light
The design started from a breathing mushroom light. What got built is that light's program on an Arduino Uno, with the diffusers made from tissue paper, which is how they ended up flowers.
Each flower is one common-anode RGB LED. Its common leg goes to 5V. Each colour channel runs through its own 220 Ω resistor to a PWM pin — pins ~3, ~5 and ~6 for the first flower, ~9, ~10 and ~11 for the second — and the pins sink the current to ground inside the chip, so the finished build has no ground wire. The program walks the colour from cyan to azure to violet to magenta and back over about eighteen seconds, with a breathing fade under the whole walk. Nothing in it needs a network or an app; power it and it breathes.
The LEDs started on the breadboard and moved off it on roughly twenty centimetres of jumper wire each, because the diffuser stems needed the reach.
What failed, in order: twice in a row, the sketch file that went to the Uno had the whole program pasted into it twice, and the compiler objected to the duplicate. Then the first working version glowed mostly blue — the colour values in the sketch were wrong, not the wiring. The resistor arithmetic, checked with a meter before anything was plugged in, was never the problem.
The gestures
On Monday the flowers were wired into the hand tracking from Sunday. The laptop camera watches my hand; the Python reads the gesture from the MediaPipe landmarks [1] and sends a command to the Uno over the same kind of serial link the LED rig used [2]. The gesture changes what the flowers do. Left alone, they go back to breathing.
It works, with one caveat doing real work in that sentence: in low light the tracking loses my hand, and until it finds it again the flowers breathe on their own. The room these live in is lamplit, so the caveat comes up most evenings.
Where this leaves it
They live on the desk. Sunday's tracking had a feedback list attached to it; the flowers are the part of that week that got finished — a light that breathes when nobody is asking it anything, and listens when somebody is.
Sources
- MediaPipe Hand Landmarker — developers.google.com. The hand tracking, used as provided — the same stack as Sunday's projects.
- pySerial documentation — pyserial.readthedocs.io. The serial link between the Python and the Uno.
- Arduino CLI, getting started — arduino.github.io. The sketch was written and uploaded from the Terminal.
FILED UNDER — MOON FLOWERS · BLOG · OCTOBER 2026