Software apps and online services
Hand tools and fabrication machines
Back in 2017, I built a large Word Clock designed by wabbitguy. Recently I came across a word clock based on a 8x8 Matrix by gfwilliams. He used a 30x30mm LED matrix with a printed label to define the letters. Unfortunately the letters are too small to 3D print them using my FDM printer. So I decided to use a 60x60mm LED matrix instead in my design.Setting the time
Word based matrix style clocks are generally only accurate to 5 minutes owing to the lack of words they can show. The time held in the clock still needs to be accurate to at least one minute.
By pressing the SET button, the letter H flashes in the top left corner of the display to denote that the hours are being set. The hour value is shown as two 7-segment digits. The UP and DOWN button will change the hour value from 0 to 23.
When the SET button is pressed again, the letter M flashes in the top right corner of the display to denote that the minutes are being set. The minute value is shown as two 7-segment digits. The UP and DOWN button will change the minute value from 0 to 59. Holding the UP or DOWN button down will increment or decrement the value automatically.
Pressing the SET button again will set the time and return the display to the Word Clock face.Schematic
The circuit is designed around a ATtiny1614 microprocessor. It uses a DS1302 Real Time Clock to maintain the time even when the power has been disconnected. The 8x8 LED matrix is controlled by a MAX7219 LED driver.
The STL files are included. Either take these to a 3D print shop or if you have your own printer, run them through your slicing software. I used a 0.2mm layer height.
Supports touching the build plate are required for "Word - Case.stl".
When printing "Word - Diffuser.stl", print the first two layers in white filament and switch to black filament at the start of layer 3.The PCB
To minimize the space required, the board has been designed to use Surface Mount Devices (SMD) where possible.
The Eagle files have been included should you wish to have the board commercially made or you can do as I did and make it yourself. I used the Toner method.Assembly - Step 1
Start by adding the SMD components. I find it easier to use solder paste rather than use solder from a reel when soldering SMD components.
Add the links if you are using a single sided board
Add the following components to the copper side of the board:
- UPDI programming header (next to the battery holder)
- Polarized power right angle pin header
- 32.768kHz watch crystal (next to the RTC)
- Three 6x6mm tactile switches (17mm shaft with button caps)
Add the 60mmx60mm LED matrix to the top side of the board.
Insert the diffuser into the case followed by the PCB assembly.
The ATtiny1614 is part of the new breed of ATtiny microprocessors. Unlike the earlier series such as the ATtiny85, the new breed use the RESET pin to program the CPU. To program it you need a UPDI programmer. I made one using a Arduino Nano. You can find complete build instructions at Create Your Own UPDI Programmer. It also contains the instructions for adding the megaTinyCore boards to your IDE.
Connect the UPDI programmer
Once the board has been installed in the IDE, select it from the Tools menu.
Select board, chip (ATtiny1614), clock speed (8MHz) and the COM port that the Arduino Nano is connected to.
The Programmer needs to be set to jtag2updi (megaTinyCore).
Open the sketch and upload it to the ATtiny1614.Assembly - Step 5
Add the DC panel socket to the back of the case and wire up.
Install the back cover. If it is too loose, add some blue painters tap around the inside of the case to make it a tighter fit.