Skip to the content
2 layers42.3 × 28 mmAnalclock v2, the printed circuit board in 3D

A watch that tells time using an analog voltmeter needle driven by a DAC. No screen. No hands. Just vibes and a carefully calibrated lookup table.

Size
42.3 × 28 mm
Copper layers
2
Thickness
1.6 mm
Parts
51
Nets
61
Pads
225
Tracks, vias
394, 62
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
23 May 2026
Updated
23 May 2026

Overview

Analclock v2 is an open-source printed circuit board by sahko123, from the sahko123/Analog-Watch repository on GitHub. It is a 2-layer board of 42.3 × 28 mm with 51 parts on 61 nets, routed with 394 tracks and 62 vias.

It is built around the RP2040 and W25Q32JVSSIQ. Its parts include 15 capacitors, 9 resistors, 7 ICs, 4 switches and 1 connector. It belongs with the RP2040 boards of this library.

Main components

2

README

README.md

Analog Watch

A watch that tells time using an analog voltmeter needle driven by a DAC. No screen. No hands. Just vibes and a carefully calibrated lookup table.

Featured in: I Built a Digital Watch With No Screen (YOUTUBE LINK)


What is this?

It's a watch. Technically. A Raspberry Pi Pico reads the time and drives an MCP4726 DAC, which pushes a voltage to a panel meter whose needle sweeps to represent whatever time-related concept you've most recently asked it about.

By default it shows seconds. Because why would you want to know the hours.


How to read the time

Press a button.

ButtonSingle PressDouble Click
TopHoursDate
MidMonthSeconds
LowDay of week—

The needle will swing to the correct position. Stare at it. Contemplate what you've built.


Repo contents

PathWhat's in it
ANALCLOCK_REV0_5.inoArduino sketch (RP2040)
analclock v1/KiCad PCB project — main board revisions 1 & 2
analclock v1/analog_dial/KiCad PCB project — the meter dial board
analclock v1/gerberv1/Gerber files for the main board
analclock v1/analog_dial/analogdial1gerbers/Gerber files for the dial board
*.svg / *.dxfWatch face artwork
*.step / *.stl / *.f3d3D printed parts

Calibration

The meter needle is non-linear, so the firmware uses a cubic polynomial LUT to correct for this. You can tune it over serial:

text
dac <value>      — hold needle at a fixed DAC value
max <value>      — set full-scale and rebuild the LUT
set <idx> <val>  — manually poke a LUT entry
lut              — print current LUT
tz <offset>      — set UTC offset in hours
<unix timestamp> — set the time

Parts

51
QtyValueFootprintReferences
11CCapacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolderC3, C4, C5, C6, C7, C10, C11, C12, C13, C14, C15
6~TestPoint:TestPoint_Pad_D1.0mmE6, E7, E8, E9, E10, E11
3SW_PushCustom:EVQP7ASW1, SW3, SW4
3~Package_TO_SOT_SMD:TSOT-23-5U4, U5, U6
215pFCapacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolderC1, C2
227Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2
236kResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR7, R9
2CCapacitor_SMD:C_0402_1005MetricC8, C9
2RResistor_SMD:R_0603_1608MetricR4, R5
2~Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR6, R8
1B+TestPoint:TestPoint_Pad_2.0x2.0mmE1
1B-TestPoint:TestPoint_Pad_2.0x2.0mmE2
1C+TestPoint:TestPoint_Pad_2.0x2.0mmE3
1Crystal_GND24PCM_Crystal_Handsoldering_AKL:Crystal_SMD_Abracon_ABM8G-4Pin_3.2x2.5mmY2
1MCP4726Package_TO_SOT_SMD:SOT-23-6U2
1PROGResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU1
1SW_PushCustom:PTS636SW2
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_GCT_USB4085J1
1V+TestPoint:TestPoint_Pad_2.0x2.0mmE4
1V-TestPoint:TestPoint_Pad_2.0x2.0mmE5
1W25Q32JVSSCustom:uson8U7
1~Custom:BMM350U3

The 48 most common of 51 parts.

More from sahko123/Analog-Watch

1
  • 2 layers42.4 × 30.4 mmAnalclock v1, the printed circuit board in 3D

    Analclock v1

    sahko123/Analog-Watch

    A watch that tells time using an analog voltmeter needle driven by a DAC. No screen. No hands. Just vibes and a carefully calibrated lookup table.

    45 parts7

Similar boards

  • 2 layers78 × 60 mmIce viz, the printed circuit board in 3D

    Ice viz

    muni-works/vcad

    BRep CAD kernel in Rust/WASM

    44 parts442Apache-2.0
  • 4 layers22.9 × 61 mmPico ice, the printed circuit board in 3D

    Pico ice

    tinyvision-ai-inc/pico-ice

    Raspberry Pi PICO board + Lattice iCE40 FPGA's

    109 parts203MIT
  • 4 layers59.8 × 41.1 mmSmartPowerBoard, the printed circuit board in 3D

    SmartPowerBoard

    murexrobotics/electrical

    Highly integrated electronics design and printed circuit boards (PCBs) for the MATE ROV Competition. Attempt the impossible.

    117 parts192MIT
  • 2 layers30 × 16 mmBlaustahl, the printed circuit board in 3D

    Blaustahl

    machdyne/blaustahl

    Blaustahl Storage Device

    38 parts134
  • 2 layers120 × 60 mmOverglade Badges, the printed circuit board in 3D

    Overglade Badges

    KaiPereira/Overglade-Badges

    NFC hackathon badges for the Overglade game jam in Singapore!

    69 parts126
  • 2 layers76.2 × 69.9 mmStartrckr pcb, the printed circuit board in 3D

    Startrckr pcb

    NikodemBartnik/StarTrckr

    Open source star tracker for deep sky astrophotography

    59 parts98
  • 4 layers65 × 100 mmAudcalc, the printed circuit board in 3D

    Audcalc

    jonbro/Audcalc

    pocket sized groovebox

    218 parts62MIT
  • 4 layers102.6 × 107.3 mmPro rev1, the printed circuit board in 3D

    Pro rev1

    TheRetroWeb/PicoPOST

    RPi Pico based POST (Power-On Self Test) Diagnostic Card

    136 parts58

Questions

How big is the Analclock v2 PCB?

It measures 42.3 × 28 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Analclock v2 use?

51 parts, built around the RP2040 and W25Q32JVSSIQ. 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 Analclock v2 KiCad files?

From the sahko123/Analog-Watch repository on GitHub, at the commit this page was made from: the board is analclock v1/analclock v2.kicad_pcb and its schematic analclock v1/analclock v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Analclock v2 design in my own project?

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