Last Updated or created 2024-05-30
Yesterday I got this nice led matrix I mentioned before.
I wanted to control this display using Circuit Python and a Raspberry Pico.
Pico Matrix
GP0 R1
GP1 G1
GP2 B1
GP3 R2
GP4 G2
GP5 B2
GP6 A
GP7 B
GP8 C
GP9 D
GP10 Clock
GP11 E
GP12 Latch
GP13 Output Enable
GND GND ( I did both )
I installed Circuit Python and the following libraries.
adafruit_imageload, adafruit_display_text.label (the rest was already in the uf2 firmware.)
(Check this link : https://circuitpython.org/board/raspberry_pi_pico/ )
I could not install the Wifi uf2 file, then I got a out of storage space when installing the adafruit libraries.
importing libaries and init display
import board, digitalio, busio, time, displayio, rgbmatrix, framebufferio import adafruit_imageload, terminalio, random import adafruit_display_text.label displayio.release_displays() matrix = rgbmatrix.RGBMatrix( width=64, bit_depth=2, height=64, rgb_pins=[board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5], addr_pins=[board.GP6, board.GP7, board.GP8, board.GP9, board.GP11], clock_pin=board.GP10, latch_pin=board.GP12, output_enable_pin=board.GP13) display = framebufferio.FramebufferDisplay(matrix)
I became interested in Conway’s “Game of Life”, in 1983. Reading a article in the Dutch Magazine Kijk.
The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
I found these on my server. Bad quality, I know. Scanned these many years ago.



The rules are:
- Any live cell with fewer than two live neighbours dies, as if by underpopulation.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any live cell with more than three live neighbours dies, as if by overpopulation.
- Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
When playing with the Basic code as a kid, I wanted to try if it was possible to make a 3D version of this.
I came up with the following rules:
- Birth : 4 alive neighbours needed
- Survive : 5 or 6 neighbours
- Dead : below 4 and over 6
I think there should be a BBC Acorn basic version I wrote somewhere.
Back to the display



Code for the glider gun
conway_data = [ b' + ', b' + + ', b' ++ ++ ++', b' + + ++ ++', b'++ + + ++ ', b'++ + + ++ + + ', b' + + + ', b' + + ', b' ++ ', ]
Next todo:
- Line functions
- Design a Chip tune hardware add-on
- Make a Game of Life start situation selector
- Make a new Maze game!
- …