About

Closeup of PCB 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.

PCB in eagle

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.

LED multiplexing

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

Lit LEDs

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)