You may have guessed, but I used the ATmega168
(my favorite for the past year or so), along with the LilyPad
8MHz internal oscillator based Arduino serial bootloader. What is that? The Arduino bootloader is based on the STK500 serial bootloader
. This allows me to reprogram the ATmega168 over a serial link rather than using a hardware programmer. This made the code development cycle a bit easier and would allow Arduino users to use this board with their environment.
So there's the micro, 5V supply, three painfully bright LEDs
, and three rocker switches
. One rocker switch is used for Power (On/Off), the other switches are used to control round length (2 or 3 minutes) and rest time (1 minute or 30 seconds).
Boxing Timer Schematic
I used a LM386 1W audio amplifier to try to increase the speaker volume. It's loud and annoying, but not quite loud enough for a gym environment. My supply voltage is only 9V (12-15V would be better) and I believe the speaker is a bit small for my application.
The LEDs require a max of 80mA so I used a basic NPN 2N3904
transistor circuit. If I used normal 20mA LEDs, I could have driven them directly from the AVR - but these LEDs are bright
At the boxing gym, these timers are rarely turned off so I chose to use LEDs instead of incandescent bulbs. Green, yellow, and red indicate where in the round the timer is currently at. The LEDs are 10mm, large, 80mA LEDs
. I covered the LEDs up during development, they burned my peripheral vision so badly! For actual use, I used a Dremel tool to roughen the tops of the LEDs in an attempt to disperse some of the light. It helped but the LEDs are still very powerful.
Boxers train on the various bags and equipment for 3 minutes on, 1 minute off, to get their body used to exerting energy for a given length of time. The yellow LED goes off when there is
30 seconds left in the 3 minute round (basically the end of round
warning). These three lights, along with a loud tone lets the boxer
know at what point they are within a given round.