Skip to content

Latest commit

 

History

History
119 lines (89 loc) · 5.6 KB

README.md

File metadata and controls

119 lines (89 loc) · 5.6 KB

Wordclock

Wordclock with ESP8266 and NTP time

Most of the NodeMCU ESP8266 source code is by techniccontroller. More details on his website: https://techniccontroller.de/word-clock-with-wifi-and-neopixel/

I have changed some small things, added the purist mode and completely rewrite the webapp.

A detailed overview of my building process is my on website. https://www.andrerinas.de/tutorials/diy-wordclockwortuhr-selber-bauen-mit-arduino-wlan-neopixel.html

Features:

  • 6 modes (Clock, Digital Clock, SPIRAL animation, TETRIS, SNAKE, PONG)
  • time update via NTP server
  • automatic summer/wintertime change
  • easy WIFI setup with WifiManager
  • configurable color
  • configurable night mode (start and end time)
  • configurable brightness
  • configurable purist mode ("It is" only at zero minutes or 30)
  • automatic mode change
  • webserver interface for configuration and control
  • physical button to change mode or enable night mode without webserver
  • automatic current limiting of LEDs

Picture of clock

Clock

Screenshots of webserver UI

tetris snake pong settings

Quickstart

  1. Clone the project into the sketch folder of the Arduino IDE,
  2. Install the additional libraries and flash it to the ESP8266 as usual (See section Upload program to ESP8266 below).
  3. The implemented WiFiManager helps you to set up a WiFi connection with your home WiFi -> on the first startup it will create a WiFi access point named "WordclockAP". Connect your phone to this access point and follow the steps which will be shown to you.
  4. After a successful WiFi setup, open the browser and enter the IP address of your ESP8266 to access the interface of the webserver.
  5. Here you can then upload all files located in the folder "data". Please make sure all icons stay in the folder "icons" also on the webserver.

Install needed Libraries

Please download all these libraries as ZIP from GitHub, and extract them in the libraries folder of your Sketchbook location (see File -> Preferences):

folder structure should look like this:

MySketchbookLocation 
│
└───libraries
│   └───Adafruit-GFX-Library
│   └───Adafruit_NeoMatrix
│   └───Adafruit_NeoPixel
│   └───WiFiManager
│   └───Adafruit_BusIO
│   
└───wordclock_esp8266
    │   wordclock_esp8266.ino
    │   (...)
    |
    └───data
        │   index.html
        |   (...)
        |
        └───icons 

Upload program to ESP8266 with Arduino IDE

STEP1: Installation of Arduino IDE

First, the latest version of the Arduino IDE needs to be downloaded and installed from here.

STEP2: Installation of ESP8266 Arduino Core

To program the ESP8266 with the Arduino IDE, you need to install the board information first in Arduino IDE. To do that follow the following instructions:

  • Start Arduino and open the File -> Preferences window.

  • Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into the Additional Board Manager URLs field. You can add multiple URLs, separating them with commas. image

  • Open Boards Manager from Tools > Board menu and search for "esp8266".

  • Click the install button.

  • Don’t forget to select your ESP8266 board from Tools > Board menu after installation (e.g NodeMCU 1.0) image

STEP3: Upload a program to ESP8266

  • Open wordclock_esp8266.ino in Arduino IDE
  • Connect ESP8266 board with Computer
  • Select right serial Port in Tools -> Port
  • Click on the upload button in the Arduino IDE to upload the program to the ESP8266 Module.
    image

Remark about the WiFi setup

Regarding the Wifi setting, I have actually implemented two variants:

  1. By default the WifiManager is activated. That is, the word clock makes the first time its own WiFi (should be called "WordclockAP"). There you simply connect to the cell phone and you can perform configuration of the WiFi settings conveniently as with a SmartHome devices (Very elegant 😊)
  2. Another (traditional) variant is to define the wifi credentials in the code (or in secrets.h).
    • For this you have to comment out lines 230 to 251 in the code of the file wordclock_esp8266.ino (/* before and */ after)
    • and comment out lines 257 to 305 (/* and */ remove)