Go Down

Topic: Getting an 0.96in 128x64 OLED to work  (Read 156 times) previous topic - next topic


Mar 18, 2017, 09:19 am Last Edit: Mar 18, 2017, 10:13 am by electrophile
I had bought these a while ago and just got around to experimenting with them. I've hooked it up as shown in the attached schematic and when I turn on power, I don't see anything on the screen. Using a 5V, 16Mhz Arduino Pro Mini as the MCU board that is being programmed using a FTDI basic 5V. Using Adafruit's GFX and SD1306 libraries. Following the wiring guide shown here. What am I missing?

Edit: attached photos of the actual module that I have. It seems the original site has a different one now without the CS pin.


Mar 18, 2017, 10:43 am Last Edit: Mar 18, 2017, 10:49 am by david_prentice
I have exactly the same OLED.   It came as an SPI device.   It worked 100% as SPI.   However,  I wanted to test I2C operation.   So I configured it for I2C and I2C works 100% too.

I am gobsmacked by your wiring and even more gobsmacked by the tutorial.
I would expect to use the hardware SPI pins.

Your "unusual" choice of pins will work fine with bit-bashed SPI.
It just means that you have to use the full-fat constructor.   i.e. which specifies every pin including the RES pin.


Edit.  Just looked.  The example defaults to bit-bashed SPI with the "unusual" wiring.  So it should work straight out of the box.


Mar 20, 2017, 03:03 am Last Edit: Mar 20, 2017, 03:12 am by electrophile
Thanks David. Except it doesn't work at all :( Can you share your wiring diagram for both SPI and I2C? Also what changes did you make for I2C? Did you power it through 3.3V or 5V?


The SSD1306 is a 3.3V device.   I always use 3.3V logic with a 3.3V device.

Having said that,   many people are determined to use 5V logic and I presume that it will work for them.

Your tutorials and examples give you a wiring scheme.   I suggest that you follow their advice.   
Test all your Chinese jumper wires.    How many are broken?
Double check your wiring with the tutorials.
Post a clear photo for other eyes to check the wiring.



Not sure if you're checked this, but I had the same problem of no display and it plagued me for days. In the .h code, there are a series of commented out lines related to the size of the screen. It turned out that the 128 x 64 screen size line was commented out // and the default was uncommented. Simple uncommenting the 128 x 64 and commenting out the other and presto, it worked. Maybe this is what's wrong. Wish you the best.

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