How to Build a Physical Pomodoro Timer Including a Total Daily Working Minutes Counter

by GrantF in Circuits > Clocks

19 Views, 0 Favorites, 0 Comments

How to Build a Physical Pomodoro Timer Including a Total Daily Working Minutes Counter

20250103_162821.jpg
20250103_162821.jpg
20250103_162729.jpg
20250103_162912.jpg
20250103_162612.jpg

I created this timer as a way to track my overall minutes spent in the "working" zone in a day.

The timer counts down 25 minutes, then a 5 minute break then, 25 minutes and repeats twice before giving myself a 15 minute break as per the pomodoro method. For those of you who don't know the pomodoro method is used to increase productivity by encouraging breaks to avoid errors and rework.

More can be found here:

https://www.pomodorotechnique.com/

There are online versions of this counter but none of them track how many minutes I've spent working throughout the day.


The button on the left resets the counter to 25 minutes "working zone" and toggles the display to show the overall minutes in each zone.

The LED's will lightup Green in the working zone, blue in the short resting zone and red in the long rest zone.

It also plays the theme to the witcher after each transition to a new zone.


Supplies

1xArduino Pro Micro

1xPiezo Speaker

1xNeopixel Jewel

2xNormally Open (N/O) Momentary Pushbutton switches

1xSH1106 OLED I2C Display

1x DC Plug adapter

1x DC Power adapter, 2A-5V


Consumables:

Solder, heatshrink, 28AWG Stranded flex cable, Data/USB Cable for loading onto arduino, 3d Printer Filament

3d Print Case

Print this case, 50% infill, supports

Program Arduino

This code needs a special library to be added called pitches, download it from the github here:

https://github.com/hibit-dev/buzzer/tree/master


Once downloaded, add the the library by opening up your arduino ide and go to:

sketch > include library > add zip library and select the pitches.zip file that you downloaded from the github above.


Next, download this pomodoro.ino file and open it up in the Arduino IDE and upload it to the arduino Micro Pro

Downloads

Solder

20250103_162612.jpg

(Neopixel connections)

Arduino Micro Pro Pin 6 - > Neopixel Ring Data In

(NOTE, w/ a 2Amp powersupply i could only use the jewel, I had a 16led ring and it caused the lcd to crash when it turned on.

Arduino Micro Pro RAW - > Neopixel VCC

Arduino Micro Pro GRD - > Neopixel GRD

(Set Button)

Arduino Micro Pro Pin 8 - > One Side of N/O Switch - > other side of N/O Switch - > Ground

(Reset Button)

Arduino Micro Pro Pin 5 - > One Side of N/O Switch - > other side of N/O Switch - > Ground

(Speaker)

Arduino Micro Pro Pin 7 - > +ve side of Piezo Speaker - > Negative side of Piezo -> Ground

(Power input)

Arduino Micro RAW - > +Ve side of Wall Adapter

Arduino Micro GRD - > -Ve Side of Wall Adapter

(OLED Display)

Arduino Micro 2 - > OLED - > SDA

Arduino Micro 3 - > OLED - > SCL

OLED- VCC - > Arduino Micro RAW

OLED - GRD - Arduino Micro GRD