SPI/I2C OLED display


#50

this is how my displays look from the back.. I guess I'm close but I can't be 100% sure about which resistor should I move without checking schematics/ spreadsheet :


#51

I have not seen resistors in your first photos. Why do you said in your description later that you are adding "two 10k pull up resistors from PB8 and PB9 to VDD"? I really want to add an oled to my projects and this will be very heplfull. Thanks in advance!


#52

Hi, @xoanxil,
The I2C needs pull ups resistors.
On my first pictures, they you can see them on the breadboard, even if they are somewhat hidden by wires, they are there.


#53

Teah. I can see them How do you conect. How do I should conect them?

PB8 connects to SCL
PB9 connects to SDA
VDD connects to VCC
GND connects to GND
PB8 connects to 10k resistor and to VDD?
PB9 connects to 10k resistor and to VDD?

What does it happen if I don´t use resitors?

Thanks for your help


#54

Hey smashed, been playing with the single screen object today. My wave form only displays in the top 1/3 of the screen and is severely clipped. Can you give me a hint as to where to optimize the display settings? Also, using your scope in the community library, is it possible to have 4 separate wave forms display in one scope. I’d like to be able to have 4 Osc waves displayed on the same OLED.


#55

Did you tried the help patch (Help -> Library -> Community -> tiar ->HW -> OLED128x64) ?
The object i coded can only display one scope.
Did you try to select the type to SH1106 or to SD1136, these are the different OLED control chips often found on 0.96 or 1.31 displays. Do you have info about the control chip driving your OLED display ?


#56

Unlike UART or SPI connections, the I2C bus drivers are “open drain”, meaning that they can pull the corresponding signal line low, but cannot drive it high. Thus, there can be no bus contention where one device is trying to drive the line high while another tries to pull it low, eliminating the potential for damage to the drivers or excessive power dissipation in the system. Each signal line has a pull-up resistor on it, to restore the signal to high when no device is asserting it low.

So, quick answer, I don't know, it certainly depends on your displays (it seems that some include pull up resistors).


#57

Help file worked like a charm! Thank you! Also had a run with the reminder object. It works like a charm. I tired editing the object for personal use in a patch with more than 4 inputs but couldn’t figure out how to do it. Is this possible?


#58

@johannes had a great idea when implementing help pages, this is a nice way of documenting objects.

The OLED128x64 has only 4 inputs corresponding to 4 lines.

The remind4 can now be chained (since i updated the library).


The "chainTrig" boolean signals tells the next remind4 in the chain "hey, buddy, i've got something, please take my input and transmit it to your output".


#59

Thank you SmashedTransistors for the explanation. I will use the resistors just in case.

Should I conect then PB8 connects to 10k resistor and to VDD and PB9 connects to 10k resistor and to VDD?


#60

Do not connect directly PB8 nor PB9 directly to VDD.
PB8 is pulled up to VDD through a resistor.
PB9 is pulled up to VDD throuch another resistor.


#61

Thank you very much. I will try.


#62

Ok, one more question. Is it possible to use an i2c multiplexer to use more than 2 OLEDs at a time. Or is there another work around for this?


#63

Basically, you can connect two I2C OLED with different addresses (0x3C and 0x3D) with my OLED128x64Dbl object.

But if you want to use an I2C multiplexer similar to the Adafruit, you will have to code your own object (maybe based on mine) that would pilot the multiplexer and the multiple displays under it.


#64

Questions about changing the I2C address: Is soldering the only option, or is there perhaps a software way to do it? And: it looks above as though Cannonball just shorted the two blobs needed. I saw a youtube video where someone soldered the old resistor to the new slot (sorry, I don't know what these C6, R2 etc... double blobs are properly called), which made me shiver with panic just watching it. Directly connecting them seems within the realm of my eye-hand-coordination abilities, though.


#65

The modification made to my screens were to change them from spi to iic


#66

You're right. I guess I should have referred to Smashed Transistor's pic above that. Still, did you add a transistor or just drop a blob of solder to connect the two poles?


#67

They just need a jumper. No component necessary


#68

@servandisco, did you manage to convert one of your displays to another i2c address? i have the same displays here and would love to convert one of them.


#69

Hi @lokki . Not really.. :confused: I'm using the displays individually at the moment.. Made a bit of search but I havent found the specific spreadsheet about my displays and I feel lazy to move smd resistors around and risk to screw the displays... If I had to try just once, probably I would try the opposite config than now (2 to vdd and 1 to gnd) but I don't really know.. If you try and succeed, please keep us posted!
greetings