The main difference between the driver we will use here, and the driver we used on the Pico is:
The Pico we used SPI bus 1
spi = SPI(1, sck=Pin(10), mosi=Pin(11)) oled = SSD1306_SPI(128, 64, spi, dc=Pin(8), res=Pin(9), cs=Pin(12))
The Pico we used a different set of GPIO pins, so these references have to change on the Zero.
spi = SPI(0, sck=Pin(2), mosi=Pin(3)) oled = SSD1306_SPI(128, 64, spi, dc=Pin(6), res=Pin(7), cs=Pin(5))
On the Zero, the SPI bus 1 pins are not exposed, so it cannot be used.
The wiring for the Zero is exactly the same as for the Pico, unfortunately there are two slight differences.
See the wiring below:
Once you have wired up your LCD, we can move on to the software.
You can download the driver here: ssd_1306_zero.zip you have to upload the driver to the \lib folder.
I am not going to talk about the driver because there isn't anything in there we need to change.
All this test code does is to print 8 lines of text with sequential numbers after them, the numbers keep incrementing one at a time. The test code is designed to ensure the LCD is working fine, not to provide any real functionality, that will be up to you once you get your LCD working.