GitHub - No-CQRT/Binary_clock: A binary clock made with ESP8266 and WS2812

2 min read Original article ↗

Binary_clock

A binary clock made with ESP8266 and WS2812

Web Installer here

About the project:

This is a simple project to create a binary clock using a ESP8266 and some WS2812 single addressable leds. Use the wi-fi connection to syncronize the time via NTP, change timezone, led color and brightness via Serial commands or physical buttons. In this case, i've used two "touch" button behind the front mask (STL for box and mask attached) for a better, minimal design.

Hardware

  • 1 WEMOS D1 ESP8266 (or similar)
  • 20 WS2812 RGB single addressable led
  • 2 (or 3) buttons for color change,brightness and timezone
  • USB cable, soldering, various cables

Installation

  1. Download the firmware form the release link and install with your favourite tool
  2. Use the Web Installer here
  3. Download source, open it in platform.io, build and upload.

Post installation instruction

After the installation, is suggested to connect the web installer, press the To connect to wi-fi, use the "logs and console" section to access serial interface and press a "reset device" to see the clean serial interface with commands.

To connect to wifi use these commands:

and

Important

please note: type ssid: and pass: with colon and no space before the value like in the example before

Commands

If you have connected the physical buttons, you can change color, brightness and time zone in a click (cycling). Or you can connect via serial console (also via web installer) and type:

to change the colors

to change the brightness

to change the timezone (+1)

to change the timezone (-1)

After the first connection, is suggested to adjust the timezone, all parameters will be stored in eprom.

Cabling

The strip is attached to D4 like the schema below

binary_clock

LED Schema

The 20 LEDs are used to display the time in this format: HH,MM,SS (note: time is in format 24h) first two columns are for hours, second two for minutes, and the last two with seconds

Pay attention at the LED sequence: in a ideal 20 LED strip, the time will be represented as below

binary_clock_2

So the "weight" of the bit will be displayed from below (1) to top (8) in sequence 1,2,4,8. first colum need ony 2 led, so also decimal for minutes and seconds need only 3.

You can build your case or use the provided STL to have a prototype like below:

PXL_20250816_143031252 PORTRAIT PXL_20250816_143007586 PORTRAIT PXL_20250816_142951659 PORTRAIT

and a "live" example here

clock.mp4