Neopixel Clock

About the project

ESP8266-based analog internet clock using WS2812b individually addressable RGB LEDs.

Project info

Difficulty: Moderate

Platforms: EspruinoEverything ESPNeoPixelNodeMCU

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

SMD LED RGB WS2812B Strip of 10 SMD LED RGB WS2812B Strip of 10 x 12
ESP8266 Serial WIFI Module ESP8266 Serial WIFI Module x 1


EspRing is a 12 bit neopixel ring using ws2812b RGB LEDs and to control the LEDs there is an ESP 12E module builtin. So basically you'll get a neopixel ring which has a onboard microcontroller. Since WS2812B leds are individually addressable so we just need only one data pin from the microcontroller along with VCC and GND to run tons of such LEDs. As the name implies we can even control the colour and the brightness of each pixels. You can assign different colors to each pixels and create mesmerizing animations and effects with it. Since the module has wifi accessibility on it, so you can change the effects or reprogram it over the air, without touching the module. It has voltage regulator to step down 5v to 3.3v for esp8266.

So, the ESP module connects to the wifi network and fetch the current time from the NTP server. note that you need to change the GMT offset accordingly in order to get the local time of your place. There is 12 LEDs on the board which are connected to GPIO 5. In order to visualize time I choose different colors for HOUR, MINUTE and SECOND.

After getting the time we need to divide Minute and Second by 5 because we have 12 leds and 60/5=12. The hour is in 24h format so we need to change that too.

Finally I set the colors for the LEDs according to the time. which can be change easily.

Watch the built vieo

Schematics and circuit diagrams



EspRing Clock


Photo of ElectroPoint


Electronics Engineer, Maker, YouTuber


Leave your feedback...