Products / Open Clock
A fully open, configurable clock. Choose the accuracy source, the display panel, and the power supply. Every combination is documented, and every unit is built to your specification.
The Problem
A clock is the one device you cannot configure.
Accuracy is fixed at the factory. The face is fixed. The power source is fixed. You take what you are given, and when any part fails, the whole object is landfill.
Precise timekeeping already exists in GPS, atomic references, and network sync, but it stays locked inside lab equipment and datacenters. A clock on the wall never gets to use it.
The Approach
One core, disciplined by any source, serving time to everything else.
Open Clock separates timekeeping from everything around it. A common core holds and disciplines time. You choose what feeds it, what displays it, and what powers it. Want sub-microsecond PTP driving a set of analog hands running on solar? That is a configuration, not a custom build.
The same core turns around and serves that time back to your network over NTP and PTP, so one accurate clock keeps every device around it honest. And it reports its own accuracy, down to the millisecond and its last sync, so you always know how right it is.
Architecture
Time Source
The reference the clock disciplines to.
Timekeeping Core
Holds time, and serves it back out.
Display Panel
The face you read. Driven by the core.
Power
Whatever keeps it running.
Configuration
Accuracy
Display Panel
Power Source
Enclosure & Form
Sound & Sensing
Network & Extras
Software
You don't program the clock. You talk to it.
The source, face, and power are chosen when you order the hardware. The SDK is for the running unit: connect to any Open Clock on your network and read the disciplined time straight from the core. Python, Rust, and C.
Ask how accurate it is at any moment, and turn its NTP and PTP server on or off. The face on the wall and the time on your network come from the same source.
import openclock # connect to a clock on your network clock = openclock.connect("clock.local") # read the disciplined time and its source print(clock.now()) # 2026-07-13T03:15:08.002Z print(clock.source) # "gps" # how right is it, right now? acc = clock.accuracy() print(acc.offset, acc.locked) # ±2 ms, True # let it serve time to the network clock.serve(ntp=True, ptp=True)
Roadmap
Phase 1
The timekeeping core with a digital display, running on battery or AC. NTP over Wi-Fi as the first reference.
In DevelopmentPhase 2
The core serves NTP and PTP back to your network and reports its own accuracy. One clock keeps every device around it honest.
PlannedPhase 3
GPS receiver and PTP network modules. The core learns to discipline against a satellite fix and a grandmaster clock.
PlannedPhase 4
Stepper hands, nixie tubes, split-flap, and rolling-drum displays, all slaved to the same core and disciplined as tightly as the digital face.
PlannedPhase 5
Solar and Power-over-Ethernet modules. The clock runs where there is light or a single cable, with no separate supply.
PlannedPhase 6
Brass, aluminum, and walnut bodies in desk, wall, and rack-mount forms. The same clock, sized for a shelf or a server room.
PlannedPhase 7
Chime and strike on the second, ambient auto-dimming, and temperature and humidity readouts on the aux panel.
ResearchPhase 8
An oven-controlled and rubidium reference option, disciplined by GPS, for accuracy that survives losing every network.
ResearchPhase 9
Publish the full connector specification so any face, source, or supply can be built by anyone. The clock becomes a standard.
ResearchGet Involved
We are in active design. Follow the build log, contribute to the specification, or propose a face, source, power, or enclosure module.