Description:
This is a silent, light-based timer for use in a classroom setting. The timer can be set through a 2-position DIP switch to either 1, 5, 10 or 50 minutes. If left on, the timer will enter a power-down mode until power is cycled.
Details:
Both of my children were in a Montessori classroom in which students (Kindergarten through 2nd grade) have up to 15 minutes to have a mid-morning snack at a side table. Their teacher, hoping to make this a self-policing activity, asked me to come up with a silent timer the students could use every day. And the SnackTimer project was launched.
It needs to be small, easy to operate, somewhat robust, and can't make more work for the teacher. The best solution is the simplest solution... so this is light-based, using the common green-yellow-red approach. Say
you want a 15-minute timer. Turning it on, you see a solid green light
that stays on for about 12 minutes, after which it gently pulses,
indicating that the yellow light is about to turn on. The green light
goes out and a solid yellow light comes on for about 3 minutes (for the
snack table, this signals that the student should start packing up),
ending with the same soft pulsing action. After that the big red light
pulses indicating that their time is up (while the green & yellow lights face the student, the red light is on top so everyone can see the time's up).
Version 1:
The request came in on a Friday, and by Monday I had an initial working prototype in the classroom. After setting everything up on the breadboard, I wrote the timing code and blinky-light action to make sure everything worked in theory. Then it was a matter of soldering everything down, drilling holes in the empty Altoids tin, and putting it all together. The teacher immediately used it and the kids loved it, so I made three more during the week for full-time use.

Version 2:
Over the next few months, every now and then a snack timer would come home in someone's backpack with a loose wire, a broken switch, or an LED pushed into the body. It's easy enough to repair, but I started leaning toward making a dedicated printed circuit board. At about $1.20 each (layout using Fritzing, and SeeedStudio for the fabrication), it really simplifies the work. While I was at it, I decided to throw in a 2-position DIP switch in case the teacher wanted to use this for other than just 15 minutes. Now it could be selectable for 1, 5, 10 or 15 minutes, and the light timing remains 80% green, 20% yellow. Snazzy. As old snacktimers came in, I just replaced the innards with the new board.
Version 3 (current version):
The teacher likes these so much that I was asked to sell them on Etsy. For that, I went away from the Altoids tin and found a nice box on Mouser that would be clean, un-openable by curious students, and allow for a more robust on-off switch (the most common breakage was the mechanical slide switch). While I was at it, I found a way to put the ATtiny85 chip into deep sleep mode in case someone leaves the timer on. Ordered new printed circuit boards to make the wiring even easier, and took advantage of some surface-mount resistors. I pushed these to the classroom and haven't had a single issue since. In fact, the kids would argue who gets the white timer and who gets the old tin timers. Design is solid!

Lessons learned:
1. Get the prototype out in the field ASAP.
2. Expect damage. Receive feedback. Respond.
3. Look for improvements to make things smarter and implement at no extra effort to the user
4. Make less work for the teacher.