Well all know cellular automata from Conway’s Game of Life which simulates cellular evolution using rules based on the state of all eight adjacent cells. [Gavin] has been having fun playing with elementary cellular automata in his spare time. Unlike Conway’s Game, elementary automata uses just the left and right neighbors of a cell to determine the next cell ahead in the row. Despite this comparative simplicity, some really complex patterns emerge, including a Turing-complete one.

[Gavin] started off doing the calculations by hand for fun. He made some nice worksheets for this. As we can easily imagine, doing the calculations by hand got boring fast. It wasn’t long before his thoughts turned to automating his cellular automata. So, he put together an automatic cellular automator. (We admit, we are having a bit of fun with this.)

This could have been a quick software project but half the fun is seeing the simulations on a purpose-built ecosystem. The files to build the device are hosted on Thingiverse. Like other cellular automata projects, it uses LED matrices to display the data. An Arduino acts as the brain and some really cool retro switches from the world’s most ridiculously organized electronics collection finish the look of the project.

To use, enter the starting condition with the switches at the bottom. The code on the Arduino then computes and displays the pattern on the matrix. Pretty cool and way faster than doing it by hand.


  1. You know what the world needs? Some version of this or Conway’s GoL hybridised with Tower Defense type gameplay. So you’re setting up your automata to fight off hordes of invading automata in real time strategy mode.

  2. Sort of like checkers, but all the pieces move, and you get to pick the initial placement of your side of the board?

  3. Kinda, but it’s a minimum thousand pixel a side checkerboard, and you can fire gliders.

  4. notarealemail

    It would make for an awesome coffee table.

  5. … if you made it heat sensitive, so hot coffee mug spawned new cells which went cascading off…

  6. notarealemail

    That is an awesome idea! I’m currently designing a table that has a refrigeration system so cold items stay cold and hot items hot.
    Thermistors and LEDs all over the place…
    It will be one of my first microcontrolled projects; will have an .io page when I get the dang thing somewhat working.

  7. Read Stephen Wolfram’s “A New Kind of Science”. He presents a very thorough investigation of all possible 3 cell rules. Plus many more complex rules. Great read if you’re in the right frame of mind.

  8. Dan#942164212

    If you really want to get deeply into the topic I suggest you look at the Work of Leon O. Chua,https://www2.eecs.berkeley.edu/Pubs/Faculty/chua.html

  9. notarealemail

    For anyone who wants to mess around with a sim:http://www.bitstorm.org/gameoflife/

  10. notarealemail

    A great version for Android; there are a few gliches with saving your own edits but it might just be device specific. Eats memory and battery life for dinner but that’s to be expected for gigantic grids.https://code.google.com/archive/p/droidlife/
    You can download it from F-Droid. I don’t know how to post a link for that.

  11. notarealemail

    There is a good one for Android on f-droid called DroidLife but the spam filter caught my link.

  12. chuckstephensarts

    Use a row of 8, 16 or 32 leds and create evolving beats. Off to the workbench…

  13. Dan#942164212

    “This could have been a quick software project” and given all the logic is on an Arduino that is exactly what it is, the rest is interface.
    You can do these type of automate with a latches, diode ROMs and shift registers. For a fixed rule machine the logic core is tiny and you could implement the entire thing in discrete transistors without the risk of going insane.
    Anyway if you want to play with the most evolved software tool in this area try Golly,

  14. Rodney McKay

    I like to use Microsoft Excel for projects like this. Too bad there will never be a version that will run on an Arduino-class machine…

Leave a Comment

Your email address will not be published. Required fields are marked *