This website is under construction.

Images are being added and structure is being reshuffled.

✨ Check out what's newly added

Split Flap Desk Clock

AI-generated concept render of the split-flap desk clock

A mechanical flip display clock combining engineering and design

View Project Logbook →

Project Overview

The Split Flap Desk Clock is a scratch-built timepiece that displays 24 or 12-hour time across six direct-driven digit spools, with a separate seven-face roller for the day of the week. It's housed in a compact 240 × 91 × 90mm wood-look enclosure with a fabric-fronted face and a small electronic status screen styled to look projected through the mesh face rather than screen-like.

Firmware runs on an ESP32-WROOM in Arduino C++, coordinating all seven rollers alongside onboard weather sensing, lightning detection and an AM/FM radio — bringing retro radio and split-flap aesthetic together with a handy entourage of local atmospheric sensors.

The Display System

0
0
0
0
0
0
0
0
1
1
1
1
5
5
5
5
A
A
A
A
M
M
M
M

Digit Spools

Six digit spools show time as HH:MM:AM/PM. Each carries 40 flaps; digits 0–9, A–Z, symbols and blanks, and is direct-driven by its own tin-can stepper, with no gearing in between.

Day-of-Week Roller

A separate seven-face roller shows the current weekday, driven and homed independently of the six digit spools.

RTC-Backed Timekeeping

A DS3231 real-time clock on the shared I2C bus keeps time independent of the ESP32, so the display stays accurate across resets and power cycles.

Weather & Lightning Sensing

A BME680 reads temperature, humidity, pressure and IAQ index, feeding a lightweight Zambretti forecast, while an AS3935 lightning detector watches for nearby strikes — both sharing the same I2C bus as the clock's other sensors.

Audible Feedback

Satisfying mechanical clicking and flipping sounds that provide tactile and auditory feedback with each update.

Design Philosophy

The enclosure takes cues from mid-century radio cabinets rather than typical desk-clock styling: a wood-look housing wrapped around a fabric-fronted face, in keeping with the split-flap mechanism's analogue character.

Set into that face is a small ST7789 status LCD, styled to read as a soft projected display rather than a bare screen — surfacing sensor readings, forecast and radio state without breaking the housing's otherwise mechanical, screen-free look. At 240 × 91 × 90mm, the whole unit is sized to sit comfortably on a desk as a daily-use object rather than a display piece.

Internal Mechanism

Front Face

Mechanical Architecture

Stepper Motors

Seven PM08 tin-can steppers — one per roller — each direct-driven with no gearing and controlled by its own standalone TMC2209 driver running StealthChop.

Homing System

Each roller carries a KY-003 hall sensor; all seven share a single wired-OR signal line so the firmware can home them sequentially. The day roller re-homes daily.

Control Electronics

An ESP32-WROOM coordinates all seven rollers and shares an I2C bus with the DS3231 RTC, BME680, AS3935 lightning detector and SI4730 radio tuner.

Power Supply

USB-C Power Delivery (via a GaN supply) feeds an XL4015 buck converter for 5V logic, with the seven steppers running on a separate 12V rail.

Technical Specifications

Dimensions

  • Width: 240mm
  • Height: 91mm
  • Depth: 90mm

Mechanical

  • 7 flap rollers (6 digit spools + 1 day roller)
  • 40 flaps per digit spool
  • Direct-drive, no gearing

Electronics

  • MCU: ESP32-WROOM (CH340C USB-serial)
  • 7× PM08 steppers + 7× TMC2209 drivers
  • Power: USB-C PD (GaN) → XL4015 buck, 5V logic / 12V steppers

Sensors & Connectivity

  • DS3231, BME680, AS3935, SI4730 on shared I2C
  • Bluetooth Classic (A2DP) — no WiFi
  • 2.8" ST7789 status LCD