I2C No longer finding SSD1306 display

Thread Starter

Pentinic

Joined Dec 28, 2022
8
Hi all,

I have a design for a SSD1306 display driver below that I tested last night and worked (given the I2C address sometimes changed out of nowhere and every couple hundred frames would have artefacts), however this morning the display is no longer even being detected by an I2C bus scan.

I am still quite new to PCB design and electrical engineering so the way I've been constructing my designs is to build it with modules on a breadboard then replicate those modules on my PCB. I don't know if this is the correct way to do this but if you guys know where I could be going wrong or could suggest some design standard I would be very appreciative.

Thank you all in advance.

1693966128109.png
1693966165910.png
 

Ian Rogers

Joined Dec 12, 2012
1,134
Have you installed R31 and R30? it so this address will be subject to noise being neither high or low at a specific time.
I2C doesn't change unless this is changing constantly. Just use R30 and pull it high or R31 and pull it low.
 

Thread Starter

Pentinic

Joined Dec 28, 2022
8
Have you installed R31 and R30? it so this address will be subject to noise being neither high or low at a specific time.
I2C doesn't change unless this is changing constantly. Just use R30 and pull it high or R31 and pull it low.
Ahhh yes, I was a little confused about the address select. I'll take off one of them and see how that behaves.
 

Thread Starter

Pentinic

Joined Dec 28, 2022
8
Have you installed R31 and R30? it so this address will be subject to noise being neither high or low at a specific time.
I2C doesn't change unless this is changing constantly. Just use R30 and pull it high or R31 and pull it low.
Ahhh yes, I was a little confused about the address select. I'll take off one of them and see how that behaves.
I removed R31 and it is still not being detected by the I2C scan, could there be a chance the display is fried?
 

Ian Rogers

Joined Dec 12, 2012
1,134
0x3D implies that SA0 is high so the R30 in place and the R31 taken out should work .
Reset is active low.. Can you confirm that it's high?
 

Ian Rogers

Joined Dec 12, 2012
1,134
If CS is low B0,B1 and B2 are set as you have. All should work. Try pulling D/C low and swapping to address 0x3C.

Other than that, check the power supply ripple is tiny.. I mean tiny or next to none at all. I was looking at the footprint of your 4.7uF and 2.2uf decoupling caps the 2.2uf seems to have the larger footprint! Just wondered.
 

Thread Starter

Pentinic

Joined Dec 28, 2022
8
If CS is low B0,B1 and B2 are set as you have. All should work. Try pulling D/C low and swapping to address 0x3C.

Other than that, check the power supply ripple is tiny.. I mean tiny or next to none at all. I was looking at the footprint of your 4.7uF and 2.2uf decoupling caps the 2.2uf seems to have the larger footprint! Just wondered.
Easy, I'll have a look and if all else fails I might try replacing the screen itself.

Thank you so much for the assistance
 
Top