If your board doesn't come with CircuitPython running on it already then check out your board's guide for how to load CircuitPython firmware. For example the Feather M0 express guide is a good reference.
SSD1306-based OLED display. If you're using a Feather board the FeatherWing OLED is a perfect option.
Make sure to follow the board and OLED display product guides to assemble and verify they work before continuing.
There are two ways to wire the SSD1306 OLED to a board, either with an I2C or SPI connection. Some displays only support one connection type so be sure to read the product page and associated guide to understand how your display works.
For a Feather and FeatherWing OLED connecting them together is as easy as sliding the FeatherWing into the headers of the Feather. The wing will use an I2C connection to the board--nothing else is necessary to do. Skip to the next page on setting up the software!
For an OLED with an I2C interface you'll want to wire it to the board's I2C and power pins, and the reset pin, if it's available. For example with a Feather M0 the connections might look like:
- Board SCL / I2C clock to display SCL.
- Board SDA / I2C data to display SDA.
- Board digital #5 to display RST (reset). This can be any available digital pin.
- Board 3.3V power to display VIN / voltage input.
- Board GND / ground to display GND / ground.
For an OLED with a SPI interface you'll need to wire it to a few more pins on the board. For example with a Feather HUZZAH ESP8266 the connections might look like:
- Board SCK / SPI clock to display CLK / clock.
- Board MOSI / data out to display Data / data in.
- Board 3.3V power to display Vin / voltage input.
- Board ground to display ground.
- Board digital input 15 (or any other digital IO pin) to display DC / data/command.
- Board digital input 0 (or any other digital IO pin) to display Rst / reset.
- Board digital input 16 (or any other digital IO pin) to display CS / chip select.
Once your board is wired to the display continue on to learn how to use a CircuitPython module to control the display!