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.

Schematic

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.

Front
Back