During an ASAP ACAS laboratory tutorial class we were tasked to assemble and program a Simon Says 10935 Kit.
It had an ATmega328 microcontroller which can be programmed using Arduino sketch.
It was a bit challenging to find the original firmware code. I eventually found it in the github repository and the code is the one that references: BOARD_REV_4_9_2009 in the hardware.h file. which applies to the Simon board 9/7/11. This date is embossed on the board.
For interfacing there is an FTDI USB interface. For programming, the microcontroller, the Arduino sketch uses C. On the PC side, I was able to use a couple of programming tools on WinXP:
– cygwin gcc – uses windows.h
– python – use pyserial
We were able to get the Simon Says kit to play a couple of great tunes like Brother John, London Bridge and Twinkle Twinkle Little Star. Monotone playback was available via toner() function calls and the available buzzer hardware.
We were also able to use the Simon Says kit as a light monitor at the optical diagnostics beamline of the Australian Synchrotron. The kit takes analog reads at port 0.
We also tried to use the kit as a random number generator but all the Diehard tests failed on the 5 million+ bytes dataset that we gathered. Using cygwin gcc on the PC side, I got a production rate of 1 million bytes per 4:30 hours.
On this board, the buzzer is wired as follows:
#define BUZZER1 3 //PORTD.3
#define BUZZER2 4 //PORTD.4