128x128 RGB oled display.

Hello i bought the 128x128 RGB oled display without the breakout board on it. I was wondering if someone can please help me out to figure out how to wire this up i haven’t gotten it yet. It is in the mail on the way i know i should of bought the one with breakout board but cost was almost double but i really need help and was wondering if anyone has all ready wired this Display up and made it work can please help me and explain what pins i would need to solder and parts i would need to make this work? I try to look at the datasheet and got way confused on what to do. Thank you

They aren't all the same. Which one did you order? You should have picked one that included documentation of the pinout for the cable.

Hopefully you won't have to spend extra money on a Ouija board.

This is the one i got


this is the datasheet on it.


i try to look it over i seen what pins are which don't don't under stand part of it well i understand the what pins are which but not where they are go at.

Oh good, no Ouija board needed. You should download the SSD1351 datasheet as well.

Lots of good bedtime reading.

I will find it and look it over as well.

The SSD1351 is well supported I believe. I’ve used a 128x128 OLED with it. Couldn’t
find a connector shallow enough for that flexPCB though, I had to cut down the shoulders
a bit with a scapel (tricky).

Hey mark yup that is what i think too might have to cut down the shoulder too .

Hello MarkT and others i did mange to get a breakout board for my Oled got a 20 pin on it and i mange to get the pinout from newhavendisplay.com Going to give it a shot soon just wanted to updated this post.

Hello all i did mange to get a breakout board for this display to make it a little easy the only thing with this Breakout board it has 20 pins on it not all are being used and i got a sample sketch from the Oled company https://github.com/NewhavenDisplay/NHD-1.5-128128UGC3-Example-Code/blob/master/Arduino_OLED_128128.ino problem is the pinout i don't understand what pins go to what on the arduino board Sense I'm using a arduino use for testing.; i got the datasheet from there website http://www.newhavendisplay.com/specs/NHD-1.5-128128UGC3.pdf But I'm no closer to figuring out the pin out can someone please help me out? Thank you.

Wow. How nice. Newhaven Display did everything except physically hook it up for you. Maybe they offer that as a service? The pinout for their demo is right there at the top of the sketch. It looks like they are addressing the display in 6800 mode. You'll probably want to use SPI mode eventually, and wiring some of the fixed pins directly. That you won't need as many of your Arduino's pins.

Post a photo when you get it working.

I seen in the datasheet there are a few ways of wiring this oled up and got me confused i didn't understand it. because there are pins in the example sketch i found online and the datasheet that didn't match up and i didn't want to wire it to burn it out or something plus at first i didn't know if the oled was 5v or 3.3v But i found out that it is at 3.3v

Yes, I understand. You'd hate to blow up your display.

I think I looked at the sketch too quickly. It actually supports several interfaces. You probably want the 4-wire SPI interface, so set the "interface" variable to 2. The code also references level shifters -- are you sure there isn't a schematic that goes with this code?

In the datasheet there are several wiring diagrams, including one for 4-wire SPI.

Good luck! I hope it doesn't make a popping sound and emit smoke when you flip the switch. :-)

I tried to email them for a schematic and they told me they don't give that out. All information needed in the datasheet.

Those bastards!

My suggestion (which could cause your display to explode) is to wire it up like the diagram in the datasheet that says "4-wire SPI". Don't forget the capacitor.

Then connect it to your Arduino like this:

pin  7 = SCLK (D0) -- Arduino pin 1
pin  8 = SDIN (D1) -- Arduino pin 0
pin  4 = D/C -------- Arduino pin 8
pin 16 = /RES ------- Arduino pin 11
pin 17 = /CS -------- Arduino pin 12
VDD ----------------- 3.3V
GND ----------------- GND

If your Arduino is a 5V model you'll need to level shift the signals to 3.3V, otherwise it might explode into a fireball.

The main thing is you don't want to reverse Vcc and ground and you don't want any signals to exceed 3.3V. As long as you don't do those things you'll probably be okay, even if it doesn't work.

In the code you need to set that interface variable to "2". Then see if it works.

It looks like the code is just supposed to display "Newhaven". Phooey.

So what I'm understanding is that

pin 7 = SCLK (D0) -- Arduino pin 1 pin 8 = SDIN (D1) -- Arduino pin 0 pin 4 = D/C -------- Arduino pin 8 pin 16 = /RES ------- Arduino pin 11 pin 17 = /CS -------- Arduino pin 12 VDD ----------------- 3.3V GND ----------------- GND

means pin 7 on the oled goes to D1 on the arduino, pin8 on the oled goes to D0 on the arduino, pin 4 on the Oled goes to D8 on the arduino, pin 16 on the oled goes to D11 on the arduino, Pin 17 on the oled goes toD12 on the arduino aswell as the 3.3v and the ground pins which i got on the datasheet. Going to give it a shot now wish me luck i'll need it

You should use the hardware SPI pins directly (10/11/12/13 on Uno), it will be orders of magnitude faster as you can clock at 8MHz. Using Arduino pins 0 and 1 will stuff your USB-serial interface unless you take great care to get it right.

This is one confusing oled i tell a has 20 pins but can do different things if wired differently and in the sketch the pins are define

#define SDI_PIN 1 // SDI (serial mode) signal connected to pin 1
#define SCL_PIN 0 // SCL (serial mdoe) signal connected to pin 0
#define RS_PIN 8 // RS signal connected to pin 8
#define RW_PIN 9 // R/W (6800 mode) signal connected to pin 9
#define WR_PIN 9 // /WR (8080 mode) signal connected to pin 9
#define E_PIN 10 // E (6800 mode) signal connected to pin 10
#define RD_PIN 10 // /RD (8080 mode) signal connected to pin 10
#define RES_PIN 11 // /RES signal connected to pin 11
#define CS_PIN 12 // /CS signal connected to pin 12
#define BS1_PIN A0 // BS1 signal connected to pin A0
#define BS0_PIN A1 // BS0 signal connected to pin A1
#define LVL_DIR A2 // DIR (direction control) signal of level shifter IC connected to pin A2
#define LVL_OEN A3 // /OE (output enable) signal of level shifter IC connected to pin A3

#define RED 0x0000FF
#define GREEN 0x00FF00
#define BLUE 0xFF0000
#define WHITE 0xFFFFFF
#define BLACK 0x000000

So I'm really unsure what to really do to get it working I'm going to try it with the pinout in my last comment to see if it will work it can't hurt as long as the vcc and vdd pins are good if it works great if it doesn't work then i think keep working at it :)

This is the example code it does say this was based for uno R3 sketch


Sense there is so many pin layouts for this oled this is what I’m confused about because it says pin 19 and pin 20 on page 5 of the datasheet says for the 4-wire it says VDD - Ground. Now on page 4 of the datasheet in the serial it says pin 19 and pin 20 is Ds1 and Ds0 this is a bit confusing for me. So i do not know which pinout to follow or if the sketch pinout define is wrong i do not know.

BS0 and BS1 should be grounded just like it shows in the diagram. Don't you trust me? :-)

Mark is right that hardware SPI is faster but the demo program uses software SPI. If you can get it working with the demo then you can improve on it later. One thing at a time.

Using the Arduino pins 0 and 1 are okay since the sketch doesn't use the UART.