2.42'' OLED Display SSD1309 based Flex pinout - Page 1
Forum section: electronics / projects

author: TrickyNekro
author_rank: Frequent Contributor
timestamp: August 14, 2021, 04:35:16 pm
content: Hi!Recently I bought this display out of ebay:https://www.ebay.com/itm/263308143120?hash=item3d4e636a10:g:WkEAAOSwMjpb464vDoes one body have the pinout of the flex? I can reverse engineer it no problem, but it always feels better when you got the datasheet.I've found a couple dubious photos, but I´d rather listen to someone with past experience on the issue.I find the module quite bulky and ugly. That´s why I want to re-spin the whole board with a microcontroller on it plus the goodies I need.Thanks!Best Regards,Lefteris

author: TrickyNekro
author_rank: Frequent Contributor
timestamp: August 14, 2021, 11:53:00 pm
content: I´ll reply to myself as to what I think is correct with what I have found up to now.I will be relying on these two datasheets:https://www.vishay.com/docs/37968/oled128f064qlpp3n00000.pdfhttps://focuslcds.com/content/O12864C-GW-TW3_Spec.pdfI have not taken a look at the SSD1309 datasheet yet so I will assume that SDOUT will work in SPI mode, maybe yes, maybe not, maybe needs a pull-up.It does not seem to be standard for these Chinese modules to have an SDOUT, so anything goes with that. Update: See belowPin 1 -> GNDPin 2 -> GNDPin 3 -> GNDPin 4 -> N.C.Pin 5 -> Vcc +3V3 logicPin 6 -> Bus Interface Selection Pin 1, connected to selectable connection between Vcc and Gnd on the modulePin 7 -> Bus Interface Selection Pin 2 ( probably ), connected directly to ground on the modulePin 8 -> #CSPin 9 -> #RESETPin 10 -> Data / #Command SelectPin 11 -> #Write Select, connected directly to ground on the modulePin 12 -> #Read Select, connected directly to ground on the modulePin 13 -> D0 / SCKL / SCL, connected via a 4k7 pull-up to Vcc on the modulePin 14 -> D1 / SDIN, connected via a 4k7 pull-up to Vcc on the modulePin 15 -> D2 / SDOUT?, optional connection via a jumper link / resistor to D1 / SDIN on the module.Leaves an easily accessible pin to see if it is working in SPI mode.Pin 16 -> D3, connected directly to ground on the modulePin 17 -> D4, connected directly to ground on the modulePin 18 -> D5, connected directly to ground on the modulePin 19 -> D6, connected directly to ground on the modulePin 20 -> D7, connected directly to ground on the modulePin 21 -> I<sub>set</sub>, connected via a 910k resistor to groundPin 22 -> V<sub>COMH</sub>, 22uF / 16uF tantalum was connected between this pin and ground on the modulePin 23 -> V<sub>LED</sub>, power for the LED matrix driver, nominal 12.5V, connected to the output of a DC / DC on the modulePin 24 -> GND? Shown as N.C. in the datasheet, connected to ground on the module. Can be seen connected to the rest of the GND on the FPC.Maybe this last pin is used as a presence pin in a more "edgy" or testing or high rel in vibration rich scenario, who knows...And unfortunately no, SPI is write only, after going through the SSD1309 datasheet. Characteristically says:Under serial mode, only write operations are allowed. And it wands us to leave D2 flapping around in the breeze.Dunno for the I²C mode though. In I²C mode you have to connect D1 and D2 to get a "complete" SDA, with D0 still being the SCL.As much as I hate to implement I²C it really seems like the better choice for driving this OLED Display.I should also say that FFC / FPC connector with 24 pins and 0.5mm pitch seems to be the fitting one and is also relative easy to find.As of now of course this is only "literature" work and I have tested nothing. But I hope it helps somebody.Cheers,Lefteris

author: Ian.M
author_rank: Super Contributor
timestamp: August 15, 2021, 01:43:14 am
content: I2C mode has its own problems:Quote from: SSD1309 datasheetIf you want normal I2C logic '0' level compatibility, you'll need an open drain buffer on SDAOUT before it connects to SDAIN to form the SDA line.Also note that it is only good up to 400KHz and with the I2C protocol overhead, its only 3.5% of the speed the 10MHz 4 wire SPI interface can achieve. If you are doing frequent full display updates and need readback, you probably should be using one of its parallel interface modes.

author: TrickyNekro
author_rank: Frequent Contributor
timestamp: August 15, 2021, 11:18:09 am
content: Quote from: Ian.M on August 15, 2021, 01:43:14 amThat was a nice catch. Then I would guess SPI would be the most "easy" way to implement this, without using too many pins. As BS0 is NOT broken-out on the flex, SPI 4-wire mode,which is NOT bidirectional communication, but rather a 8bit version of the 9bit 3-wire mode ( word + D / #C ) bit, where D / #C is sampled on the external pin.The problem with this is that you can not verify the content of the memory unless you use the parallel interface. Is that of course all that critical? Dunno to tell the truth, your visual HID normallyshould be the least critical normally ( as far as displays goes ).I will play a bit around, maybe I go parallel after all but it´s a funny little display never the less!Cheers,Lefteris