cancel
Showing results for 
Search instead for 
Did you mean: 

SSD1306 OLED not turning on | STM32H7S3L8

yanislav
Visitor

Hello, I've been trying to get an OLED screen to work on my H7S3L8, but I've not been successful. I've followed this tutorial perfectly (as much as I could - there were things I couldn't do such as setting fast mode duty cycle as the option isn't there in CubeMX).

So far I've tried:

- Using 4.7k resistors between VCC and SDA/SCK (also tried without them)

- Only sending the command to turn all pixels on the screen on (0xA5 from the datasheet)

- Following different tutorials with example code to no avail

- Making sure there are no shorts and that the voltage is correct with my multimeter

I haven't yet had success. Does anybody have experience with the H7S3L8 or have an idea why this would not be working? The tutorial I linked at the top explicitly mentions that the code works on H7 families.

I only used this part of the above tutorial to display 2 words:

SSD1306_Init (); // initialise the display 
SSD1306_GotoXY (10,10); // goto 10, 10 
SSD1306_Puts ("HELLO", &Font_11x18, 1); // print Hello 
SSD1306_GotoXY (10, 30); 
SSD1306_Puts ("WORLD !!", &Font_11x18, 1); 
SSD1306_UpdateScreen(); // update screen
while (1) { }

Side note - I know the screen works as it has been tested on an ESP32 using Espressif code.

Let me know if this is enough information, I'm happy to answer questions if it'll help!

1 REPLY 1
AScha.3
Super User

Hi,

so you doing something wrong. :)

The cpu , H7.., not important here, just I2C setup in Cube, then include the lib, set defines...and go.

Are you on the selected pins ? really ? check with scope, signal coming here ?

+

You can compile - without any errors or warnings ??

If you feel a post has answered your question, please click "Accept as Solution".
Announcement

We’re moving the ST Community to a new platform to give you a better and more reliable community experience.