What do you do with an old mechanical Egg Timer that just won't work any longer? Upgrade it with an Atmel ATtiny microcontroller. This is one those little pet projects that got stuck in my head and wouldn't leave me alone until I saw it through to fruition. Being a fan of artdeco and industrial design, I couldn't simply throw this twenty plus year old egg timer into the trash, but I'm not a packrat either, so... I had to do something with it. I grew up with a timer that looked just like it in my mother's kitchen.
Anouncing... the ATeggTimer!


  • Simple and Intuitive Operation
  • Audible 'ticking' while in operation
  • Any dial adjustment automatically resets and restarts the timer
  • Audible 'chirp' confirms new time value selected and timer is restarted
  • Once expired, alarm 'beep's five times, then pauses and repeats until either turned off or a new time value is selected
  • Full power saving features implemented
  • Linear-ization applied to selector dial potentiometer for accurate time scale calibration

  • Egg Timer Circuit: Printed Circuit BoardEgg Timer: Printed Circuit Board

    Egg Timer Inside: Inside ViewEgg Timer: Inside View

    While simple in operation, a couple limitations had to be made:
    1) Because I placed the esthetics of the timer first and didn't want to change its outward appearance, while in the 'off' state, the pointer was set in the upright, vertical or zero position. This means that once turned on, the minimum timer setting had to be '6' minutes because of the mechanics of the potentiometer.
    2) The maximum time setting was limited to 48 minutes due to the maximum rotational limitation of the potentiometer.

    There were two surprises:
    1) Even though the minimum selectable dial setting was '4' minutes once turned on, no measurable output change occurred until after '6' minutes. This increased the lower usable time limit by an additional two minutes.
    2) Once above '6' minutes, the initial output of the 'linear' type potentiometer was not linear as expected. Since correction was necessary at both the bottom end and the top end of the dial, I just applied correction throughout the entire dial span. However, the greatest attention was spent on making the 6-10 minute range as accurate as possible. And because I was using an ATtiny85, there were really no code size restrictions. Many, many additional features are possible but for this particular application, simplicity is the number one priority. I didn't really see the point in adding LEDs since all operational changes can be inferred audibly.

    The only drawback I see is that one can not see how much time remains. Making it impossible to anticipate expiration without referencing a clock. For me, this is okay since what is far more important is for the alarm to sound continuously once expired, instead of the singular 'ding' sound made by the original mechanical timer. There is always a high probability that I will be out of 'ear shot' initially.

    Project Scope
    Started: FEB 07, 2015

  • Proof of Concept Software
  • Schematic and PCB layout
  • Mechanical
  • Validation and Software Refinement
  • Completed: FEB 09, 2015