Skip to the content
PCBKitNew board
4 layers78.9 × 51 mmClockClock24, the printed circuit board in 3D

ClockClock 24 replica: 24 analog clocks showing digital time. ESP32-S3 controllers with VID6606 stepper drivers, auto-addressed I2C bus and VID28-05 dual-shaft motors. KiCad 10.

Size
78.9 × 51 mm
Copper layers
4
Thickness
1.6 mm
Parts
46
Nets
82
Pads
263
Tracks, vias
554, 127
Pours
12
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Oct 2026
Updated
29 Oct 2026

Overview

ClockClock24 is an open-source printed circuit board by Loredati-svg, from the Loredati-svg/ClockClock24 repository on GitHub. It is a 4-layer board of 78.9 × 51 mm with 46 parts on 82 nets, routed with 554 tracks and 127 vias.

It is built around the ESP32-S3-WROOM-1-N8, AP7361C-33E and USBLC6-2SC6, with the SMAJ5.0A and SS54 among its other parts. Its parts include 12 capacitors, 11 resistors, 7 connectors, 5 ICs and 3 diodes. It belongs with the robots and motor control and lEDs and displays boards and the ESP32 boards of this library.

Main components

5

README

README.md

ClockClock 24 – Replica v2

Status Hardware KiCad MCU Firmware

A personal re-implementation of the ClockClock 24 kinetic sculpture by Humans Since 1982: 24 analog clocks in a 3 × 8 grid whose hands move together to show the time in digital form.

Inspired by Vallasc/clockclock24-replica, with a redesigned architecture: ESP32-S3 controllers, USB-C on every board, an auto-addressed I2C bus and separate motor boards.

For personal, non-commercial use only. All design rights belong to Humans Since 1982.

Controller board – top Controller board – bottom

Controller board, rev A (3D render, top and bottom)

Architecture

6 identical controller boards (2 per row), each driving 4 clocks (8 motors) via cables to 24 passive motor boards, one behind each clock.

Architecture

  • Same hardware and firmware on every controller.
  • The first board in the chain becomes the master: WiFi, NTP, web interface, and it sends target positions to the others over I2C.
  • Each controller generates step pulses for its own motors, so only short, slow messages travel on the bus.

Controller board – rev A (layout in review)

USB-C (5 V, programming + debug via native USB) → protection → +5 V rail → 2× VID6606 drivers and the bus; AP7361C LDO → 3.3 V for the ESP32-S3-WROOM-1-N8.

Motor board – in development

A minimal board with only the motor and its connector: one VID28-05 / BKA30D-R5 dual-shaft stepper (two motors, coaxial shafts, one hand each) and one 8-pin connector. No active parts.

Public documentation on this motor is scarce (mechanical drawings, pin numbering and the 360° no-stop variant all differ between sellers), so the footprint and pinout are being validated on real samples before the board is finalized.

Bus and master detection

The bus connectors carry +5V, GND, I2C_SDA (IO41), I2C_SCL (IO42) and a CHAIN line.

Master detection

  • Nothing on BUS_IN → CHAIN_IN high → master. Cable present → low → slave, even if the upstream board is still booting.
  • At startup the master passes a "token" down the chain via CHAIN_OUT. Each board answers on a temporary I2C address and receives its permanent one, so addresses match the physical order automatically.
  • I2C pull-ups (4.7 kΩ) are on every board but enabled only via solder jumpers JP1 / JP2: close them on the master only.

Connectors

Bus – BUS_IN / BUS_OUT (JST-XH 8 pin, straight cables)

12345678
+5V+5VGNDGNDSDASCLCHAIN_IN / OUTGND

Motors – CLK1…CLK4 (JST-PH 8 pin): pins 1–4 = first motor (OUT1–4), pins 5–8 = second motor. Same pinout on every connector and motor board, so all cables and motor boards are interchangeable. Using different connector families for bus and motors makes it impossible to plug a bus cable into a motor output.

Good to know

  • Motors: use the 360° version without end stops of the VID28-05 / BKA30D-R5. It's hard to find, so order samples first.
  • Resolution: 1/12° per step → 4320 steps per revolution, max ~7.2 kHz step rate (600°/s).
  • No position sensors: hand positions are saved in flash after every move. A "moving" flag detects power loss mid-movement, and calibration (±1 step per hand) is done from the web interface.
  • Backlash (~0.5–1°): always do the final approach from the same direction.
  • Idle coils off: VID_RST is pulled low after each move. The 180:1 gearbox holds the hands, which saves power and heat.
  • Power: realistically < 2 A for the whole clock with all hands moving. Any board can be the 5 V entry point (USB-C max 3 A).
  • VID6606 logic level: VIH min is 3.15 V at 5 V supply, so 3.3 V from the ESP32 works but with little margin. Not available at LCSC: hand-solder (SOP-28).
  • PCB: 4 layers (signals / GND / +5V / signals), KiCad 10. The ESP32-S3 library footprint's keep-out can trigger false DRC errors in KiCad 10: replace it with a board-level rule area.
  • Firmware: PlatformIO, -DARDUINO_USB_CDC_ON_BOOT=1 (TXD0 is used for the status LED).

Credits

Parts

46
QtyValueFootprintReferences
5100neCapacitor:0603C2, C7, C8, C9, C10
410keResistor:0603R3, R4, R5, R14
3MountingHoleMountingHole:MountingHole_2.2mm_M2_PadH1, H3, H4
2100uCapacitor_SMD:CP_Elec_6.3x5.4C6, C11
21ueCapacitor:0603C3, C12
24k7eResistor:0603R12, R13
24u7eCapacitor:0603C4, C5
25k1eResistor:0603R1, R2
2SW_PushButton_Switch_SMD:SW_SPST_B3U-1000PSW1, SW2
2VID6606eInterface:SOIC-28W_7.5x17.9mm_P1.27mmU4, U5
1100keResistor:0603R9
110ueCapacitor:0603C1
11keResistor:0603R11
1330eResistor:0603R10
1AP7361C-33EPackage_TO_SOT_SMD:SOT-223-3_TabPin2U3
1BUS_INConnector_JST:JST_XH_B8B-XH-A_1x08_P2.50mm_VerticalJ2
1BUS_OUTConnector_JST:JST_XH_B8B-XH-A_1x08_P2.50mm_VerticalJ3
1CLK1Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ4
1CLK2Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ6
1CLK3Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ5
1CLK4Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ7
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U2
1LEDeLED:0603_polD3
1PU_SCLJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1PU_SDAJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1PolyfuseFuse:Fuse_1206_3216MetricF1
1SMAJ5.0ADiode_SMD:D_SMAD2
1SS54PCM_JLCPCB:D_SMAD1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Questions

How big is the ClockClock24 PCB?

It measures 78.9 × 51 mm and has 4 copper layers, 1.6 mm thick.

What parts does the ClockClock24 use?

46 parts, built around the ESP32-S3-WROOM-1-N8, AP7361C-33E, USBLC6-2SC6 and SMAJ5.0A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ClockClock24 KiCad files?

From the Loredati-svg/ClockClock24 repository on GitHub, at the commit this page was made from: the board is Hardware/Controller/ClockClock24.kicad_pcb and its schematic Hardware/Controller/ClockClock24.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ClockClock24 design in my own project?

Its repository states no licence, so its author keeps all rights: ask Loredati-svg before reusing the design.

More from Loredati-svg/ClockClock24

1
  • 2 layers47.8 × 64.9 mmMotor PCB, the printed circuit board in 3D

    Motor PCB

    Loredati-svg/ClockClock24

    ClockClock 24 replica: 24 analog clocks showing digital time. ESP32-S3 controllers with VID6606 stepper drivers, auto-addressed I2C bus and VID28-05 dual-shaft motors. KiCad 10.

    4 parts

Similar boards

  • 6 layers160 × 100 mmBuslab, the printed circuit board in 3D

    Buslab

    tombueng/hilprobe

    HILprobe: multi-function UUT probe for hardware-in-the-loop testing - RS-485, CAN FD, logic analyzer, 4-ch scope, two programmable UUT supplies. KiCad 10, 6 layers, RP2350B + ESP32-S3.

    429 parts
  • 4 layers60 × 120 mmTheoros, the printed circuit board in 3D

    Theoros

    Majorwhiskey/gps-lora

    Theoros is a USB-C GPS logger and LoRa tracker built on the ESP32-S3. It logs 1 Hz u-blox M10 fixes to microSD, shows status on an OLED and sends AES-128-CCM encrypted position over 868 MHz LoRa.

    88 partsCERN-OHL-P-2.0
  • 2 layersDisplay arm101, the printed circuit board in 3D

    Display arm101

    Gordon-coder/Robotic-Arm-Fallen-2026

    Robotic Arm project for Hack Club's Fallen Event 2026

    31 parts
  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 2 layers100 × 100 mmMach robot, the printed circuit board in 3D

    Mach robot

    vinhpham12/Quadruped_Robot

    178 parts
  • 4 layers184.1 × 197.7 mmHardfuzz v1 original, the printed circuit board in 3D

    Hardfuzz v1 original

    sat-wik/HardFuzz

    Runs on a Digilent Cmod A7 (Xilinx Artix-7) wired inline with a NUCLEO-F446RE as the device under test. Injector BOM ≈ $40.

    84 partsMIT
  • 6 layers86 × 74 mmHub standard rev2-candidate, the printed circuit board in 3D

    Hub standard rev2-candidate

    nathanfraske/CEC-Platform

    ONE board file, kept current by the wave (owner directive 2026-07-25: "the current best should be placed into a candidate folder per board and kept current with only one board ideally so we have a reference").

    115 partsApache-2.0
  • 4 layers45 × 45 mmFalcon fc, the printed circuit board in 3D

    Falcon fc

    yedidiaSch/FalconDrone

    [IN PROGRESS] High-performance flight controller for quadcopters, providing real-time stabilization and attitude control using FreeRTOS and C++ on STM32

    60 partsMIT