Time Tracking Monitor

Arduino Nano Project

DIY Time Tracking Monitor

In this ElektroBox project, I build a simple Time Tracking Monitor for gaming breaks, work sessions, or any situation where you want a clear visual timer.

The monitor uses an Arduino Nano, 12 LEDs, resistors, and one setup button. The LEDs work like a progress bar with green, yellow, and red sections, so the remaining time is easy to see at a glance.

DIY Time Tracking Monitor with Arduino Nano and LED status bar

1. Project Idea

In between ElektroBox projects, I like to play games. But sometimes, a short break gets much longer than planned. To solve this, I built a small desktop Time Tracking Monitor.

The idea is simple: before the break starts, the time is set with one button. During operation, the LED bar shows the passed time. When the time is over, a wave animation starts as a visual reminder.

Main controllerArduino Nano.
Status display12 LEDs arranged as a green, yellow, and red progress bar.
Time setupOne button. Each press adds 15 minutes, up to 3 hours.

2. How the System Works

The project has four program modes: idle, setup, tracking, and finished. The button is checked continuously, and the Arduino switches between these modes depending on the current state.

Idle mode → hold the button for 3 seconds to start setup
Setup mode → each button press adds 15 minutes
Tracking mode → the selected time is divided across all 12 LEDs
Finished mode → a wave animation runs continuously

Example: If you select 1 hour, the Arduino divides this time across the 12 LEDs. One LED then represents 5 minutes of passed time.

3. Required Parts

  • Arduino Nano
  • 12 LEDs
  • 1 push button
  • 12 × 1 kΩ resistors for the LEDs
  • 1 × 10 kΩ resistor for the button circuit
  • Prototype PCB or perfboard
  • Dupont wires
  • USB cable for power
  • 3D-printed housing

4. LED Status Bar

The LED status bar is built with green, yellow, and red LEDs. I used four LEDs per color to create a simple progress-bar style display.

Each LED is connected from an Arduino digital pin through a 1 kΩ resistor to GND. This limits the LED current to roughly 5 mA, depending on the LED forward voltage.

Important: Check the LED orientation before soldering. The longer leg is the anode and goes to the Arduino side through the resistor. The shorter leg goes to GND.

5. Button Circuit

The setup button is connected to pin A1. In this version, the code expects an external pulldown resistor, so the input is normally LOW. When the button is pressed, A1 is connected to 5 V and reads HIGH.

Note: If your wiring uses a pullup resistor instead, the button logic in the code must be inverted.

6. Wiring Overview

  • LED 1 to LED 12 are connected to pins D2 to D13.
  • The setup button is connected to pin A1.
  • The Arduino Nano is powered through USB.
  • All LED cathodes are connected to GND.
  • Each LED has its own 1 kΩ current-limiting resistor.
Pin overview
Arduino Nano wiring overview

7. Program Modes

IdleThe monitor waits until the button is held for 3 seconds.
SetupEach button press adds 15 minutes to the selected time.
TrackingThe LEDs show the elapsed time across the selected interval.
FinishedA wave animation reminds you that the time block is over.

8. Basic Arduino Code Structure

Timer logic structure
Arduino state machine outline

9. Common Problems

One LED does not light up

Check the LED polarity, resistor, solder joint, and assigned Arduino pin.

The button input behaves randomly

Check the pulldown resistor and add debounce handling in the firmware.

The timing is not correct

Use millis-based timing and verify the selected time interval calculation.

10. Final Result

The final result is a compact visual timer with a 12 LED progress bar. It is simple, readable, and useful as a small desktop electronics project.

The project can be expanded with different time presets, a pause function, brightness control, startup animations, or a more advanced button menu.