Word Clock

A word clock with 3D printed LED light wells, custom PCB, and PIC controller.

Similar projects worth following
The idea behind this project was to make a word clock that would be easy to build a few of.

Often, the hardest part of making a Word Clock is building the "light wells," and integrating a diffuser that spreads the light evenly but does not dim it excessively.

My idea was that I could use a two-headed 3D printer to print the walls of the light wells, and simultaneously use the second head to print the diffuser, all in one pass.

I was a little surprised how well it worked. I was able to find a combination of diffuser material and thickness (and distance from the LEDs) that created very even illumination. And of course the vertical walls for the light wells printed just fine.

The 3D-printed piece is secured with screws to a custom circuit board (PCB). The PCB holds the LEDs, microcontroller and clock chip.

The pieces (word mask, 3D-printed piece, PC board) fit into a commercially-available 6" shadow box.

All files posted at


The heart of the project is the light well. It has two functions, first, create light for only the intended word (light must not bleed into adjacent words). Second, it must diffuse the light from the LEDs so that each word is evenly illuminated.

I used a two-headed 3D printer -- one print head used black ABS material to print the side walls. The second head prints a thin (0.05") layer of translucent ABS material to diffuse the light. ("Natural" ABS is milky clear. Perfect for this application.)

Note that the diffuse layer is not a full flat layer, which would be bad for letting light bleed across the words. Instead the diffuser portion is made up of separate rectangles for each word, positioned at the top of each light well. The divider walls extend all the way from top to bottom of the 3D printout.

Side note: If you are going to acquire a 3D printer, buy one with TWO print heads. Seriously. Two-head printers are so much more useful than one-head printers. You can use the second head to print dissolvable support material (which allows for undercuts in the models!), or to print two-color 3D models, such as this one for the clock.


The next thing to do was choose the microprocessor, the clock IC, and how do you drive all of those LEDs anyway?

Microprocessor. I am very familiar Micrchip's PIC family, so I selected the PIC16F688. It costs only $1.40. Wow.

Clock IC. I wanted high accuracy, a serial interface, and battery backup. The DS3231 is perfect.

LEDs. For white light backlighting of each word, I'm using Digikey 1080-1212-1 LEDs. They are small surface-mount LEDs that can handle 30 mA of peak current. (I run them at 33% duty cycle, 30 mA which is just bright enough.) $0.14 ea, with 72 per clock.

LED Drivers. I wanted to be able to dim the LEDs when the room darkens. This makes the MAX7219 (or 7221) drivers a natural choice.

Miscellaneous. Rounding out the parts list is a small CdS photocell to detect light levels, a DIP switch for configuring clock options, push buttons to set the time, a CR2032 battery holder, and 5V regulated wall wart.

I entered the schematics using KiCAD, and then used KiCAD to layout the PC board. I can recommend KiCAD. I found that I needed to create a few schematic symbols and PC footprints, but the price is right (it is open source and free) and has a fairly good feature set. There are no board size limits, and no layer limitations. Sweet.


I created a PC board from the schematics. I also created a custom Christmas-themed graphic and applied it to the board as a back-layer silkscreen. This graphic is sort of a "Christmas card" when you open the back of the clock.


To mask out each word, I tried a variety of materials. The winner was thin (1/16") opaque black acrylic, from It cuts easily with a laser cutter, and does not bleed light.


I used the tools provided by Microchip, which is the Eclipse-based MPLAB X Integrated Development Environment (IDE).

Microchip has a free C compiler available, the MPLAB XC compiler. It is functional and does the job, but it does not have the great C code library that the CCS compiler provides.

(Note: I like the CCS C compiler more than the MPLAB XC compiler. CCS provides so many great libraries that make configuring the microcontroller very easy, including configuring and using the ADC, the PWM module, the I/O pins, the clock configuration, etc... )


I found a 6" x 6" shadow box at Michael's that looks great -- much better than I could make from scratch. And for that price?!? Perfect.

Final assembly is easy. The 3D printed light well screws to the PC board. The acrylic "word" piece fits into the shadowbox, and the PCB/light well stack slides in after that. The tight fit keeps everything aligned.

  • 1
    Step 1

    Final Assembly

    The 3D-printed piece is attached to the PC board with screws.

    The switches are attached to the rear plate, and wired to the PCB with short cables.

    The laser-cut acrylic "word mask" is placed into the frame, with the PCB assembly behind it.

  • 2
    Step 2

  • 3
    Step 3

View all 4 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates