It always seems like clocks around the house have the wrong time. Usually they’re just off by a couple of minutes. So-called “atomic clocks” (which use a radio signal) often have trouble picking up that signal. GPS-based clocks frequently need unobstructed access to the sky. For this reason, I set out on building the world’s first desktop clock based on the NTP protocol (well okay, it’s probably not the world’s first, somebody has probably done it before).
For the microcontroller I chose the Parallax Propeller, since it seemed like an interesting design. The propeller, or “prop”, includes multiple CPU “cogs” that function in parallel eight of them. This meant that I could dedicate a cog to display refresh, dedicate another cog to keeping the time, another to performing the NTP protocol, etc.
The ethernet controller uses the ENC28J60 ethernet controller chip. There’s also something called a Mag-Jack that has the inductors/transformers/etc that are used for the ethernet specification.
I used a 74HCT138 3-to-8 decoder to sink the columns of the display and source the digit segments from the prop itself. A dallas 1302 real-time clock chip was used to keep time between NTP updates.
I designed the board layout using the popular “Eagle” schematic program. Eagle is great although the freeware version puts a pretty tight limit on board space, which made me cram components in pretty tightly, leaving room for only fairly small LED digits. Eagle has an autorouter which is quite nice and was able to autoroute all of the traces on the board directly from my schematic with little user intervention. I had the boards produced by a show called “AP Circuits” in Canada, which offered good prices and a quick turnaround.
Below is a picture of the completed clock.