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:
- Raspberry Pi Zero W (You could probably do this without wireless, if you really wanted to scrimp)
- Pimoroni InkypHAT - 3 Color eInk Display
- Pibow Zero W Case (You don't have to have this, I just wanted something sturdy so the pi assembly would stand up)
- 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.