Close
0%
0%

Conway's Game of Life on a LED Cube

Conway's Game of Life on a LED Cube with 16x16 LED on each side

Similar projects worth following
Conway's Game of Life was one of the first programs I programmed on my CPC (in Amstrad Basic). Now I built a Cube with LED, controlled by an Arduino, to play that Game of Life. Short summary: * Controller: Arduino Uno * 24 MAX7219 matrix controller * 1536 LED 0805, red * custom PCB

Why this project?

  1. Conway's Game of life would be a nice blinky blinky :-)
  2. Just a plane LED panel? Boring
  3. Infinite area would be nice, ideally a globe but.... that would be the next step (how do I place cells on a globe evenly, ideally with each cell 8 neighbours?)
  4. So a cube.

The plan:

  • Should run with a Arduino Uno/Nano
  • 16x16 LED on each side of the cube

The "final" implementation:

  • (Is it really final?)
  • Arduino Uno
  • 24 LED Panles with
    • MAX7219
    • 64 red 0805 LED
  • Custom PCB
  • 3D printed support
  • 7219 library with SPI

  • Support Structure

    Christian6 days ago 0 comments

    The PCBs have to be hold in place by.... something in the cube, and the cube should stand on something.

    1st attempt: fail.

    3 to 4 sides were okay. after that it was simply not possible to wire everything "inside".

    Next attempt: worked! The sides have matching holes and pins on each side. and one cross in the middle holding everthing in place. It also hold the whole cube.

  • Custom PCBs

    Christian07/04/2025 at 08:21 0 comments

    The available LED matrices are quite high, so the edges of the cube would be... just no, so new PCBs have to be devloped with minimal gap at the edges.

    [placeholder: picture of LED Matrix at 90°]

    The circuit is quite simple (so I should have read the manual a litte bit better - see pic below).

    At first I thought of doing through hole LEDs, but solder 1536 LED? And wher to put the MAX7219? So decision: all SMD.

    I ordered the PCSs and stencils at PCBWay and build all boards, took some time ;-)

    What I learned while building the PBC:

    • A hotplate is needed, so I bought a hotplate soldering station (yes you could do without, but this way it easier)
    • A hot air soldering station is needed, so I bought a hot air soldering station (yes you could do without, but this way it easier)
    • I need magnifying glasses for placing the components :-D
    • Adjusting the air flow of your hot air station is essential (or your 0805 get blown away)
    • It is fun to see, how the components slide into place when the soldering paste gets liquid.

    Below a picture of finishing of one PCB: adding the connectors.

  • MAX7219 wiring and LED coordinates

    Christian07/04/2025 at 06:33 0 comments

    • a Cube has 6 sides (I call it panels in the code)
    • each side has 4 MAX7219 modules 
    • how do I get from CubeCoordinates (side, x, y) to the actual ModuleAddress (module address, column, row)

    The MAX7219 are wired as shown here:

    I printed a very simple support to connect the 4 modules for one side.

    The origin for each side is on the lower left. On each side the coordinates are x and y. 

    Offset is the number of the side number (0..5) * 4. So from the CubeCoordinates to ModuleCoordinates all is clear :-)

    But for Conway's Game of Life, the neighbours have to be counted. And the neighbour could be on another side. But that has to be done in another step, as this involves how the cube ia actually build and how the sides are connected to each other. For now each side is on its own.

  • First tests and new library

    Christian06/11/2025 at 14:15 0 comments

    To see, if my idea work in principle, I build it all using MAX7219 modules from AZ delivery.

    Here a picture of the final test setup:

    The test showed:

    • My Idea in general is working :-D 
    • The library that i found available on github was not sufficient.
      • It used bitbanging for the communication
      • It was only able to handle up to 8 MAX721

View all 4 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates