OLEDproc add-on

  • I just finished one little project. The work took me several weeks, but I believe it was worth it.

    There are many OLED graphic displays on the market that are cheaper and look better than traditional (character) LCD displays.

    I was sorry that so far these displays could not be used as a display for the Kodi multimedia center.

    That is why I set myself the task of remedying this shortcoming. I am presenting the result of my work to you today.

    The core of the solution is a new add-on called OLEDproc. As the name suggests, it is similar to the LCDproc add-on (which is used to control LCD character displays).

    It is therefore clear that the OLEDproc add-on also needs the XBMC LCDproc add-on (which is the data source) for its work.


    However, the XBMC LCDproc add-on needs one small modification to work properly with OLEDproc - adding UTF-8 encoding support.

    The modified add-on is part of the attached SW package. At the same time, I asked the author of the add-on to include the modifications in the repository version. However, the author has not yet responded.

    OLEDproc also depends on script.module.luma, script.module.smbus2, and script.module.cbor2.

    I also created these add-ons and they are also part of the attached SW package.

    In the current version, OLEDproc only supports I2C displays. It may not be difficult to support SPI displays. However, I do not have any at my disposal.


    I tried the add-on with LibreELEC 10.0.2.

    I tried two SBCs: RPi4B (4GB) and Orange Pi PC (1GB). The tests were successful on both SBCs, the add-on worked as expected.

    I tried two displays:

    One with the SH1106 chip (I can't give a specific link, the seller no longer offers the product)

    and one with SH1107 chip (eg https://www.aliexpress.com/item/4000547865501.html).


    In the case of RPi4B, the I2C interface must be enabled by adding rows

    Code
    dtparam=i2c1=on
    dtparam=i2c_arm=on

    to the config.txt file.


    In the case of OPi PC, the file sun8i-h3-i2c0.dtbo should be stored in the /overlays directory and the line FDTOVERLAYS /overlays/sun8i-h3-i2c0.dtbo should be added to the extlinux.conf file.


    I'm hoping someone will be interested.


    SW package

  • Thank you for your response, but I need clarification. Which GitHub repository specifically do you mean? I'm not sure I understand well (unfortunately my English is terrible, but at my age it won't get any better).

    Do you mean any of my own repositories or do you mean the LibreELEC repository or some completely different one?


    Note:

    I created a PR for GitHub repository herrnst/script.xbmc.lcdproc, where I summarized the changes needed to add UTF-8 encoding support.

    I also created a PR for GitHub repository rm-hull/luma.oled, where I added support for displays with the SH1107 chip.

  • @Pretoriano

    Thank you for trying and positive response. Also thank you for pointing out the missing port in the I2C menu. I'll add to it in the next version. BTW: what type of display (driver chip) do you use?

    Edited once, last by LuRu: Typo ().

  • LuRu i'm using the SH1106 (got it from Aliexpress an year ago).


    As for the i2c bus (port), setting it to "2" in my config.txt doesn't seem to create any issue/conflict, but iirc people (based on some raspberry pi documentation) recommend to use a bus number higher than "2" because the lower ones might be reserved for other things (e.g. for eeprom).

  • I built the display into the cabinet with the Orange Pi PC board and took a few photos to see what it looks like in operation.


  • Thanks for trying, so far I have very little feedback. I have (since June 6) ordered the same display. The only difference is that the connection terminals are on the shorter side of the display. When I get it, I will try to solve the SPI interface in the add-on.

  • I just received an ordered display so I can start working on it. But it is already clear that it will be a little more complicated than I expected. As for the display with the SSD1322 chip, I would do that anyway - all SPI displays that are supported by the luma.oled library should be added.

    I hope it works out.

  • Thank you, this is the display I use for something else, picoreplayer, but I want to see also for libreelec.


    Maybe it helps what was done:

    GitHub - peteS-UK/EvoSabre-DAC-PCP: Script and extensions required to configure piCorePlayer 8 on a Audiophonics EVO-SABRE 2xES9038Q2M DAC
    Script and extensions required to configure piCorePlayer 8 on a Audiophonics EVO-SABRE 2xES9038Q2M DAC - GitHub - peteS-UK/EvoSabre-DAC-PCP: Script and…
    github.com