Clock Monsieur
WiFi desktop alarm clock
Overview
The interesting thing (to me) about this project is the display. It's a 16x16 LED matrix which multiplexes at ~1KHz, driven by the ESP32-S3 via a TLC5948A PWM dimming constant current LED driver.
The columns are switched high-side by a set of 8 DRV8837 motor drivers (!) which can be coerced into behaving as a pair of simple P channel mosfets (for 16 columns total).
The display supports 2048 intensity levels per LED which makes some nice effects possible.
The LEDs are arranged as
- 60 seconds
- 12 ticks
- 182 in a 26x7 matrix for the time and UI
- 2 spare
Display Driver
The display driver utilizes one core of the ESP32-S3 and is responsible for sending grayscale LED data to the TLC5948A via the SPI peripheral and switching the column drivers. Even when the system is under heavy WiFi strain, there is minimal timing jitter and the display is always rock solid. The only time the display flickers is when the flash is being updated during an OTA firmware update (which, fair enough).
Schematic
This one doesn't fit on a single sheet, at all.

PCB
Standard 4 layer board, with solid ground in the 2 middle layers. Time consuming to route. I expect the EMC is not good but could be fixed.

