Matrix cuff
Late 2021
This project was an early experiment in wearables and fun ambient lighting. I found these fun tiny grids of LEDs with drivers that support PWM brightness control, and I wanted to experiment with it as an ultra-low-res display for dynamic graphics in a wearable.
It has a cool kinda cyberpunk vibe, and it reacts to your environment with visual patterns driven by a light sensor. The ambient lighting conditions affect the speed, brightness, position, or other aspects of the animations.
As an experiment in minimal controls, the light sensor also serves as the interface for switching patterns. Pointing the sensor directly at a bright light source will swap to the next pattern in the set.

Concepts
I did a bunch of sketching for this an even prototyped a few different versions of the wearable part. My first thought was to make some kind of sleeve or bracer, and I sewed a prototype version of this, but it came out looking like a cast or RSI brace. Later I settled on this watch-style form factor with the LED matrix extending off to the side.
I liked the idea of something that kinda looks like a smart watch but is really just an art object.
I decided the microcontroller would live under the LED matrix, and the battery would be tucked into a small pocket on the bottom of wrist strap, with a cable wrapping around under the strap. You can see a side-on diagram of the wrist strap in the fourth sketch.




Circuits
Soldering this together required a lot of careful measuring of individual wires and trial and error. Even so, I wound up just resorting to a good squish at the end.
You can see the light sensor sticking out at the bottom of the left image here. That little strip of perfboard has an extra resistor to create a voltage divider. The resistance of the light sensor varies between ~1000 ohms and 50000 ohms, and I had to choose a value for the fixed resistor that maximized the range of voltage for the voltage divider that would be read by the Trinket. I built an interactive calculator for that, which you can see and play with in this Observable notebook! (I would up choosing a resistor around 5000 ohms IIRC)
The microcontroller is an Adafruit Trinket M0, and this project was an early experiment with working in CircuitPython. The LED matrix is soldered directly to the driver board, which you can see in the side profile.


The LED grid looked very tidy and raw, and I wanted to do something to tone it down a little bit and add some texture. I went to my local creative reuse center and picked up a fun acrylic sample that had a warped, kinda ripple-y surface to it. When I set it on top of the LED grid I was pleasantly surprised to see the way it broke up the individual pixels into these warbly dots.
I think electronic jewelry is often too bright, too raw, and lazily animated. Fun materials like this can really help to give a piece some character!

Enclosure
Next I had to model the enclosure. This was earlier in my Fusion360 journey and this design feels a bit boxy now, but it worked and was simple to print. Offsetting the holes for the bolts seemed helpful in the moment but in practice made the final object feel much bigger. I think now I might have approached this with a different construction entirely that concealed those more.
There are holes on the side for the USB port and the light sensor, and a small hole on the bottom for the battery cable to snake out and around the band.
Here you can see it assembled from a few different angles.



Final demo
Here's the final result! It's pretty fun, and I love the no-button, hands-free interface. I wish the pattern animations were a bit smoother, and it feels a bit chunky for serious wear. Overall, a very fun and successful experiment though!