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.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Michael Hope ffead18f6e wordclock: add the copyrights everywhere 2 years ago
hw wordclock: add the copyrights everywhere 2 years ago
iptime wordclock: add the copyrights everywhere 2 years ago
src wordclock: add the copyrights everywhere 2 years ago
.gitignore Added .gitignore 4 years ago
CONTRIBUTING.md Added a license and basic readme. 4 years ago
LICENSE Added a license and basic readme. 4 years ago
README.md Added a license and basic readme. 4 years ago
gen.py wordclock: add the copyrights everywhere 2 years ago
setup.py wordclock: add the copyrights everywhere 2 years ago

README.md

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.

Mechanics

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.

Electronics

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.

Firmware

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.

Services

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

License

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

https://www.apache.org/licenses/LICENSE-2.0

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.

Disclaimer

This is not an official Google product.