72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
|
# 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.
|