In February of 2014 I decided it was time to take the next step in my life. I decided that I was going to propose. Given that I have a technical background I opted not to go the ‘traditional’ route. I decided to design and build a ring box. Everything is better with flashing lights. Am I right? I did not want to ruin the surprise so I am posting this project after the fact.
Additional information can be found at http://www.mikeneiderhauser.com/wp/tag/proposal2014 (Link in the external links section). Oh.. and by the way. She said YES!
My father helped me by making a wooden box to put all of this in. Four boxes in total were made. The first two were made out of a poplar and these boxes would server as prototypes. The other two boxes were made out of oak. A co-worker also gave me a hand and custom designed / cut acrylic to allow the RGB LED light to shine through the box. The oak boxes were stained with a dark / red oak stain and then were hit with some polyurethane.
The ring box would feature four RGB LED’s and would be able to cycle through various colors. In addition to the RGB LED’s I put a bright white LED into the design to act as a spot light. Lastly, the box needed to be self powered and have a run-time of longer than four hours. I built in a Li-Po Battery and Li-Po Battery charger into the design.
I chose the attiny85 as the MCU (or microcontroller) for this project because I have used it in the past and knew I could get it up and running in no time. In order to be able to cycle the RGB through various colors I needed PWM (or pulse width modulation). Unfortunately the attiny85 only had two PWM channels (with the same resolution). I decided to implement a variation of PWM called BCM (or binary coded modulation).
The left side of the schematic is the circuit for the ring box itself. The right side contains various breakouts and circuits (I didn’t want to waste space).
The Board Layout
I ran into a few issues with the circuit and the orientation of the FETS. Always test the design before ordering. There was also an issue with the RGB LED’s in that pin 1 was marked as pin 3. Luckily I had ordered 3 boards and extra components.