Skip to content

SparkTime

SparkTime

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.com/osresearch/sparktime.

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

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!

Status

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.

2015 Clocks SparkCore


Last update: November 8, 2020