Hi all. I have a lot of ideas for all kinds of different projects, and one of them is a project led WiFi Clock. Let me explain.
I wanted to create a nice and simple wall clock for the living room, and I started thinking about how can I incorporate a led strip. And the idea came. How about creating an addressable RGB led circle and then light up one LED to represent hours and the other one to represents minutes. So, one part of this project is an addressable RGB led circle and the other one is control over wifi.
For WiFi control, there is relay only one choice. That is to use esp8266 or a newer esp32 microcontroller from Espressif. Esp8266 is a feature-rich MCU with integrated Wi-Fi and Bluetooth connectivity, so we have everything that we need in one package, processing and WiFI connection.
RGB LED circle
I found on AliExpress something perfect for this first try. That is:
This is perfect. We have an addressable WS2812B chip build-in inside every led, which will give us control of every individual led and it’s already a circle :). Now, when I have decided on the hardware, I need to determine what each led will represent. This will be represented in the image below.
Because we have 24 LEDs, we need to activate every other led in order to select the valid hours and for minutes every led is equal to 2.5 mins. Let me give you two examples for 9:36 and 16:05 in the image below.
But what should happen if hours and minutes led overlap? I don’t know yet, but in my mind, there are two options. The first is to mix two colors for hours and minutes indicator and the other is to choose a completely different color from both colors. Check the image below.
OK, we now have a good idea of how our clock will look and function, but let’s now switch a bit to the technical side. How to implement everything on the esp8266 controller. First thing first, we need to configure the development environment for esp9266, and for this, I will use Arduino IDE. Please check my YouTube video on how to configure Arduino IDE for esp8266 on Pop!_Os.
Pretty much the same procedure is for installation for windows. Basically, you just need to follow instructions on the next link https://github.com/esp8266/Arduino.
Start with WiFi and esp8266
In the video below I did basically connection to WiFi from esp8266.
Use WiFi manager
WiFi-Manager is a great option to avoid hard coding your WiFi credential in your esp8266 source code. Check out the video below.
Now when we have RBG led circle and esp8266 development environment configured and connected to WiFi. The next step will be to implement NTP Clock on esp8266. Then we need to implement WS2812B control and connect everything. But that will be done in the next post (Project Led WiFi Clock part 2), as soon as WS2812B Module Strip arrives for AliExpress :). In the meanwhile check out my other project Magic mirror.