[RPi] Argon ONE V5 Case

  • Go to Best Answer
  • It's not currently on the ToDo list as the V5 has nothing in common with the previous ONE enclosures other than the name and the manufacturer. In addition, I don't have an OLED device to test the function, and I would need capable testers with the ONE V5 case to get useful feedback in a timely manner during the development/debugging phase.

    As far as I can see in Argon40's implementation with their scripts, the OLED requires additional Python modules like Luma.OLED and some binaries provided by Argon40. The latter without licence information. This hinders an integration, not only the additional abundant effort.

    What expectations would you have regarding OLED support? Only the few cyclically repeated system information as with the argon1v5.sh script?

  • No expectations really.
    Just playing with the case and had bought the oled without really considering if was supported.

    Love the forum btw.

    As a super noob I was able to get everything else running and got all my questions answered by reading forum posts.

    Thanks for the detailed response.

    Very much appreciated!

  • Have a look at the OLEDproc add-on:

    LuRu
    April 25, 2022 at 5:02 PM

    So the first thing is activating the I2C interface. I think OLEDproc is adaptable for Argon ONE V5, but no noob solution.

  • Hey guys, I got the Argon ONE V5 case and OLED module today and had similar thoughts to OP (I also use the NVMe add-on but this just works straight out of the box). I got this working by using the Argon ONE Control add-on and Docker (add-on) with Python to run a script, where the I2C of the RPi5 is passed through to the Docker container (uses luma.oled).

    1) Install Argon ONE Control add-on (enables I2C, fan, power button, temp controls)

    In Kodi:

    1. Add-ons → Install from repository → LibreELEC Add-ons → Program add-ons → Argon ONE Control → Install
    2. Reboot to complete install


    2) Verify I2C is enabled and can see the OLED module

    SSH into LibreELEC and then run:

    Code
    i2cdetect -y 1

    You should see the OLED module at 0x3C


    3) Install Docker Kodi add-on

    In Kodi: Add-ons → Install from repository → LibreELEC Add-ons → Services → Docker → Install


    4) Create the OLED script

    Create a directory for the script and then create oled_stats.py:

    Code
    mkdir -p /storage/oled
    nano /storage/oled/oled_stats.py

    Paste and save this:


    5) Run the OLED container

    Create and run the container by copying/pasting the below into your SSH session

    6) Interacting with the OLED container

    • Container Logs: docker logs -f argon-oled
    • Restart Container: docker restart argon-oled
    • Stop/Start Container Manually: docker stop argon-oled / docker start argon-oled
    • Remove Container: docker rm -f argon-oled

    The --restart=unless-stopped flag makes the OLED container auto-start on every boot
    The --network host flag is needed for the OLED screen to show the IP of the RPi5, and not the IP of the bridged docker network/container.

    This is just very basic so I'm sure someone who actually knows what they're doing can create something more elegant.

  • The Argon ONE Control add-on is not required for the ONE V5 case, so you can skip this step. To enable the I2C bus, this line in the config.txt file is sufficient:

    dtparam=i2c=on

  • The Argon ONE Control add-on is not required for the ONE V5 case, so you can skip this step. To enable the I2C bus, this line in the config.txt file is sufficient:

    dtparam=i2c=on

    Is it not needed at all? I never tested the power button on the V5 prior to installing the Argon One Control add-on but I was under the impression it was needed to allow the use of fan "curves" in relation to CPU and SSD/NVMe temps at the least. Does the ONE V5 fan turn on automatically based on some hardcoded temp value?

    In any case its a lot of fun tinkering with the OLED screen to get it to display what I want it to: