Hey, I bought one of these 1.3" Oled display and wanted to integrate it to my PCB. I got the original schematics, edited it a little and got a PCB manufactured. The display won't show up. It is set to I2C mode but it won't show up with my design. At this point, I tried everything I could. I tried pulling reset high and low without any luck. changing resistors. rechecking the wiring but still can't get it to work. Here is my design.
You left off some of Adafruit circuits? Your cut and paste schematic does not show the 3.3v/5v level shifters which Adafruit uses, and are shown in the schematic on their web site.
Also, you also haven't said what development board/processor you will be using. Is this a 5v or 3.3v processor?
Your schematic looks fine. Compare it to the real life pcb that you have on your desk.
From memory, /CS, /RST should both be high for I2C. I would use pullup on RST. Then you can wiggle it under program control (if necessary)
Surely it would have been wiser to simply steal the Adafruit components, pcb layout, traces, ...
I did leave out the level shifter as I am running the breadboard prototype from a 3v3 external source. The processor is a raspberry pi zero w using the i2cdetect -y command I don't see the board as opposed to a done PCB where it shows up straight away. Only the SCL and SDA are connected from the breadboard. The original idea WAS to steal the schematic and make my own layout but I did fail at it apparently. I might try to rebuild the breadboard tomorrow in case I find something I missed. I tried all the suggestions and cant see it running.
Finally I managed to get it to work. CS connected to 3.3V and RST connected to 3.3V directly. I dont know if there were some other errors I did but I did rebuild my prototype and now it seems to work. thanks for all the help
Interesting. Clearly this appears to be correct for the CS pin
(a) From the OP's report
(b) That the Wiring diagram shows it pulled high, and the instructions for connnecting the finished board do not instruct users of the I2C interface to tie it low. Clearly, for SPI it has to be low.
However, against that:
(1) The wiring diagram shows the pin marked /CS (NOT CS) which would imply "active low"
(2) The datasheet for the SSD1306 controller states in the table at chapter 8.1 that the "CS" pin should be tied low for I2C
My conclusion from all that is that for I2C, the "CS" pin can be high, low or floating.
Maybe if the OP is still on the thread and has the breadboard installation, he could try it just out of curiosity.
OK. I've just checked one of the modules I have with the same controller (SSD1306) from here.
It is the I2C version but physically smaller than yours and with the (apparently) the same 30 pin flexible connector. The "CS" pin (13) is grounded as are the unused pins D3 to D7 (21-25) and R/W (16) and E/RD (17). Pin I2C_SA0 is grounded via an 4.7K resistor giving an I2C address of 0x78.
What parts of these parts could be reused to run 4 displays at the same time? Is it possible to use one set of resistors and capacitors or do I need to use 4 sets of resistors and capacitors for 4 displays. I am looking to save some pcb space. This is how I have it at the moment