Last week I had the idea to create a last-minute valentine’s day gift for my girlfriend. I had a bunch of WS2812 LEDs from my previous endeavors and decided to make a big LED heart. These are a great choice because of the very minimal amount of components necessary: no I/O expanders, driving transistors or ICs necessary. Plus you just need one I/O line from your microcontroller to drive them.
Since they run off 5V, I planned to create a board that is powered from a wall-wart power supply. That way the board doesn’t even need a voltage regulator on it. I chose to use an ATMega48 because I have several from previous projects.
First was deciding on the placement of the LEDs. Being a bit OCD I wanted them spaced out in some organized fashion. Wolfram Math World has a post with some parametric and polar equations that plot out different heart shapes. I plotted three concentric hearts in excel and played around with some scaling factors and how I wanted them spaced out.
Now I had the coordinates for each LED so it was easy enough to load these into Altium Designer.
After a night of PCB layout I had a decent enough layout:
I used a big copper pour on the top layer for 5V, and a ground place on the bottom. In hindsight I really should have increased the spacing between the 5V pour and the other traces (that was a pain in the butt to clean up!)
But I wasn’t finished! There’s so much empty board space on the back! Surely it would be cool to have a cool design etched into the bottom copper layer.
Now, I’m no artist, but after messing around with a few inks cape tutorials I was able to whip up a pretty cool looking design with her name that I think looks nice.
Read More: A Valentine’s Day Surprise