Vibe Clock REV02

The Vibe Clock changes from green to red every hour. The progression helps some people judge time better because a huge red field is easier to notice than a thin plastic pointer.
This project's circuit board was partially sponsored by PCBWay.
Supplies



- LED quarter-round boards and light channels. (PCBWay link)
- ESP32 demo board with screw-down breakbout board. (Sanitized Amazon link)
- (Optional) Soldering supplies. The soldering is not difficult, but I will assume you are proficient. If you leave the headers attached, you can run solid-core wire or test leads for a test-lab-chic look.
- Solder
- Wires
- Iron
- Laser cutter, CNC machine, or hand tools to cut thin plywood.
- M3 hardware. I used black to match color. Nylon is fine.
- Short bolts
- Nuts
- Wire wrangling hardware
- Zip ties
- Adhesive-backed mounts (Sticky-backs)
- USB power supply with at least 2A @ 5V
- USB cord
Assemble




If you have (access to) a laser engraver or wood-cutting CNC, you can make a backboard and extra light channels with the files attached to this step. (backup GitHub link) If not, lay your four light panels on a piece of plywood, mark the hole locations, and the outline. Cut and drill the board so you have a circle where you can mount the panels.
The back panel is at the bottom. On top of that are the light panels, a layer of light channels (the holey PCBs or the full circle with 396 holes), a layer of paper, and the black light channels on the very top. Fasten all these together with M3 hardware.
Connect the power and data lines. To keep things tidy, I removed the header sockets and soldered wires to the backside. This was five times more work than running jumper wires to my microcontroller and between boards.
Each board is a series of 98 LEDs in series. The data coming into the first board (12 to 3 o'clock) is the only data line you need to connect to your microcontroller board. The other boards should be connected Vcc→Vcc, Gnd→Gnd, and Data→Data. You may connect the Vcc and Gnd on the boards back to the source to reduce voltage drop and dim lights, as I showed in the picture of the clock's backside.
Program With Arduino


The first time you open the attached Arduino sketch (backup GitHub link), it will ask if you want to move it into a folder named "VibeClock_REV02_SingleFile." Accept, or create the folder manually. On lines 34 and 35, replace the text in quotation marks with your network credentials. This will let the board reach the internet and set the time.
Connect your ESP32 board to the computer with a USB cable and open the serial monitor. The monitor may not show anything immediately, but you will need it open before uploading. You may have to install support for Espressif boards. Upload the sketch.
The microcontroller will boot after a successful upload and try to connect to your wifi. Once connected, it will find the current time and light up. The serial port will print an IP address. It will probably be something like 192.168.1.108, but the numbers after the last period may be different. Remember this address.
Open a browser on your phone or any computer connected to the same router. Type that address into the address bar, and you should see five green buttons. Each button will change a clock setting. The first to use is "Time Zone" at the bottom. Tap this repeatedly until the hour hand on your clock matches the local time. Once set, it will retain that value even if you cycle power.
Downloads
Thank You

The Quarter-Round light array was sponsored and partially-funded by PCBWay.
I blog incessantly at 24 Hour Engineer where you can find the day-to-day build log for Vibe Clock and more than a decade's worth of other projects.