I’m making the Atomic Clock bit:
Of course, there is not a cesium fountain oscillator in there. But here are some of the attributes of this Atomic Clock bit does have:
WWVB* An ultra low frequency radio connection to a pair of cesium atomic clocks in the Rocky Mountains. The dark gray cylinder with the copper coil is an antenna that picks up WWVB, and decodes the current time. This radio signal is used to set the clock on the bit.
Chronodot (a round CS3231 breakout board) Real Time Clock IC. It keeps track of the hour, minute, and second ( as well as day, week, month, year, and some other stuff.) It’s got an internal, temperature and age correcting, oscillator, so it is very accurate - about one minute per year if uncorrected.
Battery backup. The battery should last at least 8 years according to Adafruit. This bit keeps time in it’s sleep even when it’s not in a circuit. The combination of the WWVB connection. the CS3231mean this device will always be accurate to within a second.
Other features are analog outputs with 8 bit precision** on 3 separate bitSnap connectors. The spacing of the output connectors aligns to the arduino and wireless bits, to facillitate inserting this device into various circuits.
If the clock cannot be set by the radio, then it will try to connect to a time source through the micro usb connector. If it cannot do that then the hours, minutes and seconds can be set by hand.
When the alarm goes off, five, extremely bright (transistorized!) LEDs flash in a clown barf style until switched off. The LEDs can also be used to monitor the WWVB signal.
Here is the schematic:
The front of the bit:
And a short movie showing a prototype translating the radio signal into minutes and seconds (I only have 2 numbers, but plan on getting a third once I have this running smoothly†. Then I can do some more clock projects - I’m fascinated by time.
.* WWVB is located at a high altitude in the western United States. At night it covers nearly all of North America, Central America, The north coastal areas of South America, a bit of the western coast of Africa, and much of the Pacific and Atlantic oceans. Here is a map of the coverage, animated by time of day (it goes furthest in the wee hours of the morning.)
Similar transmitters are located in the UK, central Europe, and Japan. This bit can be reprogrammed through the usb connection, and the radio antenna can be changed to work with any of the other ULF time signal transmitters. Antenna and receiver chips can be bought from C-Max. (But mine came out of a clock I bought at Target.)
** 8 bit accuracy for a 5 volt littleBits signal gives a resolution of 0 to 255. Time measurements however, are 0 to 24 and 0 to 60. By using 96% of the 8 bit range, the time is represented by 0 to 240, and the conversion math is made MUCH easier. The hours signal has a resolution of a tenth of an hour (in fact it is exactly the same as my earlier Time of Day bit) Minutes have 15 second precision, and seconds could be read down to a quarter second.
† I have various parts of the software running - the radio reads WWVB, and the rtc reports the time. However, this is the most complex bit I have made - the WWVB code and the Chronodot code are not quite compatible - I am currently working on connecting them. There are a number of helpful discussions about this subject at the Arduino forum.
Here is the video of the radio signal running number bits for hours and seconds before I soldered it together:
Any and all discussion is welcome, and appreciated!