A consistent sense of time is something we take for granted in a modern society, but few people consider exactly how we agree on what the time is. It's fairly important to computers of all sizes since we interact with them in ways loaded with context about the current time.

The way most devices discover and maintain their current time is using the Network Time Protocol (NTP). Most common is to consult a number of time servers we consider to be correct over the Internet.

There are other sources of an accurate sense of time. One of them is the Global Positioning System (GPS), which uses accurate timekeeping as the basis of navigation.

This project is to implement a working GPS-sourced NTP server, commonly referred to as a "Stratum-1" server.

Current Build

Version 1.5 has some build issues, and there will be a 1.6. Power supply testing in 1.5 was successful however.

Version 1.4 is has completed hardware testing. Most hardware has passed, however the Ethernet front-end appears to be incorrectly implemented. This results in rare random RX failures. All existing drivers have now been ported to the new board rev.

Version 1.3 is now deprecated and should not be used as a basis for anyone else's designs.


Binary firmware images

There are currently no released binary firmware images for the board. You will need to build from the source code below.

Source code

The source code for the firmware is hosted at Google Code:



Documentation of both the design intentions and the current build are below.

Schematics and PCB Layout

The schematics and PCB layout for version 1.5 are below:

The schematics and PCB layout for version 1.4 are below:

The schematics and PCB layout for (deprecated) version 1.3 are below:


The schematics and PCB artwork are released under Creative Commons BY-SA.

Code running on the microcontroller is released under the GNU General Public License version 2.