About
While deploying a fab lab in Moscow, I designed and built a Simon game from parts in the standard fab lab inventory.
Demo
Implementation
The PCB is a two-layer board with four RGB leds and four buttons. An ATtiny44 controls the system. MOSFETs are used to source and sink current to each of the LEDs.
The LEDs are multiplexed. The system has a refresh rate of 490Hz, with four-bit color for each LED. This is implemented with timer interrupts, so it all runs in the background of the main application.
The system is powered by the 5V line of an FTDI cable; a battery adapter could also be used to make the system more portable.
Code
Right now, the PCB is running code to play a variation of Simon. LEDs blink in a random order; the user has to press the appropriate buttons to replicate the pattern.
The sequence is randomly generated, using a seed from a floating ADC pin.
Downloads
Case (svg file, 4KB)
PCB (zipped Eagle 6 files, 94 KB)
Firmware (zip file, 16 KB)