-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seeedstudio Grove - OLED Display 1.12" not working/SH1107 #418
Comments
Looks like they use a new chip on the modules, SH1107G. |
Is there a link to the SH1107G controller datasheet? |
here: thanks for looking into it! |
Unfortunately this is NOT the sh1107 Datasheet. |
hmmm, found it in the oled wiki page: |
Yes, but for the any update I need to know how to program the SH1107. This is not mentioned in any documents of the seeed home page. The SH1107 datasheet should be provided from "sino wealth". It will contain the command table of the SH1107 controller. |
The SH1107 is not even mentioned on the vendor home page. Maybe it is too new. |
The library provided by seeed already works with the SH1107. Not sure if it helps!!! |
Well, partly... For example this code is very strange: Without knowing the datasheet of the controller it is difficult to guess what the software does. |
yeah I see...what about this? |
What about what? I have the SSD1327 datasheet on my harddisk and the SSD1327 is well supported. But for support of the SH1107 I need a command description of the SH1107, which is in the datasheet of the SH1107. That was your request, right? Support for the SH1107? |
No response, closing this. I need a datasheet of the SH1107. |
@olikraus - try this, i received it today. I plan to host it on github at some stage, but till then: |
Wow, yes, this is the information i was looking for. Is there still interest for supporting the SH1107? |
There certainty is from me 😊 |
well, then... would you also do some tests for such a device? |
I would be happy to, but mine is slightly different - I have a 64x128 13pin SPI oled that i can test |
ok, so there is a 96x96 seeedstudio and a 64x128 oled. |
@joaodafonseca - if half your screen is garbled (like mine was) try adjusting the screen offset - 0xD3 command. A value of 0x60 (taken from my screen spec sheet) worked for me. Why 0x60? Its 92 - makes no sense to me, and I'm not haopy about that. @olikraus - the driver is not very different from the SSD1306. I needed to add the offset above, and change my display mode (x20 command)/routine to use the equivalent of what is 'paged' on the SSD1306. The SH1107 only supports Horizontal/Vertical with Column/Page but not Page/Column incrementing (respectively). I also needed to set the SH1107 specific DC-DC variable setting. This chipset is external Vpp source only. I modified a modified fork of the SFE library and will push the changes to my fork in a day or so if you are interested. |
u8g2 includes a semiautomatic process for the creation of new drivers, so pull requests are a little bit difficult: Pull requests need to update https://github.com/olikraus/u8g2/blob/master/tools/codebuild/codebuild.c I hope i finde some time for this soon (maybe today evening) |
No problem, ill leave the PR then. Hopefully ive helped anyway 😊 . I need to port it to the nrf52832 for testing so ill look at that tonight/tomorrow. |
I have created a new device for the SH1107 as a copy of the SSD1306 controller: https://github.com/olikraus/u8g2/blob/master/csrc/u8x8_d_sh1107.c The u8x8 constructor is: U8X8_SH1107_128X64_4W_HW_SPI u8x8(/* cs=/ 10, / dc=/ 9, / reset=*/ 8); The u8g2 page mode constructor will look like this: So now the question is, which changes are required for the SH1107? |
I have added another device for the seeed 96x96 display: U8X8_SH1107_SEEED_96X96_4W_HW_SPI I have only the init sequence for the SEEED 96x96, so i will start for this. |
ok, i modified init sequence for the SEEED 96x96 constructor. I have not yet added the 0xd3 0x60 offset. In fact i have not seen this in the datasheet. How shell we continue? Shell i create a u8g2 beta zip lib for testing with Arduino IDE? To continue I need this: Thanks, Oliver |
hmmm i am somehow stuck... I guess I once need to buy such a display |
Hold off for a little bit. I've got a few more things to test first. The screens are about $12AUD from AliExpress including shipping - im certainly happy to pay your cost if you have a bpay. |
All sorted. Results are here: Ill upload the changes tomorrow after i clean up the test code if that's alright. |
@joaodafonseca - changes have been merged, time for this issue to be closed 😊 |
But i need to do some tests with the patch :-/ |
Whoopsie, sorry - jumped the gun there |
I applied codebuild script... Further testing needs to be done. |
can you download U8g2 2.21.6 from here: Install via Arduino IDE (add zip lib menu). Will the SH1107 support work? Thanks... |
Hey @olikraus, sorry for the delay (i've been away). |
Sounds good. I also did some general lib tests, so all looks good. |
So... I hope all is done here and I did not miss anything... closing... |
I am using seeduino(like Arduino Uno) to test Grove-OLED 1.12''. The hardware version is 2.2. It uses SH1107G as driver but screen change to 128*128. And address is 0x3C. I try to use your lib to test but nothing show in my OLED. I have test official library form Here. It is too simple and didn't support V2.2 well. But I can use this to test hardware and I find OLED works well. |
Which constructor did you use? Which u8g2 version? |
Yes looks good. However, I have never tested this device, I can only refer to the statement from @micooke Do you see any activity on the I2C lines? |
I have an SPI screen and it works perfectly! @watershade did you try the full page buffer or half page? |
@micooke |
funny enough seeedstudio is referencing u8g2 in there example - in some days - 25.10.21 - i can test with an actual device from SeeedStudio. |
@s-light try using a version of the library from 2.21.7 onwards, as referenced in this issue |
i just checked and in the latest release @micooke thanks for the pointer!! i think my problem was every time i searched i used |
Goodluck! |
confirmed. with the newest version it is working as expected. |
Hi,
I'm trying to run the examples of the library with the Seeedstudio OLED Display 1.12" but I only get glichy characters on the screen!
I'm using the following constructor:
U8X8_SSD1327_SEEED_96X96_SW_I2C u8x8(/* clock=/ SCL, / data=/ SDA, / reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96
and using the pins 18 and 19 for SDA and SCL.
Any ideas? thanks in advance
João
The text was updated successfully, but these errors were encountered: