Skip to content

2CoderOK/pomodoro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pomodoro

A Pomodoro timer based on an Arduino Pro Mini and stylized as a Mario block.

Pomodoro Timer

This project was built out of pure curiosity and a desire to create a simple, controllable time management device. It uses the Pomodoro Technique to break work into intervals separated by short breaks, helping you maintain focus while keeping track of your productivity.

✨ Features

  • Single-Button Interface: Control everything using just one button. The code distinguishes between short clicks (to increase the timer) and long clicks (to start/action), while ignoring accidental, very short clicks.
  • Persistent Statistics: Keep track of your completed Pomodoros for today, this week, this month, and all time. The data is saved directly to the RTC module's onboard EEPROM so it survives power cycles.
  • Grace Period: Includes a 10-second grace period at the start of a session, allowing you to abort without any statistical penalty.
  • Accountability & Penalties: Aborting a session after the grace period registers a penalty in your statistics.
  • Mandatory Breaks: The timer logic enforces taking a break before you can start your next Pomodoro interval.
  • Audio Alerts: Uses a piezo buzzer mapped to specific frequencies/notes to play different notification sounds.
  • Visual Display: A 4-digit display shows the remaining time, utilizing the blinking colon symbol to indicate when the timer is actively running.

🛠️ Hardware Requirements

To build this Mario block timer, you will need the following components:

  • Arduino Pro Mini (The core microcontroller)
  • USB to Serial Converter (Required to upload the code to the Pro Mini)
  • 4-Digit Display Module (TM1637)
  • RTC Module (e.g., DS1307 with a CR2032 battery) for precise timekeeping and long-term EEPROM memory
  • Button Switch Module
  • Piezo Buzzer (For audio feedback)
  • DC Power Connector
  • Jumper Wires
  • 3D Printed Case: A modified Mario block design (with custom cutouts for the display, button, and power connector).

💻 Software & Libraries Used

The project is programmed in C++ for the Arduino platform and utilizes the following libraries:

  • TimerOne
  • TM1637
  • RtcDS1307
  • Wire

🔌 Circuit Diagram

Pomodoro Timer - Circuit Diagram

🎥 Build Video & Previews

Watch the full build process, from 3D printing to coding and assembly, on YouTube:
A Pomodoro timer - stylized as a Mario block - Watch on YouTube


Buy me a coffee

About

Pomodoro timer based on Arduino Pro Mini board and stylized as a Mario block

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors