Hey, thanks for this. I was about to return my SH1106's to Amazon when I found your video. Sparse documentation from the retailers, even though they say there's RPi support. Saved me lots of time.
Thank you so much for this video! You saved me from the grief caused by the lazy supplier who did not specify in the product description which driver I need to use with this display. Exellent job!
@@TeCoEd Sir, how to clear the text writen on OLED to write next? Is there any function for clearing text or I need to blackout every pixel to write next?
Hey TeCoEd, Super useful vid. My found here is: Don't forget to replace line "device = ssd1306(serial)" with "device = ssh1106(serial)" and the new feature of the Luma library is after the code finished, it will clear the screen, so you may want add "sleep(10)" to see the result if they are really "quick one"
This is very educational, I thought mine is broken, I was able to power this same Oled in a raspberry pi pico, but for some reason, I can only control the first 10-15 pixel. So maybe I am just using the wrong library in micropython.
@@TeCoEd Luma works for Python3 (Raspberry Pi 0, 2, 3, 4, 5) but not under MicroPython (Raspberry Pi Pico). I tried using the settings under luma.oled.device.__init__.py.sh1106.__init__() in Thonny using MicroPython for the Raspberry Pi Pico, but I still see a scrambled screen on the SH1106 (I'm using SPI, not I2C)
Sending video over serial isn't really so good. I figure I'll use an old laptop screen with a driver board. I've got a Pi zero with a camera on the back of my van, a USB-ethernet sending the signal to a Pi4 with the aforementioned display in the cab. The same network is going to have a few lidar detectors attached to Arduinos and I'm working on software to combine the two on-screen.
@@TeCoEd Will do. I'll be releasing the software on open source. I got the streams working so that I can have the video as a background and I've just fixed a glitch to auto-program Arduinos as soon as they are connected.
Try adding a pause / sleep at the end of the program. Once the program ends the display is cleared, so this may be why it only displays for a split second.
@@TeCoEd thanks for replying! I ended up throwing on a While loop and that did the trick. Without it, I guess it runs as one instance. Do you know if there’s any way to use the luma.oled library for the Pico? That’s my end goal. I built my brother a 6 rotary encoder device with the pico and KMK firmware. I’m using the 1.3” sh1106 display for showing different layers to the mapping as well for a general visual layout of where things are. The .96” feels too small. It’s been fun but I was stumped for a while getting the display portion of the project to work until I found your video and plugged the display into the Pi gpio pins to follow your video. After struggling but getting it to work with the pi and luma.oled, I’m now stumped looking for ways to incorporate this library for the pico. Would appreciate any thoughts! Thanks again
Hi, I can not open an image with PIL, can you check what is wrong please? I get no errors but not see the image on the monitor and by vnc. When I click on the image it opens and shows normal on the monitor. Thx in advance. from PIL import Image, ImageDraw im = Image.open("my_photo.jpg") im.show() input("press enter")
Hi, I went through the same pain on the Raspberry Pi Pico. I'm under the impression that the 1306 driver is for the 0.96" version and the 1106 driver is for the 1.3" version?
Can the library detect the correct driver to use? I wanted to write my code so it could work with whatever was plugged in, without changes any time it's changed. I noticed the meshtastic firmware can do this. I changed the 1306 to an 1106 and it just worked.
These drivers are for each type of board so they cannot adapt, however if a different board uses the same driver then it will work like a plugged and play!
hii, Thanks for this beautiful tutorial. Can you please tell me that by using luma library how I can display real time plot? Is there any function for graph in luma ? Please help me to do this.
Hi. Not aware of a direct plot function but, you can calculate the in matplot and then write the data to the display and loop the code so it updates every 30 seconds or so.
Hi thanks for quick response, you know any solution with small screen can be connected with rasberry pi zero (gpio display) like that with color and High resolution , for agumented reality ?
Hey, thanks for this. I was about to return my SH1106's to Amazon when I found your video. Sparse documentation from the retailers, even though they say there's RPi support. Saved me lots of time.
Glad to help. Same reason I made the video, not much documentation out there.
Thank you so much for this video! You saved me from the grief caused by the lazy supplier who did not specify in the product description which driver I need to use with this display. Exellent job!
Glad to help.
Thank you very much, I was using 1306 driver and facing same problem but after watching your video, problem is solved.
Glad that it helped. 👍
@@TeCoEd Sir, how to clear the text writen on OLED to write next? Is there any function for clearing text or I need to blackout every pixel to write next?
@@PradeepKumar-ak to clear the screen use clear () this resets all the pixels.
@@TeCoEd I had used clear() and an error was produced showing> name 'clear' is not defined
@@PradeepKumar-ak what code are you using for show?
Hey TeCoEd, Super useful vid. My found here is: Don't forget to replace line "device = ssd1306(serial)" with "device = ssh1106(serial)" and the new feature of the Luma library is after the code finished, it will clear the screen, so you may want add "sleep(10)" to see the result if they are really "quick one"
Thanks for the tips. 👍
saved my day omg.
You're the best!
Thank you - I though I was going mad. I now know to look out for chipset info on external products for my PI
I am glad that it helped.
This is very educational, I thought mine is broken, I was able to power this same Oled in a raspberry pi pico, but for some reason, I can only control the first 10-15 pixel. So maybe I am just using the wrong library in micropython.
Yes most of the time it is the library!
Thank you! Got the same screen today. I'm using Micropython.
Did it work?
@@TeCoEd Luma works for Python3 (Raspberry Pi 0, 2, 3, 4, 5) but not under MicroPython (Raspberry Pi Pico).
I tried using the settings under luma.oled.device.__init__.py.sh1106.__init__() in Thonny using MicroPython for the Raspberry Pi Pico, but I still see a scrambled screen on the SH1106 (I'm using SPI, not I2C)
Very Great !!! Thanks for helpme !!!
I had the same issue... also nearly thrown it out. Thanks for the informations!
You are welcome.
Thank you! You saved my day ;)
You are welcome. 👍
Sending video over serial isn't really so good. I figure I'll use an old laptop screen with a driver board. I've got a Pi zero with a camera on the back of my van, a USB-ethernet sending the signal to a Pi4 with the aforementioned display in the cab. The same network is going to have a few lidar detectors attached to Arduinos and I'm working on software to combine the two on-screen.
Let me know how you get on?
@@TeCoEd Will do. I'll be releasing the software on open source. I got the streams working so that I can have the video as a background and I've just fixed a glitch to auto-program Arduinos as soon as they are connected.
Any idea why the hello world example would appear for a split second and then the screen is black?
Try adding a pause / sleep at the end of the program. Once the program ends the display is cleared, so this may be why it only displays for a split second.
@@TeCoEd thanks for replying! I ended up throwing on a While loop and that did the trick. Without it, I guess it runs as one instance.
Do you know if there’s any way to use the luma.oled library for the Pico? That’s my end goal. I built my brother a 6 rotary encoder device with the pico and KMK firmware. I’m using the 1.3” sh1106 display for showing different layers to the mapping as well for a general visual layout of where things are. The .96” feels too small. It’s been fun but I was stumped for a while getting the display portion of the project to work until I found your video and plugged the display into the Pi gpio pins to follow your video. After struggling but getting it to work with the pi and luma.oled, I’m now stumped looking for ways to incorporate this library for the pico.
Would appreciate any thoughts! Thanks again
@@ElPolloPolloPollo the Pico is programmed with micro Python so if you can find an API library for the display then yes it can run in the Pico.
Here is a potential post as a reference point. randomnerdtutorials.com/raspberry-pi-pico-ssd1306-oled-micropython/
Hi, I can not open an image with PIL, can you check what is wrong please? I get no errors but not see the image on the monitor and by vnc. When I click on the image it opens and shows normal on the monitor. Thx in advance.
from PIL import Image, ImageDraw
im = Image.open("my_photo.jpg")
im.show()
input("press enter")
Hi, I went through the same pain on the Raspberry Pi Pico. I'm under the impression that the 1306 driver is for the 0.96" version and the 1106 driver is for the 1.3" version?
Can the library detect the correct driver to use? I wanted to write my code so it could work with whatever was plugged in, without changes any time it's changed. I noticed the meshtastic firmware can do this. I changed the 1306 to an 1106 and it just worked.
These drivers are for each type of board so they cannot adapt, however if a different board uses the same driver then it will work like a plugged and play!
Could i also use this driver for sh1106 on esp32? Without using a arduino ide.. im not aloud to use arduino librarys for school
Yes you can. Just check you have the correct version as this video is older and there may have been updates since.
hii, Thanks for this beautiful tutorial. Can you please tell me that by using luma library how I can display real time plot? Is there any function for graph in luma ? Please help me to do this.
Hi. Not aware of a direct plot function but, you can calculate the in matplot and then write the data to the display and loop the code so it updates every 30 seconds or so.
can you please provide a code for live scrolling plot using this came luma driver?
Sorry I don't have this code.
Sorry It's a black and White screen?
Yes black text on blueish background.
Hi thanks for quick response, you know any solution with small screen can be connected with rasberry pi zero (gpio display) like that with color and High resolution , for agumented reality ?
@@simonevetere9152 is this any good? shop.pimoroni.com/products/hyperpixel-4?variant=12569485443155
it's working, but it's showing the text just for less than a second, then disappear again, any ideas?
Do you want to send the code or a screenshot? May need a pause or wait?
What's with the random loud sounds?
It might be someone in the kitchen next to where I am filming?
@@TeCoEd 0:52 and 1:31 someone in the kitchen
@@nrdesign1991 that was a chicken. 🐔
where is the code?
In the link in the description. Second link I think.