Using 0.96" OLED Display with Arduino

Achindra Bhatnagar
Achindra
Published in
1 min readApr 22, 2018
dis2905

I recently bough this tiny OLED display for my project from RhydoLabz. Board has a 6 pin interface. I initially confused the interface with an I2C interface and tried a lot of options which didn’t work.

I checked RhydoLabz website which said it is 4-wire SPI ready and needs to be tweaked for I2C interfacing. That confused me more since I am used to MOSI/MISO/SCK naming and those were not here.

I checked the data sheet to find that pin marked SCL is D0 and SDA is D1, while CS is grounded and hence not available.

The following configuration worked for me with SSD1306_128x64_spi example

Using Software SPI#define OLED_MOSI      9  // SDA
#define OLED_CLK 10 // SCL
#define OLED_DC 11 // DC
#define OLED_CS 12 // Ignore, it is already grounded
#define OLED_RESET 13 // RES
and the following for H/w SPI
Using Hardware SPI#define OLED_MOSI 11 // SDA
#define OLED_CLK 13 // SCL
#define OLED_DC 6 // DC
#define OLED_CS 7 // Don't use this pin, used by code
#define OLED_RESET 8 // RES

You still need the same Adafruit_SSD1306 and Adafruit_GFX libraries. And, if you are using 128x64 display, don't forget to uncomment

#define SSD1306_128_64 in Adafruit_SSD1306.h

--

--