All Articles

Building a Tiny Pomodoro Timer


One of my new hobbies during the pandemic has been playing around with Raspberry Pis and getting more into electronics. I first repurposed an old Raspberry Pi 2 Model B into an IRC bouncer. Then I spent too much time on Adafruit and ended up with a few Raspberry Pi Zero Ws and a few three color e-ink displays after reading Sara Bee’s blog post about hacking a Pimoroni inkywHAT to display what was playing on her local radio station.

I’m not a huge productivity hack person, but my concentration has been shot lately. I’ve been using the Pomodoro technique to help me focus when I have those rare uninterrupted blocks of time without client meetings. I’ve used tiny-care-terminal for a number of years and like the pomodoro timer option in that interface, but it’s easy for my terminal to get hidden with all the windows I’m swapping between, so I wanted something that would stand on its own..

I’ll write more about the process later, but I only needed a few things for this hack:

  1. Raspberry Pi Zero W (You could probably do this without wireless, if you really wanted to scrimp)
  2. Pimoroni InkypHAT - 3 Color eInk Display
  3. Pibow Zero W Case (You don’t have to have this, I just wanted something sturdy so the pi assembly would stand up)
  4. Some kind of power supply suitable for the Pi Zero W

I had to mess around with the image rotation a bit to make sure that I could stand the Pibow case up with the power supply on the top.

I’ve included shell scripts to:

  • wipe the start time whenever the power is disconnected (use @reboot in your cron task)
  • to update the display (just set the cron task to * * * * *)

These are workarounds until I have a more sophisticated way of adding an on/off switch to the pi.

The standard 25 minute pomodoro cycle with a 5 minute short break and 25 minute long break is hardcoded into the program, but can be easily modified for whatever your Pomodoro cycle is.

Tiny Pomodoro Timer


Published Nov 7, 2020

Striving to stay curious.