Go Down

Topic: OLED problems (Read 2246 times) previous topic - next topic


Yeah that may be the best option. There just doesn't seem to be any support for this thing.  Well thanks for all the help anyway guys.


Yeah but I don't have any MOSI/MISO, CS, or SCK pins. So how do I adapt for that?

Code: [Select]
U8GLIB_SSD1306_128X64(sck, mosi, cs, a0, reset)
sck = SCL = SCK
mosi =  SDA
cs = solder pad on the back side
a0 = D/C
reset = reset line



Thanks again Oliver.  I downloaded the library but I'm not finding the constructor that you're referring to.  Here's the ones I see for my display (They're from the Hello World example):

Code: [Select]
//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI

I uncommented the top one, wired it as you suggested, and put RESET to Vcc.  Still nothing though.  Did I download the right library?  It was the U8glib for Arduino V 1.15.


Alright. I got it working.  First off, it is definitely in SPI mode, not IIC as it was advertised.  So I used the 128x64 SPI library from the original SSD1306 Adafruit library I posted (initial post).  I had to solder a jumper to the CS pad on the back of the display too.  Once I did all that it sparked up perfectly. Thanks for all your help though guys.  This forum is awesome.


I was able to get this style Heltec OLED working with I2C after struggling with it for a few hours.

I found that the OLED was physically configured as Jools suspected, in 4-wire SPI mode. The BS0, BS1, & BS2 Pins on the OLED were all connected to ground. BS1 has to be tied high to be in I2C mode.

I also found that D2 was shorted to ground as well. The OLED datasheet mentions that D1 and D2 must be tied together to form the SDA line when in I2C mode.

I made these modifications and boy it wasn't pretty. Let's just say a tiny box cutting knife was involved and some edge-of-your-seat soldering to the ribbon breakout.

Finally, I tied the D/C pin to ground, used 1Kohm pullups to VCC from SDA & SCL, used the 0x3C address in code and was then able to talk to the OLED via I2C.

I don't recommend trying what I did, look for the I2C version on the interwebs instead.


Sorry for being absent for some time. But glad to see that you solved your problems.



Feb 12, 2015, 01:55 am Last Edit: Feb 12, 2015, 01:59 am by scrumfled
The front picture *really* looks like SPI.

SDA=serial data=mosi
SCL=serial clock=sck
RST=reset, try tying this to the arduino reset pin
CS=chip select/slave select (SS)

Try wiring for SPI and using the adafruit libraries you have already.

edit. just seen page 2... i posted waaaay too late :)

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131