An Arduino-based programmable timer switch that allows users to set hours, minutes, and seconds using push buttons and control a relay output.
The system displays all information on a 16Γ2 I2C LCD and is suitable for automation and timing-based control applications.
- Set timer in hours, minutes, and seconds
- User interface using 16Γ2 I2C LCD
- Button-based navigation (UP, DOWN, SET, MENU)
- Relay control for external loads
- Real-time countdown display
- Manual stop/reset option
- System waits for the user to enter the menu.
- User sets:
- Hours
- Minutes
- Seconds
- Once confirmed, the relay turns ON.
- Countdown begins and is displayed on the LCD.
- After timer completion, relay turns OFF automatically.
- Timer can be interrupted or reset anytime using buttons.
| Component | Quantity |
|---|---|
| Arduino (UNO / Nano) | 1 |
| 16Γ2 LCD (I2C) | 1 |
| Push Buttons | 4 |
| Relay Module | 1 |
| Jumper Wires | As required |
| Power Supply | 1 |
| Function | Arduino Pin |
|---|---|
| UP | D2 |
| DOWN | D3 |
| SET | D4 |
| MENU | D5 |
| Component | Arduino Pin |
|---|---|
| Relay | D8 |
Install the following libraries from Arduino Library Manager:
- LiquidCrystal_I2C
- Wire (default Arduino library)
- Connect all components as per pin configuration
- Install required libraries
- Open the
.inofile in Arduino IDE - Select correct Board and Port
- Upload the code
- Power the Arduino and start using the timer
- Appliance automation
- Timed power control
- Lab experiments
- Learning embedded systems
- DIY electronics projects