Thanks! With minor changes it runs fine on Nucleo-L432KC.
@radoslavpantic94972 жыл бұрын
what minor changes?
@h.g.vansteenis28692 жыл бұрын
Why won't you tell us what changes you made?
@tupoy_ytub_uberi_psevdonim2 жыл бұрын
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.
@switcher35452 жыл бұрын
I have stn32f429i also, can I ask which particular defines you changed for it to work?
@tupoy_ytub_uberi_psevdonim2 жыл бұрын
@@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.
@switcher35452 жыл бұрын
@@tupoy_ytub_uberi_psevdonim do you know the i2c address of your oled? maybe the problem with mine is the address :(
@tupoy_ytub_uberi_psevdonim2 жыл бұрын
@@switcher3545 my oled addr is 0x78 (also can be 0x79, 0x3C)
@tupoy_ytub_uberi_psevdonim2 жыл бұрын
@@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);} }
@travishaycock7235 жыл бұрын
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!
@ControllersTech5 жыл бұрын
Yeah sounds great. I'll order one and see what can be done with it.
@travishaycock7235 жыл бұрын
@@ControllersTech Awesome, thank you. Looking forward to it!
@travishaycock7235 жыл бұрын
@@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.
@ControllersTech5 жыл бұрын
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.
@shahzaibshamim65242 жыл бұрын
Will this library work with 128x32 SSD1306 OLED?
@henadzmuhin Жыл бұрын
Работает
@MrGucluoglu5 ай бұрын
what about parallel data input GLCDs ?
@sourabhkumawat4863 Жыл бұрын
What we will need to do in order to run it on a larger display using some sort of VGA connection
@zeydane4 жыл бұрын
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.
@ControllersTech4 жыл бұрын
No, HCLK don't have any effect on scrolling. Might be the code. Try the diagonal scrolling..
@zeydane4 жыл бұрын
@@ControllersTech diagonal does the same thing where it only moves the top portion
@emersonrodrigues74765 жыл бұрын
You can make the fonts, test and ssd1306 point C and H. files not found for download.
@ControllersTech5 жыл бұрын
What u mean not found ? Have u checked inside the src and inc folders ?
@曲晉逸5 жыл бұрын
Awasome tutorial! Thanks! Learning a lot!
@elmirakassymova3802 жыл бұрын
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 Жыл бұрын
I couldn't find the previous video you talk about i.e. interfacing with ssd1306 could you link it?
@ControllersTech Жыл бұрын
There is no previous video. It was deleted. This video covers ssd1306.
@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
@abdelazizettalibi976326 күн бұрын
where can I find the librairy
@ControllersTech25 күн бұрын
Link is in the description.
@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 Жыл бұрын
@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.
@davidrosario36424 жыл бұрын
thank u, can i use it for a i2c 128x32?
@Pablo-ww5cn3 жыл бұрын
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.
@MegaEnterprice3 жыл бұрын
@@Pablo-ww5cn and SSD1306HEIGHT in ssd1306.h?
@kartikeyyendhe18408 ай бұрын
Can I use this library for SSD1309 for SPI communication mode???
@ControllersTech8 ай бұрын
No
@sureshp6325 жыл бұрын
thanks a lot and one more how to sd card interfacing using SDIO mode and SPI mode using stm32f4
@balazsgyenge93883 жыл бұрын
Great video :) It is possible to display float/double on oled?
@ControllersTech3 жыл бұрын
Yes but you need to convert them to characters using sprintf. Displays only accepts ascii
@balazsgyenge93883 жыл бұрын
@@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 Жыл бұрын
Hello, when I download the link, a file named I2c does not appear. Why could it be?
@ControllersTech Жыл бұрын
Look inside the src and inc folders
@radoslavpantic94972 жыл бұрын
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
@lazyvideos95254 жыл бұрын
i tried oled with addres 0x3c and updated .h file.still oled not working.is mandatory pull up needed.pls help me
@ControllersTech4 жыл бұрын
What's 0x3C for ? Where you get that address from ?
@DiegoPerez-bz8tv2 жыл бұрын
Hello my screen has the sh1106 can I use this library?
@meheredia Жыл бұрын
Hi! I´'m testing on OLED 1.3'' I2C with SH1106, can you find some library for them?
@vinothkannan15703 жыл бұрын
i am using F3 version stm32 do i have to change I2c pins in library ?? where should i change the pins?
@ControllersTech3 жыл бұрын
That depends on you. Just choose some I2C and cubeMX will configure the pins automatically.
@mehmetdemir56552 жыл бұрын
Help me pls, how can i clean a specific area of screen
@ControllersTech2 жыл бұрын
Just write empty character there.. ' '
@mehmetdemir56552 жыл бұрын
@@ControllersTech ohh thank you sir
@KSITREVS3 жыл бұрын
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 :)
@Coulinator131244 жыл бұрын
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.
@ControllersTech4 жыл бұрын
check some arduino libraries. Maybe those fonts can be implemented
@Coulinator131244 жыл бұрын
@@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.
@abhijithrajith47382 жыл бұрын
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 Жыл бұрын
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
@Sotheareth80864 жыл бұрын
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?
@lazyvideos95254 жыл бұрын
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
@lazyvideos95254 жыл бұрын
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
@mojh7254 жыл бұрын
hello. can you do it for lpc1768 too? i need it so much, and i can not change code for lpc1768. thank you
@omercebeci54053 жыл бұрын
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?
@ControllersTech3 жыл бұрын
There is size defined somewhere.. just change it and test. I don't know whether it will work or not.
@omercebeci54053 жыл бұрын
@@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?
@ControllersTech3 жыл бұрын
Can u send link to what oled you have ?
@ControllersTech3 жыл бұрын
I couldn't find any oled of 128x160, which uses ssd1306. I think you have some other display amd you are using wrong library
@suyamburajgmoorthilingam40983 жыл бұрын
Could not find the sample code Could you help on that
@rea10134 жыл бұрын
Sorry noobs question. Why use HSE but no external clock on the breadboard?
@ControllersTech4 жыл бұрын
HSE is external crystal. It is on the controller..
@rea10134 жыл бұрын
@@ControllersTech Oh i see, thanks.
@AG-eg2xz4 жыл бұрын
'RCC_OscInitTypeDef' could not be resolved, what can I do?
@ControllersTech4 жыл бұрын
What controller? Are u using external clock ?
@AG-eg2xz4 жыл бұрын
@@ControllersTech It worked, I was not following the instructions properly. Thanks a lot for the tutorial.
@AG-eg2xz4 жыл бұрын
@@ControllersTech I am trying to simulate this in proteus, and the OLED has a reset pin, what can I do with it? Please help!
@ControllersTech4 жыл бұрын
Don't connect the reset pin than... Or connect it to the ground
@bahadrguven62684 жыл бұрын
spi ?
@ControllersTech4 жыл бұрын
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
@bahadrguven62684 жыл бұрын
@@ControllersTech thanks a lot.
@LeonardoGarcia-uq7ws5 жыл бұрын
Great tutorial! I have tried to access the link in the description, but it isn't accessible.
@ControllersTech5 жыл бұрын
Try without https. There is some issue going on right now.
@stemprojects7613 жыл бұрын
Hello! amazing job. One question.. Can you add multiple OLED screens? is there an example for this? thanks in advance!
@stemprojects7613 жыл бұрын
i am trying to make it happen in a STM32 nucleo
@ControllersTech3 жыл бұрын
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
@soutakbiswas30292 жыл бұрын
Whare can i find those header file?
@ControllersTech2 жыл бұрын
In the description
@sylviabanerjee59204 жыл бұрын
Hi I am not getting any link to download the header files. Please help
@ControllersTech4 жыл бұрын
Download the code. You can find the files inside the respective folders
@sylviabanerjee59204 жыл бұрын
@@ControllersTech Hi .Thanks
@sureshp6325 жыл бұрын
thank u very much great tutorial very nice working perfectly thanks a lot!!!!!!!!!!!!!!
@artvnl63454 жыл бұрын
Is it possible to use this code with a STM32L432KC? With STM32CubeIDE?
@ControllersTech4 жыл бұрын
If it have i2c, than yes
@artvnl63454 жыл бұрын
@@ControllersTech Mhm I must be doing something wrong, it has 3 times I2C. No pin on the board was sending out a thing.
@nhatduyhuynh50974 жыл бұрын
this library can use for SSD1306 OLED 128x32 ??? thanks
@ControllersTech4 жыл бұрын
Yeah but you need some adjustments.. read the comments. Someone did it
@nhatduyhuynh50974 жыл бұрын
@@ControllersTech i fixed height parameter in ssd1306.h but hadnt run yet
@ControllersTech4 жыл бұрын
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
@nhatduyhuynh50974 жыл бұрын
@@ControllersTech I2C address is 0x78 or 0x7A ?
@lazyvideos95254 жыл бұрын
@@ControllersTech is pull up resistor needed externally by circuit.directly i coneected ssd1306 with addres 0x3c and changed adress in program.but not working
@mohdtanveer95525 жыл бұрын
Great tutorial!! Please make a video on how to interface SSD1963 (480x864) with STM32F207 or STM32F407. Thanks Again!!!
@dingga7135 жыл бұрын
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.
@ControllersTech5 жыл бұрын
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
@dingga7135 жыл бұрын
@@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.
@dingga7135 жыл бұрын
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.
@nefton0012 жыл бұрын
Thank you! it is amazing! working
@elmirakassymova3802 жыл бұрын
THANKS A LOT, you are the best
@andresfelipeparragafuquene48485 жыл бұрын
That video is nice but could you learn us how to use OLED working with SPI? It would be interesting thanks 👍
@ControllersTech5 жыл бұрын
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.
@xiuyangzhang69552 жыл бұрын
meto , i have try many times to use the hardware SPI in stm32 to drive oled, but i failed every times
@javidtahery31904 жыл бұрын
thank you. that was so useful
@artemryapolov14764 жыл бұрын
Thank you for the video
@flyfree62994 жыл бұрын
What's os?
@flyfree62994 жыл бұрын
mdk have linux package?
@ControllersTech4 жыл бұрын
It is sw4stm, not keil.
@hamedelahi22493 жыл бұрын
That's great. Thanks.
@amirhosseini46893 жыл бұрын
hi your website link is incorrect
@ControllersTech3 жыл бұрын
It's fine. Working alright here
@vadimsolidity72285 жыл бұрын
Thank you very much!!
@ControllersTech5 жыл бұрын
👍
@shrijithmjain21374 жыл бұрын
you are just awsome..........!!!!!!!!!!!!!!!!
@pusatberk41935 жыл бұрын
Thanks a lot
@epartsvn2 ай бұрын
Great!
@yogicool30685 жыл бұрын
share link for libraries download.... Thanks in advance