SSD1306 OLED and STM32 || 128x64 || SW4STM || CubeMX

  Рет қаралды 55,547

ControllersTech

ControllersTech

Күн бұрын

Пікірлер: 134
@mfgkwmfgkw
@mfgkwmfgkw 3 жыл бұрын
Thanks! With minor changes it runs fine on Nucleo-L432KC.
@radoslavpantic9497
@radoslavpantic9497 2 жыл бұрын
what minor changes?
@h.g.vansteenis2869
@h.g.vansteenis2869 2 жыл бұрын
Why won't you tell us what changes you made?
@tupoy_ytub_uberi_psevdonim
@tupoy_ytub_uberi_psevdonim 2 жыл бұрын
Big thanks! All works. It's works on STMF4 series, just need modify 2 defines for HALF4 lib. I will use this lib in my projects with OLED displays.
@switcher3545
@switcher3545 2 жыл бұрын
I have stn32f429i also, can I ask which particular defines you changed for it to work?
@tupoy_ytub_uberi_psevdonim
@tupoy_ytub_uberi_psevdonim 2 жыл бұрын
@@switcher3545 In 2 files fonts.h and main.h find the string #include "stm32f1xx_hal.h" and replace it on #include "stm32f4xx_hal.h". Don't copy HAL files from downloaded project, copy only lib files.
@switcher3545
@switcher3545 2 жыл бұрын
@@tupoy_ytub_uberi_psevdonim do you know the i2c address of your oled? maybe the problem with mine is the address :(
@tupoy_ytub_uberi_psevdonim
@tupoy_ytub_uberi_psevdonim 2 жыл бұрын
@@switcher3545 my oled addr is 0x78 (also can be 0x79, 0x3C)
@tupoy_ytub_uberi_psevdonim
@tupoy_ytub_uberi_psevdonim 2 жыл бұрын
@@switcher3545 I can give fragment of code to check connection on I2C channel /* USER CODE BEGIN 2 */ place the code after this point if(HAL_I2C_IsDeviceReady(&hi2c1, OLED1.getCAddress(), 1, 10) == HAL_OK) //if ok led just ON { HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); } else //if No correct addr led BLINK { while (1){ HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); //my external led on this pin (replace it for y connection) HAL_Delay(500);} }
@travishaycock723
@travishaycock723 5 жыл бұрын
Would be awesome to see you explore a camera periph... QV7670 is very popular among DIY - thank you for this video though it's great and got me on the right track!
@ControllersTech
@ControllersTech 5 жыл бұрын
Yeah sounds great. I'll order one and see what can be done with it.
@travishaycock723
@travishaycock723 5 жыл бұрын
@@ControllersTech Awesome, thank you. Looking forward to it!
@travishaycock723
@travishaycock723 5 жыл бұрын
@@ControllersTech Also, is there an alternative to pins b7, b6 when hooking up this interface I need them for a SDA and SCL? I need those pins for another sensor and am trying to work around this.
@ControllersTech
@ControllersTech 5 жыл бұрын
Yes there is. After selecting the I2C in the CubeMx, Keep pressing ctrl key and select that pin. CubeMx will show you the alternative for that. Just drag and drop the selection to the new pin.
@shahzaibshamim6524
@shahzaibshamim6524 2 жыл бұрын
Will this library work with 128x32 SSD1306 OLED?
@henadzmuhin
@henadzmuhin Жыл бұрын
Работает
@MrGucluoglu
@MrGucluoglu 5 ай бұрын
what about parallel data input GLCDs ?
@sourabhkumawat4863
@sourabhkumawat4863 Жыл бұрын
What we will need to do in order to run it on a larger display using some sort of VGA connection
@zeydane
@zeydane 4 жыл бұрын
if i can only set my HCLK to max of 48MHz. can that affect the scrolling? Only top part scrolls and the rest doesnt. not sure if its the code or hardware.
@ControllersTech
@ControllersTech 4 жыл бұрын
No, HCLK don't have any effect on scrolling. Might be the code. Try the diagonal scrolling..
@zeydane
@zeydane 4 жыл бұрын
@@ControllersTech diagonal does the same thing where it only moves the top portion
@emersonrodrigues7476
@emersonrodrigues7476 5 жыл бұрын
You can make the fonts, test and ssd1306 point C and H. files not found for download.
@ControllersTech
@ControllersTech 5 жыл бұрын
What u mean not found ? Have u checked inside the src and inc folders ?
@曲晉逸
@曲晉逸 5 жыл бұрын
Awasome tutorial! Thanks! Learning a lot!
@elmirakassymova380
@elmirakassymova380 2 жыл бұрын
Please, do you know how to add font? I need very big font. I have found font generators only for arduino libraries. they don't work with this library
@Basicguy1798
@Basicguy1798 Жыл бұрын
I couldn't find the previous video you talk about i.e. interfacing with ssd1306 could you link it?
@ControllersTech
@ControllersTech Жыл бұрын
There is no previous video. It was deleted. This video covers ssd1306.
@dioadadosite4516
@dioadadosite4516 Жыл бұрын
Excelente Trabajo, aunque mi ssd1306, no muestra la imagen como se aprecia en el tuyo, a no ser que el mío se deba ajustar, pero es el TZT-SSD1306. Sabrías por qué?... lo hice con un stm32f4
@abdelazizettalibi9763
@abdelazizettalibi9763 26 күн бұрын
where can I find the librairy
@ControllersTech
@ControllersTech 25 күн бұрын
Link is in the description.
@tanjiro3285
@tanjiro3285 Жыл бұрын
im having a stm32 Nucleo G491RE can u help me with it, im unable to get it running even after changing the name in header files, what else i can d0 ?
@ControllersTech
@ControllersTech Жыл бұрын
@monjiro make sure you select the right pins for the i2c. Check the schematics of the board to see which pins you need to connect to. I am guessing that you have connected to the pins on the top right (scl and sda). When you enable i2c1 in cubemx, by default it will not configure these pins. You have to change the pin manually.
@davidrosario3642
@davidrosario3642 4 жыл бұрын
thank u, can i use it for a i2c 128x32?
@Pablo-ww5cn
@Pablo-ww5cn 3 жыл бұрын
yes, but follow this: -open "ssd1306.c" -in line 194 change "SSD1306_WRITECOMMAND(0x3F);" to "SSD1306_WRITECOMMAND(0x1F);" -in line 203 change "SSD1306_WRITECOMMAND(0x12);" to "SSD1306_WRITECOMMAND(0x02);" if you do that, you are sending , with I2C protocol the especific command to OLED 0.91(128x32) to change 128x64 to 128x32. Otherwise it will never work.
@MegaEnterprice
@MegaEnterprice 3 жыл бұрын
@@Pablo-ww5cn and SSD1306HEIGHT in ssd1306.h?
@kartikeyyendhe1840
@kartikeyyendhe1840 8 ай бұрын
Can I use this library for SSD1309 for SPI communication mode???
@ControllersTech
@ControllersTech 8 ай бұрын
No
@sureshp632
@sureshp632 5 жыл бұрын
thanks a lot and one more how to sd card interfacing using SDIO mode and SPI mode using stm32f4
@balazsgyenge9388
@balazsgyenge9388 3 жыл бұрын
Great video :) It is possible to display float/double on oled?
@ControllersTech
@ControllersTech 3 жыл бұрын
Yes but you need to convert them to characters using sprintf. Displays only accepts ascii
@balazsgyenge9388
@balazsgyenge9388 3 жыл бұрын
@@ControllersTech Thanks for the reply. I did the next thing, which could be ok: Gain every digit from a float value and add the next character to the digit '0' and update the screen with Putc function.
@farukemektar7231
@farukemektar7231 Жыл бұрын
Hello, when I download the link, a file named I2c does not appear. Why could it be?
@ControllersTech
@ControllersTech Жыл бұрын
Look inside the src and inc folders
@radoslavpantic9497
@radoslavpantic9497 2 жыл бұрын
Hi, Im using Monochrome 0.96" 128x64 OLED from Adafruit, run the same code but it just doesn't work. Any suggestions? I'm using NUCLEO f411re development board
@lazyvideos9525
@lazyvideos9525 4 жыл бұрын
i tried oled with addres 0x3c and updated .h file.still oled not working.is mandatory pull up needed.pls help me
@ControllersTech
@ControllersTech 4 жыл бұрын
What's 0x3C for ? Where you get that address from ?
@DiegoPerez-bz8tv
@DiegoPerez-bz8tv 2 жыл бұрын
Hello my screen has the sh1106 can I use this library?
@meheredia
@meheredia Жыл бұрын
Hi! I´'m testing on OLED 1.3'' I2C with SH1106, can you find some library for them?
@vinothkannan1570
@vinothkannan1570 3 жыл бұрын
i am using F3 version stm32 do i have to change I2c pins in library ?? where should i change the pins?
@ControllersTech
@ControllersTech 3 жыл бұрын
That depends on you. Just choose some I2C and cubeMX will configure the pins automatically.
@mehmetdemir5655
@mehmetdemir5655 2 жыл бұрын
Help me pls, how can i clean a specific area of screen
@ControllersTech
@ControllersTech 2 жыл бұрын
Just write empty character there.. ' '
@mehmetdemir5655
@mehmetdemir5655 2 жыл бұрын
@@ControllersTech ohh thank you sir
@KSITREVS
@KSITREVS 3 жыл бұрын
Hi, I had this working on an BluePill, but after swapping to an STM32 Nucleo board im not getting anything to work. I changed the #include "stm32f1xx_hal.h" to #include "stm32f3xx_hal.h" n the 1306.h file to get it to compile. Is there any reason why t isnt working? Thank you :)
@Coulinator13124
@Coulinator13124 4 жыл бұрын
Hi, Great video. Integration done with a 2.52 inch OLED I2C screen. Is it possible to get smallest font ? Currently the smallest one i've is a 7x10.
@ControllersTech
@ControllersTech 4 жыл бұрын
check some arduino libraries. Maybe those fonts can be implemented
@Coulinator13124
@Coulinator13124 4 жыл бұрын
@@ControllersTech The fonts i could found are not using the same "mapping". So using them result in ""hieroglyphe" writing :) . The smallest i found and compatible is a 6x8. I'm looking for a smaller one. If someone found it ... Thanks.
@abhijithrajith4738
@abhijithrajith4738 2 жыл бұрын
Hello, I'm using STM32F407G-Disc1 board interfacing with SSD1306 128x64 OLED. When I'm trying with Arduino, the OLED is working perfectly. But, it is not working with STM controller. Code is compiling without any errors. Still OLED is not giving any output. Do you know any possible solution ?
@meheredia
@meheredia Жыл бұрын
Hi! I'm working on a STM32f411ve-Discovery and i have the same problem. I checked the address but it doesn't work. Did you find any solution??? Thaks
@Sotheareth8086
@Sotheareth8086 4 жыл бұрын
I copy those those files to each directory and change address 0x3C oled and run but it does not show anything. Can you tell me somthing?
@lazyvideos9525
@lazyvideos9525 4 жыл бұрын
YES same problem for me also.oled is not showing anything ....i changed oled adreess and tried but not working.pls let me know if u got the solution
@lazyvideos9525
@lazyvideos9525 4 жыл бұрын
OK...SOLVED now .... no change in address with 0x78 only it working.but i dont know why its like that.previous mu oled is gone bad taken new oled and now its working
@mojh725
@mojh725 4 жыл бұрын
hello. can you do it for lpc1768 too? i need it so much, and i can not change code for lpc1768. thank you
@omercebeci5405
@omercebeci5405 3 жыл бұрын
Hi ,I use 128x160 oled lcd ,How can I change ssd1306.c 193. and 204. lines ? or What Can I do to use it ? Could you help me please?
@ControllersTech
@ControllersTech 3 жыл бұрын
There is size defined somewhere.. just change it and test. I don't know whether it will work or not.
@omercebeci5405
@omercebeci5405 3 жыл бұрын
@@ControllersTech I adjusted from ssd1306.h as (128x160) but it didn't work.I used 4.7k pull up resistor and I tried both address.Do you have any ideas?
@ControllersTech
@ControllersTech 3 жыл бұрын
Can u send link to what oled you have ?
@ControllersTech
@ControllersTech 3 жыл бұрын
I couldn't find any oled of 128x160, which uses ssd1306. I think you have some other display amd you are using wrong library
@suyamburajgmoorthilingam4098
@suyamburajgmoorthilingam4098 3 жыл бұрын
Could not find the sample code Could you help on that
@rea1013
@rea1013 4 жыл бұрын
Sorry noobs question. Why use HSE but no external clock on the breadboard?
@ControllersTech
@ControllersTech 4 жыл бұрын
HSE is external crystal. It is on the controller..
@rea1013
@rea1013 4 жыл бұрын
@@ControllersTech Oh i see, thanks.
@AG-eg2xz
@AG-eg2xz 4 жыл бұрын
'RCC_OscInitTypeDef' could not be resolved, what can I do?
@ControllersTech
@ControllersTech 4 жыл бұрын
What controller? Are u using external clock ?
@AG-eg2xz
@AG-eg2xz 4 жыл бұрын
@@ControllersTech It worked, I was not following the instructions properly. Thanks a lot for the tutorial.
@AG-eg2xz
@AG-eg2xz 4 жыл бұрын
@@ControllersTech I am trying to simulate this in proteus, and the OLED has a reset pin, what can I do with it? Please help!
@ControllersTech
@ControllersTech 4 жыл бұрын
Don't connect the reset pin than... Or connect it to the ground
@bahadrguven6268
@bahadrguven6268 4 жыл бұрын
spi ?
@ControllersTech
@ControllersTech 4 жыл бұрын
well i don't have the one with SPI... But mostly it should be the same except you have to switch I2C transfer with SPI transfer
@bahadrguven6268
@bahadrguven6268 4 жыл бұрын
@@ControllersTech thanks a lot.
@LeonardoGarcia-uq7ws
@LeonardoGarcia-uq7ws 5 жыл бұрын
Great tutorial! I have tried to access the link in the description, but it isn't accessible.
@ControllersTech
@ControllersTech 5 жыл бұрын
Try without https. There is some issue going on right now.
@stemprojects761
@stemprojects761 3 жыл бұрын
Hello! amazing job. One question.. Can you add multiple OLED screens? is there an example for this? thanks in advance!
@stemprojects761
@stemprojects761 3 жыл бұрын
i am trying to make it happen in a STM32 nucleo
@ControllersTech
@ControllersTech 3 жыл бұрын
all SSD1306 have the same I2C address. So if u do connect them to the same I2C, they will show the same data. If you can somehow modify the address, then u can control them individually
@soutakbiswas3029
@soutakbiswas3029 2 жыл бұрын
Whare can i find those header file?
@ControllersTech
@ControllersTech 2 жыл бұрын
In the description
@sylviabanerjee5920
@sylviabanerjee5920 4 жыл бұрын
Hi I am not getting any link to download the header files. Please help
@ControllersTech
@ControllersTech 4 жыл бұрын
Download the code. You can find the files inside the respective folders
@sylviabanerjee5920
@sylviabanerjee5920 4 жыл бұрын
@@ControllersTech Hi .Thanks
@sureshp632
@sureshp632 5 жыл бұрын
thank u very much great tutorial very nice working perfectly thanks a lot!!!!!!!!!!!!!!
@artvnl6345
@artvnl6345 4 жыл бұрын
Is it possible to use this code with a STM32L432KC? With STM32CubeIDE?
@ControllersTech
@ControllersTech 4 жыл бұрын
If it have i2c, than yes
@artvnl6345
@artvnl6345 4 жыл бұрын
@@ControllersTech Mhm I must be doing something wrong, it has 3 times I2C. No pin on the board was sending out a thing.
@nhatduyhuynh5097
@nhatduyhuynh5097 4 жыл бұрын
this library can use for SSD1306 OLED 128x32 ??? thanks
@ControllersTech
@ControllersTech 4 жыл бұрын
Yeah but you need some adjustments.. read the comments. Someone did it
@nhatduyhuynh5097
@nhatduyhuynh5097 4 жыл бұрын
@@ControllersTech i fixed height parameter in ssd1306.h but hadnt run yet
@ControllersTech
@ControllersTech 4 жыл бұрын
Are u sure connection is right ? Try connecting pull up resistors to SDA and SCL pins. Also make sure the i2c speed is 400 KHz
@nhatduyhuynh5097
@nhatduyhuynh5097 4 жыл бұрын
@@ControllersTech I2C address is 0x78 or 0x7A ?
@lazyvideos9525
@lazyvideos9525 4 жыл бұрын
@@ControllersTech is pull up resistor needed externally by circuit.directly i coneected ssd1306 with addres 0x3c and changed adress in program.but not working
@mohdtanveer9552
@mohdtanveer9552 5 жыл бұрын
Great tutorial!! Please make a video on how to interface SSD1963 (480x864) with STM32F207 or STM32F407. Thanks Again!!!
@dingga713
@dingga713 5 жыл бұрын
thanks you for making the wonderful tutorial about OLED display. I have try it and i am fail on display "hello world". i have double check the I2C (&hi2c1) and i am using stm32F103c8 which the pin for i2c (PA6 and PA7), BUT one this diff is i am using "STM32CubeIDE 1.0.0" to do it. CAN anyone help me by suggesting me about the possible problem, i suspect i must made a silly mistake. Thank you.
@ControllersTech
@ControllersTech 5 жыл бұрын
What error are u getting? Is the code compiling successfully? Make sure u update the display after writing anything. Or else you won't be able to see it. The code should work on all IDEs so stm32cube ide is not the problem
@dingga713
@dingga713 5 жыл бұрын
@@ControllersTech Thank you for the reply Controllers Tech, i getting not error, the code was successfully compiled, i have put the update of display which is "SSD1306_UpdateScreen()" after every writing, i even put the breakpoints to check the code is running and the result is: code is runing but OLED display nothing. i have check the OLED with my Arduino program and it is function well. I have run out of IDEA to test it, but i will keep trying to figure it out. Thanks for the help.
@dingga713
@dingga713 5 жыл бұрын
I am so blind, i can't believe i made this lower mistake. i am using the STM32F103 smart v2 MCU board and i confuse myself by the pin number .I even said that i use "PA6 and PA7" as hi2c1, but actually it is "PB6 and PB7", right now i am able to display "Hello world" on OLED. Thanks you for the help anyway and great video as always. I am appreciate, Thanks a lot .
@山路不换肩
@山路不换肩 2 жыл бұрын
It helps a lot. thanks very much.
@nefton001
@nefton001 2 жыл бұрын
Thank you! it is amazing! working
@elmirakassymova380
@elmirakassymova380 2 жыл бұрын
THANKS A LOT, you are the best
@andresfelipeparragafuquene4848
@andresfelipeparragafuquene4848 5 жыл бұрын
That video is nice but could you learn us how to use OLED working with SPI? It would be interesting thanks 👍
@ControllersTech
@ControllersTech 5 жыл бұрын
You can use the same code for it. Just make sure in the ssd1306.c, change the i2c operations to spi. That's all. You can watch my video about using spi generally.
@xiuyangzhang6955
@xiuyangzhang6955 2 жыл бұрын
meto , i have try many times to use the hardware SPI in stm32 to drive oled, but i failed every times
@javidtahery3190
@javidtahery3190 4 жыл бұрын
thank you. that was so useful
@artemryapolov1476
@artemryapolov1476 4 жыл бұрын
Thank you for the video
@flyfree6299
@flyfree6299 4 жыл бұрын
What's os?
@flyfree6299
@flyfree6299 4 жыл бұрын
mdk have linux package?
@ControllersTech
@ControllersTech 4 жыл бұрын
It is sw4stm, not keil.
@hamedelahi2249
@hamedelahi2249 3 жыл бұрын
That's great. Thanks.
@amirhosseini4689
@amirhosseini4689 3 жыл бұрын
hi your website link is incorrect
@ControllersTech
@ControllersTech 3 жыл бұрын
It's fine. Working alright here
@vadimsolidity7228
@vadimsolidity7228 5 жыл бұрын
Thank you very much!!
@ControllersTech
@ControllersTech 5 жыл бұрын
👍
@shrijithmjain2137
@shrijithmjain2137 4 жыл бұрын
you are just awsome..........!!!!!!!!!!!!!!!!
@pusatberk4193
@pusatberk4193 5 жыл бұрын
Thanks a lot
@epartsvn
@epartsvn 2 ай бұрын
Great!
@yogicool3068
@yogicool3068 5 жыл бұрын
share link for libraries download.... Thanks in advance
@ControllersTech
@ControllersTech 5 жыл бұрын
Goto the link in the description
@محمدمهدیبیات-ب8ن
@محمدمهدیبیات-ب8ن 2 ай бұрын
Thanks for this lesson🫡
@edmelectronics4110
@edmelectronics4110 4 жыл бұрын
Thank you very much!!
@NisalDilshan
@NisalDilshan 2 жыл бұрын
Thank you very much
STM32 + OLED = Display Anything
18:01
Nick Electronics
Рет қаралды 25 М.
Сестра обхитрила!
00:17
Victoria Portfolio
Рет қаралды 958 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
STM32 OLED TUTORIAL
22:47
hacksontable
Рет қаралды 18 М.
ADXL345 with STM32 || I2C || OLED || CubeMx || Keil || HAL library
18:14
Interface ST7920 GLCD with STM32 || Serial Mode || F103 || CubeMX || HAL
18:04
19. STM32CubeIDE OLED Display. I2C with STM32F103C8T6
8:41
MicroPeta by Nizar Mohideen
Рет қаралды 39 М.
Making OLED Displays
20:20
Huygens Optics
Рет қаралды 674 М.
OLED Displays with Arduino - I2C & SPI OLEDs
41:41
DroneBot Workshop
Рет қаралды 1,1 МЛН
DAC in STM32 || Sine wave || HAL || CubeIDE
16:07
ControllersTech
Рет қаралды 68 М.
ST7735 1.8" TFT Display and STM32 || HAL
8:38
ControllersTech
Рет қаралды 41 М.
Хитрость с айфоном!
0:19
По ту сторону Гугла
Рет қаралды 267 М.
How to Hide Phone in School 😱 #shorts
0:45
Mr DegrEE
Рет қаралды 4,7 МЛН
Samsung S4 is the Goat 💀 #trollface #trending #trending #viral #shorts
0:19