Holiday Project – The (almost) perfect Media Box based on Raspberry Pi
The project over the last holidays was to rework the media device setup for the kitchen which includes the following 3 requirements: Gaming, Music and Video/Streaming. Furthermore, I didn’t want to use a standard Android/Apple device which runs out of support in a few years or ran already out of support. Hence – my choice was a Raspi-3B combined with a 15″ touch screen connected via HDMI.
Let’s dive into the details!
One of the unwanted leftovers of our industrialized and digitized society is old hardware that no longer is supported (phones, tables etc.), does not properly work anymore, does not receive security patches anymore (looking at you Android/Google ecosystem) or just has been slowed down intentionally (looking at you Apple) in order to force you to buy new hardware. Especially phones and tablets are affected since you can hardly reuse them in a proper way as long as you don’t want them to run on outdated systems. In contrast, old PC hardware can be renewed, specific parts substituted etc. This is hardly the case with modern phones and tables – and of course, this is done intentionally. We are expected to continue buying and pushing the industry.
So what we as society do here is not sustainable at all from a longterm perspective – hence, I wanted a media device where I have more control over and can apply specific configurations/changes on my own. The Raspi is perfect for this usecase – although it will be interesting to see how things work out in one or two decades: Will we still be able to use older Raspi hardware for our intentions? I guess and I hope so. Why? The Raspi 3B model has been brought to the market in 2016, so basically 5 years ago, and you can still use it with updated and fully-patched software.
As stated, I had 3 different requirements: the device needs to support gaming, music and video streaming.
- Easy and quick to start for some funny games during breaks etc.
- Multi-player support
- Compatible with gamepads – USB or Bluetooth
- Big enough screen – ideally, touchscreen
- Broader range of games
- Web-based radio
- Easy to use, stable system
- Needs to be controllable via touch screen
- Ideally, needs to be controllable via remote device (phone etc.)
- Stream videos from online sources / network share / DLNA
- No 4K, Full HD is sufficient and maximum
I picked the Raspi-3B since I still had an unused one and why buy a new one in case this version from 2016 still works? Almost 5 years old and you can still get software for it that is fully supported – great stuff. I use a 64GB card to ensure enough space for whatever OS images that are about to come.
The screen required some discussion since I wanted to go with a smaller one first (7″) but decided then to go with a 15″ due to the gaming requirements. The final choice was this one: 15.6inch Capacitive Touch Screen LCD (H) with Case, 1920×1080, HDMI, IPS, Various Systems Support produced by Waveshare. I wanted a screen that somehow had a track record with the Raspi – without the need to tinker around with screen resolutions, drivers etc. The Waveshare one promised that and kept it. The big plus was: It also works out of the box with Volumio, the music image I used (see Software below). I didn’t even need to make the adjustment mentioned on the Waveshare article.
First of all the bad news: None of the “all-in-one-solutions” out there that I reviewed fulfilled all requirements mentioned above. This means, I need a multi-image setup which makes it easy to switch between different images depending on the purpose.
How can you achieve that on a Raspi?
It’s quite an amazing piece of free software that brings along a multi OS installer& downloader. So you basically boot into your PINN image from which you can download & install further images, boot them etc.
Interested in the OSes supported by PINN with automatic download? See here. Additionally, PINN even supports the Waveshare touch screen out of the box. The article references only the official Raspi touch screen of 7″ here but the 15″ one from Waveshare also works.
Important: Stick to the flashing instructions for the SD-card since this could lead to problems if not done properly.
Volumio is a free and open-source music player. As you can see from the OS list of PINN, Volumio is automatically supported so you can download it via the PINN interface. Volumio has some paid services and hardware which we will not use here – the open-source and free version can be found here. There is a quite an active community which can be found here.
Important: Volumio seems to be quite a security nightmare – so this system is NOT secure at all by default. The creators clearly choose usability before security (open SSH interface with default passwords, not password-protected web-interface etc.). You can find some discussions here on how bad the situation is. In regards to privacy, check out the Google Analytics thread here. So it really depends on where you put this system up and running.
In terms of gaming I decided to check out Recalbox since my experience with Retropie and Gamepads has been quite horrible. Recalbox was supposed to be better – and yes, I can confirm that my gamepads worked without any issues (Bluetooth Pairing). The gitlab page can be found here and the community page is here.
The UI of the Recalbox is quite amazing and very intuitive – it works without issues on the Raspi 3B.
Important: Also Recalbox is NOT build with any security in mind – see further information here. It’s a gaming OS without security.
Video: LibreELEC / Kodi
Kodi (formerly XBMC) is a free and open source media player application developed by the XBMC/Kodi Foundation, a non-profit technology consortium. More specifically in regards to my Raspi scenario, I use Kodi in the context of LibreELEC: “LibreELEC is a lightweight ‘Just enough OS’ Linux distribution purpose-built for Kodi on current and popular mediacentre hardware.”
With LibreELEC you get a full working OS including Kodi that runs out of the box with the installation routine via PINN. Kodi itself is quite powerful, check out the feature set here. It works very well with the Waveshare Touch Screen mentioned above – but also gamepads can be connected via Bluetooth for controlling the UI.
My requirements, as mentioned above, were: streaming video from online resources (IPTV, no Netflix/Amazon etc.) and local network resources (shares, DLNA). All these requirements could be fulfilled: local network resources are now connected via webdav – online IPTV resources are included via the Kodi addon PVR IPTV Simple Client. You simply add your .m3u file of your provider and it worked out of the box.
The setup above is not perfect but it fulfills my requirements in an efficient way. Ideally, you would have one system/OS that basically covers all three requirements, but something like this does not exist as far as I know (I’m aware that you can at least trigger Kodi out of Recalbox though).
PINN specifically makes the switching between the systems smooth and easy. Afterwards, the specific OSes are powerful enough to fulfill all requirements thanks to the great work of all open source contributors out there. It should be emphasized that I / we as a user community owe them quite a lot for some amazing piece of software.
I’m looking forward to see whether this setup still remains active in 5-10 years and the Raspi hardware can be still used.