This year for Valentine's Day, I made a PCB card in the shape of a heart (in case you couldn't tell). It flashes 12 SMD red LEDs using charlieplexing with a ATtiny13a, running off a single CR2032 coin cell battery.
I made this card entirely in 4 hours. That includes coming up with the schematic, drawing, cutting, and etching the board, soldering all the components on, developing the program, programming the microcontroller, and debugging. Fun quick day project!
The original plan was to use the slightly larger attiny85 (it has more memory so you can write a larger function). But for some reason my programmer really didn't like that attiny85, so I reluctantly switched to the 13. With that, I had to truncate some code. ALthough the code wasn't fully developed at that point, so it just meant that I didn't finish writing it. The only thing that I am sad that I left out was the cosine wave function thingy that i started writing. So instead, there are just a few patterns it shows. Also, for some reason that I just can't figure out today, I couldn't get the button to work correctly. So ignore the button.
Here's a video of the card in action
Step 1: Materials
- 6"x6" PCB (FR4 board, 1-sided)
- dremmel or bandsaw to cut the pcb
- soldering iron + solder
- 4 SMD 100 ohm resistors (make it easy by using 1206!)
- 1 SMD 10 kohm resistor
- 12 red SMD LEDs (order extra in case they burn out or something)
- ATtiny13a or similar microcontroller
- 8 socket IC holder
- Coin cell
- Coin cell holder
- Black Sharpie to draw PCB (unless you have access to fancier equipment, mine is broken for now)
- switch (SMD) (any size, aim for maybe 4~6 mm)
- 1 cm wire (I hope thats not too much!) for a single jumper
- hydrogen peroxide (drug-store quality is perfect)
- muriatic acid (HCl) (you can buy this at most hardware stores)
- a pyrex or glass mixing bowl that you are ok never using again