Retro Timer

I needed a small portable timer. It would have been easier to buy one, but lately my philosophy has been why buy what you can make. Besides, I had most of the parts lying around. The timer counts up to a maximum time which is set with a rotary encoder. There is an adjustable buzzer and an LED to signal a timeout.

Retro Timer

I used CadSoft Eagle to create the main board. I am using an Atmel ATTiny26L for the uC. It doesn’t use much battery power, supports ADC and it has just enough pins. The lack of a 16 bit timer is inconvenient, but the 8 bit works with a few extra steps. I had to make the board small to fit the 85mm x 35mm cast aluminum project box. I placed the AVR partially under the display to save space.

Timer Board Timer Schematics

I didn’t have any vertical mount potentiometers, so I had to make a daughterboard to hold a pot w/ switch mounted perpendicular to the main board. The pot controls the buzzer’s level and its rotary switch turns the timer off and on. I salvaged the pot from some broken computer speakers. It is soldered to the main board with 5 right angle pin headers.

Pot BoardPot Schematics

I used PCB-GCode to convert the Eagle board into g-code for the CNC control software. Not my best milling. I need to get better quality v-bits and some smaller drill bits. Still everything works.

Board Traces

The assembled boards. I’m powering the timer with 2 AAA batteries.

Completed Board

Here is my Romaxx HS-1 cutting the holes in the cast aluminum enclosure for the LED display and the knobs. I used a 45″ v-bit to cut the holes. I wanted a subtle bevel around the LED display. It took a long time, but the results are good. The diecast aluminum is much harder to cut than the more common 12 gauge aluminum project boxes.

CNC Cutting Case

The finished enclosure. It would have been hard cutting the rectangular opening without the CNC.

Finished  Case

It’s a perfect fit. The cover just barely closes. 4 screws provide easy access to the 2 AAA batteries.

Battery Holder

I found some vintage solid aluminum knobs for the controls. The left knob is the on/off and buzzer level. The right knob is a rotary encoder to set the timeout. The encoder also has a momentary pushbutton which starts and stops the timer. The orange LED illuminates along with the buzzer which can be turned off. I was going to powder coat the case white, but I think the aluminum looks good.

Retro TimerTimer LED Display

The AVR code was written using Bascom by MCS Electronics which conveniently has native support for quadrature encoders.


AVR source & hex code – 11/16/2010 (for ATTiny26L running at 1 MHz)
Eagle files.
VCarve Pro files for enclosure and board cut out.

Parts List:

Atmel ATTiny26L-8PI1
Kingbright DC04-11EWA LED Display Dual Digit Red1
CUI ACZ11BR1E-20KQD1-20C Rotary Encoder w/ Switch1
CUI CST-931AP 9 mm Magnetic Buzzer 2-4 V1
5 mm Orange LED 12,000 mcd1
Richco LEDS2E-6-01 LED Spacer 9.5 mm Length1
Potentiometer 5 KΩ w/ Rotary Switch1
Resistor Carbon Film 10 KΩ 1/4 W1
Resistor Carbon Film 2.7 KΩ 1/4 W1
10μH Axial Inductor1
Ceramic Radial Capacitor .1μF 50 V 10%4
BC547 NPN Transistor1
Polarized Radial Capacitor 100μF 6.3 V1
5 x 2 Pin Straight Header .100″1
3 x 1 Pin Right Angle Header .100″1
2 x 1 Pin Right Angle Shrouded Header .100″1
3 x 1 Socket Straight Header .100″2
8 x 1 Socket Straight Header .100″2
Dual AAA Battery Holder1
Hammond 1590A Diecast Aluminum Project Enclosure1
Alco Solid Aluminum Knobs .75″ Diam. .5625″ Height 1/4″ Shaft2
Single-sided Copper Clad Board 1 oz. 68 mm x 35 mm”1
Single-sided Copper Clad Board 1 oz. 35 mm x 22 mm1