Skip to content

juswa005/arduino-MAX7219

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arduino MAX7219 6-Digit Timer

A 6-digit count-up and count-down timer using Arduino Uno and a standalone MAX7219 7-segment display driver.

MIT License Arduino Version


Description

This project implements a 6-digit digital timer using an Arduino Uno and a standalone MAX7219 IC to drive a 7-segment display.
The timer can operate in two modes: count-up and count-down.
Users can configure hours, minutes, and seconds using push buttons, then start or pause the timer.
The MAX7219 handles multiplexing, making the display smooth and efficient.

Optional components include:

  • I2C LCD (connected to A4/SDA and A5/SCL) to display the current mode, which field is being set (hours, minutes, seconds), when the timer is ready, and when it reaches zero.
  • Buzzers (pins 8 and 9) to indicate when the countdown timer finishes.

This project is intended for learning embedded systems, timing logic, and display driving using the MAX7219.

Features

  • Count-Up mode
  • Count-Down mode
  • 6-digit 7-segment display output (HH:MM:SS)
  • Mode selection via button
  • Time setup for hours, minutes, and seconds
  • Start/Stop button control
  • Optional I2C LCD for mode/setting display
  • Optional buzzer indicator when timer ends
  • Uses standalone MAX7219 IC (not module)
  • Debounce-friendly button logic

Requirements

Hardware

  • Arduino Uno
  • MAX7219 IC (standalone)
  • 6-digit 7-segment display
  • Push buttons:
    • Mode
    • Next
    • Increment
    • Start/Stop
  • 10k resistor
  • 10 µF capacitor
  • 0.1 µF capacitor
  • Jumper wires and breadboard
  • Optional:
    • I2C LCD (A4/SDA, A5/SCL)
    • Buzzers (pins 8 and 9)

Software

  • Arduino IDE
  • Required libraries:
    • LedControl
    • Optional: LiquidCrystal_I2C (if using I2C LCD)

Wiring / Setup

Main Module Wiring (MAX7219 SPI)

Device Pin Microcontroller Pin
DIN 12
CLK 10
CS 11
VCC 5V
GND GND

Button Wiring

Button Pin Microcontroller Pin
Mode 2
Next 3
Increment 4
Start/Stop 5
Optional resistor Use 10k pull-down or internal pull-up

Additional Wiring (Optional Components)

Device Pin Microcontroller Pin
I2C LCD SDA A4
I2C LCD SCL A5
Buzzer 1 8
Buzzer 2 9

Circuit Diagram

Circuit Diagram

Installation

  1. Install board support in Arduino IDE
  2. Install required libraries
  3. Open the Arduino sketch
  4. Adjust pin assignments if needed
  5. Upload to the board

Usage

When powered on, the 7-segment display first shows the selected mode (UP or DOWN).
Press the Mode button to switch between Count-Up and Count-Down.
Press Next to configure hours, minutes, and seconds using the Increment button.
After setup, press Start/Stop to begin or pause the timer.
The optional I2C LCD displays the current mode, the field being set, when the timer is ready, and signals when the timer reaches zero.
When countdown finishes, the optional buzzers sound as an alert.

License

MIT License

Author

Amiel Josh Basug

About

6-digit count-up/count-down timer using Arduino Uno and MAX7219

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published