EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: LordyVader on April 20, 2021, 10:32:31 am

Title: SSD1309 OLED display custom i2c board
Post by: LordyVader on April 20, 2021, 10:32:31 am
Hello,

I have a SSD1309 OLED display with 24 ZIF connector only. So I went to a website of manufacturer and started with design of a board so I can make an i2c connection with STM32 MCU. This is the datasheet of the display (http://www.buydisplay.com/download/ic/SSD1309.pdf), and here is an example how to make an interfacing (http://www.buydisplay.com/download/interfacing/ER-OLED015-2_Interfacing.pdf).

So based on this I made this scheme:
(https://i.ibb.co/x33xs9R/oled-kicad.jpg)

Other OLED display I saw on the internet that have already designed and ready to use board with i2c procotol are powered with standard 3.3 VCC power pin like on this picture (http://www.emcu.eu/wp-content/uploads/2018/03/NUCLEO-SSD1306-1024x726.png). But here, it is noted in datasheet VCC = 7.0V ~ 16.0V for Panel driving and VDD  = 1.65V ~ 3.3V for IC logic. So I decided to ignore that and give it a try with 3.3V as I don't want to use some additional power for the device other then the same power I use for STM32 MCU. Unfortunately, display is not working and I want to be sure is maybe this the reason?  Here is also the link of library I used: https://github.com/afiskon/stm32-ssd1306 (https://github.com/afiskon/stm32-ssd1306)

Can someone tell me how to make it work? Thank you in advance
Title: Re: SSD1309 OLED display custom i2c board
Post by: ebastler on April 20, 2021, 10:52:04 am
The datasheet as well as all your connection examples show that a higher Vcc is required. You have not connected anything at all to pin 23 (the capacitors to 3.3V don't do anything for DC...), so I would expect that to be the reason for the malfunction.

Have you tried to supply a voltage to pin 23 for testing? You can use a 9V battery if you don't have a second power supply around.

EDIT: The SSD1309 does indeed require the external higher-voltage supply; unlike other driver ICs for small OLEDs it does not have a built-in charge pump (DC-DC converter). So the PCB you saw, which enabled single-supply operation at 3.3V, must have provided that DC-DC converter.

Here is a project and schematic to build your own DC-DC converter, if you do not want to discard the display and buy one that is easier to connect: https://hackaday.io/project/173753-oled-breakout-board-with-dc-dc-step-up/details. Note that the pin numbers on the ribbon connector seem to be different from yours!
Title: Re: SSD1309 OLED display custom i2c board
Post by: LordyVader on April 20, 2021, 11:53:04 am
So SSD1309 needs that 7-16V no matter what, too bad to hear that. I will try with 9V battery just to make some testing and see how it works.

This link you sent, there is this "Compared to the more popular SSD1306 which has a built-in charge pump". So I had a look for this 1.3" SSD1306 OLED display (http://www.buydisplay.com/download/ic/SSD1306.pdf), it also says here 6-15V for VCC, but on Interfacing manual for i2c protocol (http://www.buydisplay.com/download/interfacing/ER-OLED013-1_Interfacing.pdf) says VCC Generated by Internal DC/DC circuit. I guess that means I don't have to worry about it with SSD1306 then?
Title: Re: SSD1309 OLED display custom i2c board
Post by: ebastler on April 20, 2021, 03:47:54 pm
Right, the SSD1306 seems to have the DC-DC converter built into the driver IC, so you only have to provide a single supply voltage. It is a bit of a trap that the SSD1309 does not include the converter!

In your shoes, I would do the experiment with an external 9V or 12V supply for your SSD1309 display, as a learning experience -- but then switch to an SSD1306-based display for the final system you want to build. (If you can find one in a suitable form factor.) Adding your own DC-DC converter externally is probably more hassle than you need...