Hey Alex, @alexpikkert
I’m always open to suggestions, but I want to stay within a simple philosophy for this device. Like all littleBits modules, it’s actions are easy to understand, and limited. First and foremost, this is an input module that knows the time, and can inject it into a littleBits circuit. But it also has some special features, because, … I mean you just HAVE to, right?
Right now it has these main features:
- keeps the time accurately to the exact second,
- outputs analog time through three bitSnap connectors, hours, minutes and seconds. Analog time can be used to drive an analog or digital clock, engage with a circuit that needs to know the time, activate alarms, etc. It can even keep track of the music using the synth kit.),
- displays the current time with either an optional or built-in digital display,
- keep track of how long it has been since it’s last setting, and resets automatically by contacting ‘ulf’ radio station WWVB. (The device can be configured to receive WWVB in Colorado, MSF in the UK, DCF77 in Germany, or two different frequencies of JJY in Japan. Right now, this would need to be set up at manufacture time, however a new chip and antenna from C-Max promises automatic transmitter switching. I have a CME 8000 chip in this device, but do not have the less than an inch long CMA-MF multi-frequency antenna… yet!) Here is a map of world-wide coverage:
- ‘clown barf’ display (flashing pink, yellow, green, blue and red super-bright LEDs) is a visualization of WWVB’s various states. ‘Clown barf’ is displayed while the time is being set by WWVB. ‘Clown barf’ can be turned off with a toggle switch. The switch ‘clicks’ satisfactorily,
- time can be set on demand by momentarily pressing the ‘set’ button. When this happens, the device contacts WWVB, and then sets the clock to the received time.
I’m working on manual setting, alarms, and timers:
- if the ‘set’ button is held down, the time can be set using three pots, representing hours, minutes and seconds. When the button is released, the time continues from the new setting. NOTE: within a day, the device will contact WWVB, and the time will be reset to the Real Time, unless WWBV receiver has been turned off,
- alarms are set by selecting ‘alarm’ on the ‘mode’ switch and setting the time as described above. When the switch is returned to ‘time’ mode, the clock returns to normal operation, but the alarm time is remembered. When the alarm time happens, the ‘clown barf’ comes on, and HIGH LOW HIGH LOW pulses are sent to all three analog outputs,
- timers can be set on any of the outputs. In ‘timer’ mode, the time is set, and then counts down to zero. When zero is reached, the alarm sequence happens - barf, and pulses on the selected output.
Some hardware features:
- the WWVB radio, Arduino microcontroller, and Chronodot RTC can be turned ‘off’ by putting it into a low power sleep mode. While sleeping the device consumes less then 25 microamps,
- a lithium battery keeps the system alive, but in sleep mode, when it disconnected from power. Nothing is displayed, but the time, alarm progress, and timers continue to run. Nothing happens when they reach completion while in sleep mode,
- The device is sized so that it connects with the arduino bit and the wireless transmitter. The foot spacing and underside clearance is such that it fits onto a mounting board.
- A 5 female pin header brings the sda, scl, ground, +5v, and +3.3v out for connection to a user device. This can also be used to time-sync computers, TVs, and other digital equipment. I’d like to make this a better connector, but what is close and standard?
That’s my current (and near-term) feature list. What else does it need?