Cellular automata on a pico…


Cells are colour-coded according to their age. Button A resets, B clears the screen, X adds a randomly-placed glider (this happens randomly without pressing anything). Y toggles screen brightness.



Uses the Rasbperry Pi pico with the Pimoroni pico-display-2


Requires the pico C/C++ SDK and the pimoroni-pico libraries.

  1. ensure PICO_SDK_PATH is set correctly (relative to the build dir) in your environment, e.g. export PICO_SDK_PATH=../../pico-sdk-1.3.0

  2. (fork,) clone and build pimoroni-pico

  3. symlink pimoroni-pico in the root of this project.

  4. build the image with mkdir build && cd build && cmake .. && make -j

  5. copy image to device

  6. back of the net!


The algorithm itself can be tested/debugged on the host machine using the test harness, e.g.:

 g++ -g -O0 --std=c++17 src/test_conway.cpp src/conway.cpp -o test


View Github