Step 1
As I was going to test multiple architectures, the first question was which to start. As I had an Arduino UNO in my drawer, it felt like the natural choice. After some deliberation over potential screens, I matched it with the SSD1306 OLED Display
Step 2
Next, I went through the process of making the connections. I had to double check which pins would work out to receive and give out that and a quick double check with ChatGPT ahd me all set up.
Step 3
Finally, I ran a simple test to see if the setup was correct (before delving into GoL). This code is trying to make the display blink. I receive a couple of errors, as I had not install the required libraries, but, after I did, it worked as expected.
Step 4
Now I had to build up my Conway's Game of Life Simulation. I had already build up this type of simulations before, so I have to replicate the structure. Set up the size of my grid, an initial state, the function that calculates each state based on rules, and the loop that updates the actual screen. Online you can find tons of info on Conway's Game of Life.
Step 5
Yet, when it came to running the code, I always had some sort of error. I tried debbuging a couple ways, like adding print statements, using dedicated debbuging tools, and chating with ChatGPT. Nothing seemed to work at first.
Step 6
Finally, I ran a test with less cells in my grid, simplifying the calculations of the processor. This worked out perfectly! The original test values were GRID-WIDTH: 16, GRID-HEIGHT: 8, and CELL-SIZE: 8. The fix was GRID-WIDTH: 8, GRID-HEIGHT: 8, and CELL-SIZE: 16