No display on Chinese SSD1306 SPI IIC 0.96" 128*64 OLED

I bought a cheap OLED via ebay. Photo attached of reverse side. I wondered if anyone had experience of this particular screen. It’s unusual in having 16 pins rather than the usual four or six… The seller describes it:

“A variety of interface mode,provide 8080 parallel interface,6800 parallel interface,4 line SPI and IIC total 4 kinds interface mode.(you can set up by yourself)”

The seller, on enquiry, sent a link to a data sheet, apparently NOT for the same product, as the pictured screen has only 6 pins as opposed to 16 on my device, but linked below for reference (In chinese, use translation)

The 16 pins on my device, read from left to right:

First row - V3 - CS - RW - RST - D1 - D3 - D5 - D7

Second row - GND - DC - RD - D0 - D2 - D4 - D6 - NC

My device had a GREEN TAB however!

Probably Wrong Data Sheet…

Pertinent area of THAT data sheet:

Pin Description:
GND: power ground
VCC: 2.2V ~ 5.5V
D0: CLK clock (high 2.2 V ~ 5.5V)
D1: MOSI data ( high 2.2 V ~ 5.5V)
RST: Reset ( High 2.2V ~ 5.5V)
DC: data / command ( high 2.2V ~ 5.5V)

I am using the example sketch and SSD1306 Library from Adafruit, pertinant lines below:

I have tried the relavent pinouts as described in the (very possibly wrong!) data sheet for both soft and hardware SPI, with now joy… I was hoping someone could help!

Many thanks.

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// If using software SPI (the default case):
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

Your display is 8-bit parallel. I am not aware of any library that supports the 8-bit parallel interface. It is easy enough to write though.

Most of these little displays are used with SPI or I2C. 8-bit parallel will need 16 wires and 13 3.3V level-shifters.

David.

Ok, thanks David.... Not sure how easy it would be for ME to write the library you describe! A future project perhaps, but I am more at the '10 print hello, 20 goto 10' end of the coding spectrum!

The seller describes it thus... (editing OP)

"A variety of interface mode,provide 8080 parallel interface,6800 parallel interface,4 line SPI and IIC total 4 kinds interface mode.(you can set up by yourself)"

I'm certainly no expert, but that makes me think there would be an SPI input method, or I2C?

It looks as if the BS1 and BS2 solder-bridges select the interface.

Please post a link to the actual Ebay sale where you bought your display. And any documentation that describes BS1, BS2. I would guess that you change both to GND to select 4-wire SPI. But it is your job to find your documentation.

David.

@mowgli88

Post a picture of the back of your actual display. If it has a green tab this normally indicates a configuration difference to one with a Red tab.

The position of the solder blobs on pads BS1 and BS2 on the back of the display board will determine if your display is configured for I2C, 8 bit parallel or 4 wire SPI. To be configured for 4 wire SPI the two blobs should connect the centre pads to the GND pads, not the VCC pads (see bottom left image of the one you posted, that board is configured for 8080-parallel (8 bit).

Also what Arduino are you using, the display requires 3.3V logic levels, this can be provided simply with some resistors of by using an Arduino that outputs 3.3V logic.

OKEY DOKEY… Much appreciated you guys spending some time on this!

I’m using an Arduino Uno, but have access to a nano, if that makes any difference?

Here is the back of MY device (tab is long gone I’m afraid but it was GREEN):

Link to the sale itself:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItemVersion&item=171799477467&view=all&tid=1497772531007

Link to the Data Sheet sent by seller:
http://world.taobao.com/item/38157235836.htm?fromSite=main&spm=a230r.1.14.1.i1dse4&ns=1&abbucket=19#detail

My search for docs:

www.alientek.com takes me to a page that doesn’t render…

www.openedv.com redirects to its forum, searching for ‘alientek’ leads me to a list of posts:

http://www.openedv.com/search.php?mod=forum&searchid=1614&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=alientek

I can’t remember which listing I clicked previously, but searching my history, it was this:
http://www.openedv.com/forum.php?mod=viewthread&tid=3194&highlight=atk%2Boled

…of which the second link (2. Download address [see annex below or network disk link]) takes me to a cloud storage/download page:

http://pan.baidu.com/s/1jGxTY7O

Bravely downloading the .rar listed there gives me a whole bunch of what appear to be libraries, AND some documentation - SOME OF WHICH IS IN ENGLISH!! - linked here on my site…

http://www.sprink.info/PDF/ATK_0.96_OLED_V2.0_SCH.pdf

http://www.sprink.info/PDF/M00750_VGM128064C0W01_Y01.pdf

http://www.sprink.info/PDF/SSD1306-Revision_1.1_Charge_Pump.pdf

I am reading through this now, but being a novice, although I recognise some stuff, I don’t really understand it. Good learning though…

Page 1 of the schematic seems to confirm the BS1 BS2 jumper settings… If so, would I drop a bit of solder between the VCC and GND on one or both? SPI has BS1 and BS2 listed as 0, 0… is that the ‘default’ state of my device, looking at the image above (ie, no connection between VVC and GND on either…

(EDIT) ahh, looking further at the schematic, seems I understand what is meant by center pad, as you mention it bodmer. so I would have to remove what solder is already there, and re-solder. Do-able with my solder skills, but hairy! (/EDIT)

Obviously, this is a pain for anyone to have to go through, but if someone, say, wanted to, I would be eternally grateful!