LCD Countdown Timer Arduino

This post is about building a 3-digit countdown timer based on Arduino MEGA. Up/Down counter also available at this link. The timer will wait for 3-digit number to be entered via 4×3 keypad and then start counting down to zero. Each count is 1 second long. A number up to 999 seconds can be entered. Arduino code can be downloaded here.  When the counters at 000 it will turn ON the buzzer connected to A0 on the Arduino board. During the timer operation you can’t stop the count or enter a new value from a keypad. There are 2 ways to update the timer with new time settings: 1 – wait for 000, 2 – Reset the timer by resetting the Arduino MEGA board. The schematic diagram is shown next.

LCD Countdown Timer Arduino Schematic

The Max range of the timer can be increased by adding additional digits. Pay attention to possible contact bounce from the keypad if proper delay between keypad scans is not maintained correctly. The Arduino I/O’s used for this design are also compatible with Arduino UNO or similar platforms so the code can be easily migrated.

LCD-Countdown-Timer-Arduino-Prototype-Board

The buzzer and the LED connected to A0 can be replaced with a MOSFET switch or relay to drive higher loads. Also it’s probably a good idea to add a mechanical switch to this pin to avoid activating the load at Reset state.