Arduino running Game of Life?

anybody have any thoughts/experiences trying to use arduino to run the game of life on a big LED array?

im very interested...

Funny, I had thought of the same thing a few weeks back. It occurred to me that there are some challenges:

  • How to drive lots of LEDs independently... would require external shift register support circuitry, and probably data buffers to latch the current state of each LED while new bits were being shifted into place.

  • Memory consumption: each LED would require 2 bits of SRAM: you would need one array of bits for the current state of all LEDs, and another array for the next frame being calculated. Given the less than 1K of SRAM you have in Atmega8, that leaves at best 500 bits per frame. If you wanted a square array, that work work out to a grid of 22x22 LEDs, for a total of 484.

  • You would need some way of editing the original image, telling the processor to start updating, pause, etc. I guess you could start out with a serial port interface, just sending character commands to the board. Later, you would want to add buttons for start, stop, edit, move "cursor" around and edit (cursor could be a blinking LED, indicating which pixel will be toggled).

  • It would be interesting to consider tiling multiple Arduino boards together to patch together multiple 22x22 grids of LEDs. This would require interfacing the boards so that the edges of each 22x22 grid can be accessed by another Arduino board. You would have to synchronize each board to wait for others to be done calculating a frame before proceeding. This would be quite a challenge!

Another possibility might be to figure out how to use external RAM chips to allow a single Arduino board to remember (and therefore control) even more LEDs. This should be possible in theory.

Hope this helps spark some ideas!

  • Don

yowza.

ill get back to you in a few years!

thanks :slight_smile:
ct!

Dropout Design uses an AtMega48 for their 4x4 Game of Life board. Must be possible on Arduino

remember you also have 512bytes of eeprom.... not super fast but still useable

although not cheap you can use max7219 chips to drive lots of leds...

here you can see a matrix i've made with 48 led blocks (but could be expanded)

end result

i've built an API that lets me draw and write text
it's not difficult

m

Leah Buechley has done some awesome work with werable displays. Her LED shirt plays the game of life though it uses the AVRmega16. It's got a pretty good write up though, perhaps it will help
http://www.cs.colorado.edu/~buechley/diy/diy_tank.html

remember you also have 512bytes of eeprom.... not super fast but still useable

although not cheap you can use max7219 chips to drive lots of leds...

here you can see a matrix i've made with 48 led blocks (but could be expanded)

end result

i've built an API that lets me draw and write text
it's not difficult

m

I have to ask where you got those beautiful white matrix.