An idea, a breadboard, and 3 hours

One afternoon, I decided to make a project I had been thinking about for a while: a simple countdown timer. It would have been easier to just overkill the thing with a RPi Pico (32bit MCU) in 2 seconds, but I wanted to challenge myself and do it with an ATtiny, an 8 bit AVR microcontroller! The tiny85 doesn’t quite have enough input/output pins, so I used an ATtiny84 instead. It definitely lives up to its “tiny” name – with only 512 bytes of RAM, it’s the right size for the task.

I reused the seven segment display circuit on the right that I had previously made. Seen here with another one of my projects…

I had tried Arduino as an ISP programmer before, but I decided to get a USBasp programmer to make wiring simpler (and not constantly occupy my Arduino Mega). Once I figured out how to connect it (very easily), it worked like a charm. A bit of debugging and 3 hours later, I had a working prototype!

Breadboard prototype.

The code wasn’t too bad – only 130 lines as the functionality is pretty simple.

  • Set/reset
  • Blinking seconds indicator
  • Timer switches from minutes to seconds in the last minute
  • Buzzer alert. Programmable tunes

Adding some permanence

I liked this concept so I decided to put it onto some perfboard/veroboard – pretty difficult, considering the amount of connections needed. In hindsight, I probably could have simplified the routing by adding an extra pin mapping function to the code, but I decided to go for the challenge of soldering it as is.

It all works out, despite being nearly completely unplanned.
The white switch is a power switch.

Right now it uses two NiMH rechargeable AA batteries. I haven’t measured its current draw yet.

Next steps?

  • Variable resistor to adjust brightness.
  • 3D printed casing so I don’t have to use tape to stop it from shorting out.
  • Second button? Pause?
  • Actual tunes…

The project is in a half-done state again like so many others, but at least it’s soldered. I’ll probably finish it in my spare time inbetween revision sessions and procrastination sessions