Software apps and online services
Hand tools and fabrication machines
Looking around for something to build, I decided on a LCD 1602 clock. After perusing the Web and finding many different implementations, I decided why not make one clock that incorporates all of them.Clock Features
- Six different display styles
- Set time, date and alarm
- Mercury switch to switch off alarm
- Backlight control
The actual electronics is fairly simple.
Once wired, load the sketch into your Arduino IDE and upload to the Arduino UNO.Using the clock
The clock has three buttons - SETUP, INCREMENT, DECREMENT and a TILT switch.
When the backlight is off, pressing any button will switch the backlight on. If no buttons are pressed while the backlight is on, it will switch itself off after 5 seconds. While the backlight is on, the buttons will perform the following tasks:
SETUP - This brings up the SETUP screens. The right angle bracket character is the cursor. Pressing the INCREMENT or DECREMENT buttons will increase or decrease the value the cursor is on respectively. Pressing the SETUP button again will cycle the cursor between Hours, Minutes, Day, Month, Year, Alarm Hours, Alarm Minutes and back to CLOCK mode.
INCREMENT - When not in the SETUP screens, this button switches between the various clock styles.
DECREMENT - When not in the SETUP screens, this button toggles the Alarm on or off.
TILT SWITCH - When the alarm is sounding, tilting the clock or pressing any button will switch off the alarm.Building a fully finished clock
Taking your build from the breadboard to a fully finished clock will require a printed circuit board and some extra components. The Eagle files are attached should you wish to have the PCB commercially made or do as I did and make it yourself. I used the Toner method.
NOTE: Because the LCD 1602 display is connected to the main PCB using a right-angle pin header, it can be very difficult to insert the board and display into the case when they are already soldered together. Having a double sided board with through hole plating will allow you to solder the display to the board in-place.
Using parts that I had around the workshop, the Arduino UNO was replaced with a ATMega328 DIL chip, 16MHz crystal and two 22pf ceramic capacitors. The 5V regulator is a 7805 TO-220 type and a 100uF 16V capacitor for smoothing. The RTC is a DS1302 with a 32.768 KHz watch crystal. The speaker is a passive buzzer which is DC isolated with a 10uF 16V capacitor. The 0.1uF and 1uF capacitors are monolithic ceramic capacitors (5mm hole spacing). Resistors are 5% 1/8 watt or you can use 1/4 watt if you wish. The mercury switch can be any size. Mine was 5mm diameter but a smaller one will suffice. The three tactile buttons mounted on the back of the board are 6mmx6mm with a 13mm shaft.
The case is 3D printed using a 0.2mm layer height and no supports. Drill out the PCB mount holes with a 2.5mm drill and create a thread using a 3mm tap. Use M3 6mm screws to secure the board in place. I also drilled out the four mount holes on the PCB to 4mm to allow for any adjustment required to stop the buttons from sticking on the case when securing the board.
This clock is a mash-up of a number of clocks that various makers have made over the years.
The base of this clock is Arduino Digital Clock With Alarm Function (custom PCB). I modified the case so it was printed as two pieces and not four.
- Standard screen design by Michalis Vasilakis
- Dual Thick font by Arduino World
- Dual Bevelled font by Arduino Forum
- Dual Trek font by Carrie Sundra
- Dual Thin font by Arduino World
- Word concept by LAGSILVA
- Fixed spelling mistakes in WORD clock
- Added #defines to control backlight
- Increased backlight timeout from 5 to 10 seconds