more (specific) design notes

A project log for cyborg ring

cordwood + smt + jewelry + blinkies + zinc-air batteries

zakqwyzakqwy 01/18/2018 at 16:543 Comments

I started this project by measuring my wedding ring. I like its form factor and it fits well enough, and the wide curved stone on the top seemed like a nice element to replace with LEDs:

That got me in the ballpark; my fingers are all different sizes and I figured the PCB edge wouldn't be nearly as accommodating as a smooth gold band, so I decided on a ~19.5mm opening. After creating initial footprints in KiCad and pulling them into Inkscape (via *.svg export), I putzed about for a few hours and came up with a reasonable PCB outline:

A few things to note here:
Once I was satisfied with the profile, I printed it out at full scale and glued it to a piece of cardboard for a fit check. This would have worked well if I had a laser cutter for the inner line; it was difficult to precisely cut the circle but I was able to verify that the ring was roughly the right size. And finally, since KiCad doesn't like Bezier curves, I copied the outline to a new layer (in case I needed to modify the original down the road) and cut it into tiny straight segments:

I then imported the outline as a *.dxf file (twice) into KiCad and got the two halves aligned on the same grid:At some point, "the perfect is the enemy of the good" applies here. I added centerlines and moved the respective outlines until they were aligned within 25 microns or so, but they aren't perfect. It doesn't really matter. Next, I created a circular array of LED footprints (again, twice...), tweaking spacing and radius until they seemed to fit nicely:

Note that I added the specs to the PCB comment layer, and manually named each LED footprint to its appropriate net. Then I deleted all the originally imported LED footprints. Probably a simpler way to do this, but it worked for me.

Routing was straightforward. I arranged the Charlieplexed LEDs in such a way that I minimized vias and was able to run the four signal lines as four pours around the skinny part of the ring, which avoided awkward jointed traces:
Note the four 0805 footprints above and below each of the side pours -- these were added post-netlist for the 20M structural resistors. I used a high value here since they short out the LED signal lines; I suppose I could have pushed the pours to the outside of the ring, but this worked well enough. This also caused one screw-up, as I improperly specified one of the front-layer pours resulting in an unintended gap:
After assembly and programming and still not being able to light up the center four LEDs, I discovered the problem, scraped away a bit of solder mask, and added a blobby bridge:

Good enough. And yes, the ring does tend to pick up glove fuzz (seen on the LED), but so far it hasn't broken. Next... assembly notes!


Jarrett wrote 01/18/2018 at 20:12 point

Agreed! This stuff is super fun.

Inkscape protip, for future:

- Create square LED and circular path

- Select circle, Path->Object to Path

- Select square, then circle

- Extensions->Generate from path->Scatter

  Are you sure? yes | no

zakqwy wrote 01/18/2018 at 22:54 point

that is awesome! will remember that for future projects.. thanks!

  Are you sure? yes | no

morgan wrote 01/18/2018 at 18:07 point

still awesome! keep doing weird stuff (and inspiring me to do more weird stuff)!

  Are you sure? yes | no