A while back, I got myself a Raspberry Pi 5 8GB with an Argon ONE V3 case.
I didn’t pick it for any special reason - it was just the first one I found that had two things I wanted: active cooling with a decent heatsink, and native SSD support. Later I found out this case also works with an IR remote and can output audio through a 3.5mm jack (but for that you need to buy a DAC add-on board).
So I ordered everything, got it, and… put it in a drawer. Now I finally have the time (and the motivation) to put it all together and turn this Raspberry Pi 5 into a proper media center.
Just to clarify - I already had a Raspberry Pi 5. The initial idea was just to try this mini PC as is. But in the process of getting to know it better, I decided to try it as a media device - and it turned out to be a perfect fit for that.
Not saying it’s necessarily the best choice. Specialized devices are probably (almost certainly) easier, more convenient, and better. But that wasn’t the point. The point was: I had a Raspberry Pi 5, one thing led to another, and it ended up as a media player. Just for fun.
Writing the image and editing config.txt (on Windows)
Raspberry Pi Imager:
- Device: Raspberry Pi 5
- OS: LibreELEC-RPi5
- Storage: SSD (via USB enclosure)
Settings in Imager (Edit Settings button):
| Setting | What to do |
|---|---|
| Wi-Fi | You can fill it in (then the Pi connects right away). Or skip it - you’ll set it up on first boot through the Kodi wizard |
| SSH | Must enable. Set a password for root. Without SSH you can’t connect to the console and run commands |
| Root password | Pick one and remember it |
After writing, open the LIBREELEC drive in File Explorer, find config.txt, open it in Notepad, and add these lines at the end:
# Enable PCIe for NVMe SSD
dtparam=pciex1
# OPTIONAL: Force PCIe 3.0 mode
# If the system won't boot or freezes - remove this line
dtparam=pciex1_gen=3
# Enable I2C and UART for case communication (button, fan, IR)
dtparam=i2c=on
enable_uart=1
# Give max USB current - helps keep the SSD stable
usb_max_current_enable=1
# Enable IR receiver on GPIO 23
dtoverlay=gpio-ir,gpio_pin=23
# Enable the DAC audio module
dtoverlay=hifiberry-dacplus,slave
Important: each dtoverlay goes on its own line. Don’t combine them.
Save the file, eject the drive.
First boot
Connect the SSD to your Pi (inside the case), plug in power. Wait for Kodi to load.
- If you didn’t set up Wi-Fi in Imager - configure it in the first-run wizard
- SSH is already enabled - you can connect from your PC:
ssh root@your_pi_ip
Offline installation of Argon ONE Control addon
Normally, this addon installs automatically from the official LibreELEC repository. But if for some reason the repository isn’t available (no internet, blocked, etc.), you can download everything you need and install it manually.
At the time of writing, LibreELEC version is 12.2. If you’re using a different version, look for the corresponding directory (e.g.,
13.0.0or whatever matches your system). As for the file version inside the catalog - I personally pick the latest one.
| File (download link) | What it is and why you need it |
|---|---|
virtual.system-tools-[version].zip | Base system utilities package for LibreELEC. Many add-ons rely on it. |
virtual.rpi-tools-[version].zip | Tools for low-level GPIO access on Raspberry Pi. Required for the Argon ONE add-on to control the button, fan, and IR receiver. |
libreelec_argononecontrol_x.x.x.zip | Main Argon ONE Control add-on. Handles power button, fan speed, IR remote support, and the DAC. |
Important: package versions must match your LibreELEC version.
Installation on the Pi:
- Copy all 3 ZIP files to a USB drive, plug it into the Pi
- Kodi → Add-ons → Open box icon (top left) → Install from zip file → select your USB drive
- Install in this order:
virtual.system-tools.zipvirtual.rpi-tools.zip
- Reboot the Pi (
rebootvia SSH or through Kodi menu) - Install
libreelec_argononecontrol_x.x.x.zip - Reboot again
Done. Power button, fan, SSD, DAC, and IR remote all work.
23 Days Later
It’s been 23 days since I built this media player. I can confidently say - it handles its tasks just fine. Despite the lack of a hardware H.264 codec, FullHD videos play normally.
When trying to play a video from a Synology NAS where the audio track was separate - the player hard-locked. I solved it by merging everything into a single file and copying it to the local SSD via the USB port from a portable SSD. And copying, by the way, is pretty fast.