Conway's Game of Life for your Bookshelf


Inspired by BlinkenArea I decided to build my own little blinking object. Why would one build such a thing, you might ask. Well, I don't know. Nevertheless I created one and I call it Blinkomat.

I use an Atmega16 Microcontroller by Atmel running at 16MHz for controlling the LEDs. It has 16KB of Flash memory, 1KB of SRAM and 512 Bytes of EEPROM. Because it has 32 I/O lines I chose 12 and 20 as dimensions for the LED matrix. Hence it has 12 rows and 20 columns making 240 LEDs alltogether which I can drive directly through the 32 I/O lines. Unfortunately there is no I/O line left for input.

The LEDs are switched on and off line by line using time multiplexing. This is done via a timer interrupt. Every time the interrupt occures, I switch to the next line of LEDs. Furthermore sixteen "greytones" are possible for each LED by driving them using pulse width modulation (PWM).

The microcontroller is programmed in AVR-C.

What it can do so far

  • Simulation of cellular automata: Conway's Game of Life and Margolus
  • Some graphical effects like moving sinewave pattern and a little starfield simulation
  • Scrolling text using parts of the PETSCII charset

A few videos showing Blinkomat in action:

Source / Download

Sources and Atmega16 binary:


Controller Board

LED Module