1.3" OLED #86
Replies: 7 comments 25 replies
-
Hmm, my first guess was that the dimensions pixel dimensions were different as, the way I understand it, the graphics lib just spits out a long sequence of bytes that auto-wrap to create the image. However, the listing claims the same dimensions as expected. That said, even the first line isn't working there and the text that is working is way off. |
Beta Was this translation helpful? Give feedback.
-
I'm wondering whether or not you can get it to work with some of the other examples out there? I found this page which walks you through running some examples from the Adafruit library. Could you test one of these to see if they work? https://www.raspberrypi-spy.co.uk/2018/04/i2c-oled-display-module-with-raspberry-pi/ |
Beta Was this translation helpful? Give feedback.
-
Yup. I'm happy to try the OLED test code. Naturally, being lazy, I was hoping for a drop-in replacement. It seems that some of the other 1.3" displays use a different driver chip. It's also possible that the vendor's description was, shall we say, inaccurate. |
Beta Was this translation helpful? Give feedback.
-
Ok. A little progress, based on random Googling. In the Adafruit driver there is a class _SSD1306, which has a parameter page_addressing. I forced this to True, because reasons, and I have an interim result. You can see four pixels of noise in the centre of the display, which is dead memory. The SH1106 chip supports up to 132 pixels wide, but the display itself is 128 pixels. The SSD1306 chip only supports 128 pixels. The generated image is 128 pixels wide, so the last four pixels are never written. Obviously the display should be shifted so that the dead pixels are not visible. Word on the street is that the SH1106 based displays which have 128 pixels are offset to the "centre". i.e. there is a strip of two pixels to the left and right which we don't see. Other drivers deal with this, but the Adafruit one might not. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I thought I had written a conclusion here, but it does not seem to be present. I built a four-button board the same size as the ones I have ordered. Everything works as expected. There are occasional glitches when updating the display, but that could be because the core code is written to use the Adafruit library which may deal with screen updates in a different way. Going forward I'm not sure what the best approach is. I think the luma.oled library is more versatile than the Adafruit library. Upgrading from one to the other might be tricky though, so maybe a new project could be started, with pretty much the same code, but installs the new library. Anyway, I'm going to build an enclosure for my screen and buttons and install one each on my two printers. Great project! |
Beta Was this translation helpful? Give feedback.
-
I see there is one other person looking for this. What is the best way to proceed? |
Beta Was this translation helpful? Give feedback.
-
I decided I'd like a slightly bigger display.
I purchased this:
https://m.aliexpress.com/item/4001205659261.html
It is a 1.3" OLED display with SSD1306 driver (same as the original 0.96" display), I2C interface, and 3.3V power supply.
It appears at address 0x3C, so far, so good, but only the top line of the display works, and it's slightly offset. The rest of the screen is just noise.
I'm happy to do some work on this, but if anyone has any obvious suggestions to start with I'd love to hear them.
Beta Was this translation helpful? Give feedback.
All reactions