2.2 KiB

wordclock - a word clock

mlhx@google.com / michaelh@juju.nz

wordclock is a clock that shows the current time as words such as "five past eight" or "quarter to three". The clock is approximately 400 mm x 400 mm square and uses RGB LEDs to light up the words. The LEDs are driven by a ESP8266 and the time and time zone is asutomatically fetched from the Internet.


See The hardware is made up of four layers of 4 mm laser cut plywood. The default design cuts this from 8 A3 sheets which are then overlapped, although it should be easy to modify if your laser cutter has a 400 x 400 mm work area.

The layers are:

  • A backing layer
  • The LED layer which has a snake pattern for laying the LEDs in
  • The mask layer, which has a cut out for each LED
  • The word layer

Normal laser printer paper is sandwiched between the mask and word layers as a diffuser.

The layers are held together using 8x M4 bolts.


The electronics consists of a 5 m strip of WS2812B LEDs driven by an ESP8266. A 5 V 3 A supply feeds the ESP8266 and a 1N5401 between the 5 V supply and the LEDs drops the supply enough so the 3.3 V output from the ESP8266 can reliably drive the LEDs.

The LEDs are the 30 LED/m model arranged in a 11 wide by 10 high grid. The LEDs snake through the hardware with the first LED being in the bottom right.


The firmware uses CircuitPython 3.0, periodically reads the local time from a custom time server, and fades from one set of words to the next when the words change.


A small API returns the local time of the caller by looking up the timezone based on the IPv4 address.


Copyright 2019 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


This is not an official Google product.