Introduction: Servo Wordclock V2

About: I am a physicist, part time maker and electronics enthusiast. My projects revolve mainly around daily-use items, toys and decoration with a focus on unconventional mechanisms and high standard of design.

3 years ago we finished building a word clock controlled by 114 servos. In this variation of the popular clock, letters are projected from the back onto a screen. Each letter is connected to a linear actuator that can be moved back and forth by a servo so that the projection changes size and focus onto the screen. Since we got a lot of positive feedback for our clock we started to work on an improved version. Version 1 of the clock looked great but the building process was very tedious and would make it almost impossible for other people to recreate. In this project, we did a complete redesign of the clock with the goal to make it more reliable and greatly ease the assembly process.

Compared to version 1 we succeeded in making the following improvements

  • reduction of 3D-printed components from ~800pcs to ~320pcs
  • custom PCBA for LEDs (no cutting and gluing of WS2812B strips)
  • custom cables for LED connections with JST connectors (no preparation and soldering of wires)
  • custom PCB for main electronics
  • improved alignment of letters
  • greatly improved cable management
  • WiFi connectivity
  • time updated via NTP server
  • control clock functions via web app (time setting, LED colors, brightness, transition effects, sleep mode, ...)
  • minimalistic design based on laser cut acrylic 
  • quieter servos due to reduction of travel speed

All resources for this build including a detailed BoM and assembly instruction can be found on the GitHub repo.

Since we have some spare parts we sell this clock as a DIY kit on!


In total there are 89 different components, a detailed BoM can be found in the GitHub repo.

Required tools

  • 3D printer or 3D printing service
  • laser cutter or laser cutting service (not needed for DIY kit)
  • PCBA service (not needed for DIY kit)
  • soldering equipment
  • crimping tool for cable sleeves
  • epoxy glue
  • M2.5, M3, M4 taps (not needed for DIY kit)

Step 1: 3D Printing

All stl files can be found GitHub repo recommended materials and quantities are specified in the BoM.

We printed most of the parts from PLA but for some models, we recommend PETG for better stability and reduced friction of the actuators.

The parts for the actuators need to have the right tolerances they should not be too loose but also not too tight. We have included two types of stl files, those with the ending "Any" have slightly higher tolerances and were printed on an AnyCubic printer the other ones were printed on a Prusa MK3S. It is recommended to test that the actuators move smoothly before printing all parts. When necessary the tolerances can be further adjusted using the scale function in your slicer software.

The housing of the actuator on which the servos are mounted consists of two parts since otherwise, it will not fit most printer beds. The parts have to be glued together with epoxy and there is an additional stl file for a gluing jig.

There is also an stl file for a jig which helps to align the servos correctly.

Step 2: Laser Cut

The frame is made from laser-cut acrylic and we have included all dxf files in the GitHub repo. The materials and thicknesses are specified in the BoM. We used black acrylic but of course, you can use the color of your choice. For the screen we used grey, frosted, translucent acrylic but it also works with white, frosted, translucent material.

Some holes in the laser cut panels need to be threaded before assembly (see assembly instructions).

Step 3: PCBs

The 114 LEDs were mounted on custom PCBs. In order to reduce the assembly time, we used the PCBA service by The PCBs were ordered with black solder mask so that the color matches that of the acrylic housing.

The main electronics are also mounted on a custom PCB which was ordered from and assembled by ourselves which is easy since it contains only through-hole components.

All PCB files can be found in the GitHub repo.

Step 4: Assembly

The detailed assembly instructions can also be found in the GitHub repo.

Step 5: Code

The clock is controlled by an ESP8266 which runs a webserver. The clock can be connected to your WiFi or run its own access point. All clock functions can be controlled via a graphical user interface from your web browser.

The code can be found in the GitHub repo.

Make it Glow Contest

Participated in the
Make it Glow Contest