From Trammell Hudson's Projects



I've converted the SolderTime Desk Clock to use a SparkCore in place of the ATMega328. This gives it network time sync and the ability to set the alarm via WiFi. Still a work in progress, but mostly functional: github/osresearch/sparktime.


SparkTime:DeskClock wiring

The wiring is ledmatrix.ino and maps the ARM gpio pin to AVR pins as:

#define	ROW0	A6	// gpio b0, pin 14
#define	ROW1	A7	// gpio b1, pin 15
#define	ROW2	D4	// gpio b3, pin 16
#define	ROW3	D3	// gpio b4, pin 17
#define	ROW4	D2	// gpio b5, pin 18
#define	ROW5	D1	// gpio b6, pin 19
#define	ROW6	D0	// gpio b7, pin 9

#define COL0	D7	// gpio a13, pin 6
#define COL1	D6	// gpio a14, pin 11
#define COL2	D5	// gpio a15, pin 12

#define SEL0	A0	// gpio a0, pin 25
#define SEL1	A1	// gpio a1, pin 26
Clipped R6 10k resistor

The two buttons and piezo are connected to A4 and A5. Note that there is a pullup resistor on the SolderTime board that must be removed since the analog pins on the SparkCore are not 5V tolerant (and all of the digital pins are consumed by the LED matrix driver).

#define BUTTON0 A4 // pin 5, also piezo buzzer
#define BUTTON1 A5 // pin 4, must remove pullup R6!


SparkTime:DeskClock adapter

I mounted it all on an Adafruit Permaprotoboard; it would also be a fairly simple PCB to design in Eagle if anyone else is interested. The RTC is not necessary since the SparkCore gets its time from the network.