Node-red-contrib-oled sh1106 fuzzy image (just random pixels)

Hi,
I have installed the node-red-contrib-oled and tried to show something on sh1106 type oled screen but i see just random pixels. When i run the display by a phyton code like luma.oled webpage (Python usage — Luma.OLED: Display drivers for SSD1306, SSD1309, SSD1322, SSD1362, SSD1322_NHD, SSD1325, SSD1327, SSD1331, SSD1351, SH1106, SH1107, WS0010, WINSTAR_WEH 3.10.0 documentation) screen is normal and works pretty good. But i want to control this screen on node-red and cant get a normaly working screen. On luma's python code, screen type should be choosen. Maybe it's a driver problem here or another thing. Is this a way to choose device type on node-red-contrib-oled node? Or any other advise?

Hi @Yusuf Welcome to the froums.

I am not an expert at OLED display address maps.

But the module, node-red-contrib-oled uses oled-i2c-bus as a way to tap into the hardware, and this package is reported to only work with SSD1306 controllers

A NodeJS driver for I2C/SPI compatible monochrome OLED screens; to be used on the Raspberry Pi! Works with 128 x 32, 128 x 64 and 96 x 16 sized screens, of the SSD1306 OLED/PLED Controller.

On luma's python code, screen type should be choosen. Maybe it's a driver problem here or another thing

That is the key thing here, the module is fixed to SSD1306 based controllers.

there maybe others who, here can offer guidance if I am incorrect (quite possible :sweat_smile:)

Did you try the example flow talked about in the node page: node-red-contrib-oled (node) - Node-RED

there is also an example page: https://flows.nodered.org/flow/a855b868e29e0af2744b1a5fa625f118

Thanks for your reply @marcus-j-davies . It wasn't an explanation about supported screens on node-red-contrib-oled modules page. And, I haven't seen the descriptions about oled-i2c-bus drivers before that you shared. But there is an interesting situation; it's a different module for sh1106, nodered-sh1106. But maybe its old and some errors on installation.
However when I install the node-red-contrib-oled node, it seem a conflict message on palette management page for nodered-sh1106 with node-red-contrib-oled node. So i tought node-red-contrib-oled node is newer and usable for sh1106 type screen. I guess I was wrong.

Thanks for your reply @zenofmud . I tried but it was same issue, something comes to screen but not on the true pixels and not readable (I adjust bus adress truly: 0x3c).

  • What device do you have the OLED connected to? a RPI?
  • how do you have it wired?
  • What device is NR installed on?
  • What version of NR and node.js are you running (you can get this from the startup log)
  • if using a Pi, do you have I2C enabled?

It looks like you have posted an issue on the node's GitHub page and that is the best place to get an answer.

  • Yes,I have an Raspberry Pi 3 Model B+,

  • I have wired the sh1106 type OLED screen to the proper GPIO pins, otherwise I could not run it with the example on luma page as I mentioned before.

  • I run node-red on RPI

  • Nodejs version: v16.19.0
    Node red version: v3.0.2

  • I2C enabled

Thanks. I hope I get an answer from GitHub page and share the solution for everyone.