Skip to content

DIY Wordclock with WS2812B stripes controlled by a ESP8266 NodeMCU

License

Notifications You must be signed in to change notification settings

dakky/wordclock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlatformIO CI

Wordclock

This is another implementation of a DIY Wordclock

Instead of single pixels I used a digital LED-stripe (10 pieces of 11 LEDs and 1 piece of 4 LEDs) with WS2812B-LEDs controlled by a NodeMCU (mini) with an ESP8266 Wifi module for configuration and NTP.

Features

  • NTP
  • WIFIManager
  • OTA
  • easy to customzize to different front plates & LED wirings
  • Webinterface for configuration of the wordclock

Stripe layout /Configuration

As there a multiple ways to wire the LEDs on the back of the clock and there are also multiple frontplates, there are two places where to configure the actual setup:

  1. layout.h
    this file describes the wiring of the LED Strip. See explaination in file
  2. words_layout.h
    this file describes the frontplate via simple x/y coordinates
Layout 1

1st row left to right, 2nd row right to left, 3rd row left to right, ect...

  0 X--X--X--X--X--X--X--X--X--X--X 10
                                  |
 21 X--X--X--X--X--X--X--X--X--X--X 11
    |
 22 X--X--X--X--X--X--X--X--X--X--X 32
                                  |
 43 X--X--X--X--X--X--X--X--X--X--X 33
    |
 44 X--X--X--X--X--X--X--X--X--X--X 54 
                                  |
 65 X--X--X--X--X--X--X--X--X--X--X 55
    |
 76 X--X--X--X--X--X--X--X--X--X--X 76
                                  |
 87 X--X--X--X--X--X--X--X--X--X--X 77
    |
 88 X--X--X--X--X--X--X--X--X--X--X 98
                                  |
109 X--X--X--X--X--X--X--X--X--X--X 99
    |
    `---------X--X--X--X 
             110      113
Layout 2

Every row left to right.

   0 X--X--X--X--X--X--X--X--X--X--X 10
     ,-----------------------------´                              
  11 X--X--X--X--X--X--X--X--X--X--X 21
     ,-----------------------------´                              
  22 X--X--X--X--X--X--X--X--X--X--X 32
     ,-----------------------------´                              
  33 X--X--X--X--X--X--X--X--X--X--X 43
     ,-----------------------------´                              
  44 X--X--X--X--X--X--X--X--X--X--X 54 
     ,-----------------------------´                              
  55 X--X--X--X--X--X--X--X--X--X--X 65
     ,-----------------------------´                              
  66 X--X--X--X--X--X--X--X--X--X--X 76
     ,-----------------------------´                              
  77 X--X--X--X--X--X--X--X--X--X--X 87
     ,-----------------------------´                              
  88 X--X--X--X--X--X--X--X--X--X--X 98
     ,-----------------------------´                              
  99 X--X--X--X--X--X--X--X--X--X--X 109
     |
     `---------X--X--X--X 
              110      113
Words

The matrix shows 10x11 letters to represent the time in german words. An array for each word, containing the coords of the letters, are in the words header file.

Layout 1

|Y\X|1|2|3|4|5|6|7|8|9|10|11| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |1|E|S|K|I|S|T|A|F|Ü|N|F| |2|Z|E|H|N|Z|W|A|N|Z|I|G| |3|D|R|E|I|V|I|E|R|T|E|L| |4|V|O|R|F|U|N|K|N|A|C|H| |5|H|A|L|B|A|E|L|F|Ü|N|F| |6|K|E|I|N|S|L|M|Z|W|E|I| |7|D|R|E|I|A|U|J|V|I|E|R| |8|S|E|C|H|S|N|L|A|C|H|T| |9|S|I|E|B|E|N|Z|W|Ö|L|F| |10|Z|E|H|N|E|U|N|K|U|H|R|

Layout 2

|Y\X|1|2|3|4|5|6|7|8|9|10|11 |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |1|E|S|K|I|S|T|L|F|Ü|N|F| |2|Z|E|H|N|Z|W|A|N|Z|I|G| |3|D|R|E|I|V|I|E|R|T|E|L| |4|T|G|N|A|C|H|V|O|R|J|M| |5|H|A|L|B|Q|Z|W|Ö|L|F|P| |6|Z|W|E|I|N|S|I|E|B|E|N| |7|K|D|R|E|I|R|H|F|Ü|N|F| |8|E|L|F|N|E|U|N|V|I|E|R| |9|W|A|C|H|T|Z|E|H|N|R|S| |10|B|S|E|C|H|S|F|M|U|H|R|

Four more pixels shows additional minutes. In the original WordClock, they are in the corners but I prefered to place them under the last row.

Reading the clock

03:01

|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||

07:52

|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||

06:34

|||||||||||| |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |E|S|K|I|S|T|A|F|Ü|N|F| |Z|E|H|N|Z|W|A|N|Z|I|G| |D|R|E|I|V|I|E|R|T|E|L| |V|O|R|F|U|N|K|N|A|C|H| |H|A|L|B|A|E|L|F|Ü|N|F| |K|E|I|N|S|L|M|Z|W|E|I| |D|R|E|I|A|U|J|V|I|E|R| |S|E|C|H|S|N|L|A|C|H|T| |S|I|E|B|E|N|Z|W|Ö|L|F| |Z|E|H|N|E|U|N|K|U|H|R| |||X||X||X||X|||

Usage/Setup

  1. have a look @ "userconfig.h"
  2. configure led wiring in "layout.h"
  3. configure frontplate in "words_layout.h"
  4. upload Code (first time via usb, later via OTA)
  5. upload spiffs data (HTML code) pio run -t uploadfs

BOM

Article Source Price
WS2812B LED Stripes (30 LEDs/m, RGB) BangGood.com 20,40 €
Mini NodeMCU BangGood.com 4,85 €
3A Micro-USB Supply BangGood.com 4,49 €
Some wires bargain bin

About

DIY Wordclock with WS2812B stripes controlled by a ESP8266 NodeMCU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published