Verified working with 10.0.1
After 6 years of using cheap boxes I decided to explore other hardware options. I was shocked at the price of Shields and some higher end boxes based on Amlogic S922X chips. After some pondering I ended up getting a Raspberry Pi 4 for it's price to power ratio. I realize that it may not be better or even equivalent to the aforementioned solutions, but it certainly beats my limping 905X based boxes.
Using a RPI4 is definitely not for the plug and play hardware crowd but it is not that hard either, until you get to the IR part. There is no easy solution other than Flirc. Unfortunately your IR sensor is in the back, and even more insulting, it costs 1/2 the price of the PI4 itself! I also looked at using CEC which can be a good solution for people using their TV remote, but one of my main requirements was a solid universal remote.
I have a rather complex audio setup and I value simplicity above all else, which is why I insist on an affordable, durable, and easy to use remote like the Harmony 650. To me the 650 is the ideal remote and more importantly, it's survived about 8 years so far, which is a testament to its great design. As a dyed in the wool gadgeteer, I originally bought their more expensive model but my family managed to break the screen within 3 months. And let's face it, how often do you really need a touch screen?
- This guide does not try to explain the why of the subject, rather the how which is why I cannot give support. Please direct your questions to the forum experts.
- I put this together from a few sources so I may have mis-remembered a few things. Please do the forum a favour and let me know if I need to change, correct, or amend this guide.
- Raspberry Pi 4B 2GB
- RPI4 enclosure that allows infrared signals to pass through the front. I am partial to this one but you do need to carefully align the sensor.It's pretty cool looking and includes the power supply, fan, and heatsinks fro $21 CAD. Pretty good deal if you ask me.
- TSOP38238 IR receiver - Installed on GPIO 18 as per this article.
- Harmony 650
- LibreELEC USB-SD Creator app
- mecool rc_keymap in the files.zip file attached to this post
- rc_maps.cfg in the files.zip file attached to this post
- Install the IR TSOP as per this guide. It's very easy, only 1 component and 3 wires. Do not install in an enclosure until you confirm proper operation.
- Install the Mecool KIII Pro device on your remote using the Harmony software.
- Downloaded the LibreELEC USB-SD Creator and use it to select the latest LE RPI4 image and burn it to an SD card.
- Plug in a USB mouse. A keyboard, while not strictly necessary may be useful to ease text entry.
- Put the SD card in your RPI4 and boot. Kodi's wizard will walk you through the initial setup:
- Enable SSH
- Change the default name from Libreelec to whatever you want, or leave as is
- Configure your network
- Set wait for network before booting. I set a 20 second maximum wait time use whatever works for you
- Disable CEC in Kodi: System -> Settings -> Input -> Peripherals -> CEC Adapter -> Disable
- Reboot to make sure it reconnects to your network with the proper name, default is Libreelec.
- In OS X Finder, you should see Network under the locations section in the left panel.
- Click on it and then on Libreelec, or whatever name you used when you initially set up Kodi. It will now appear in the side panel of connected network devices.
- Open the Configfiles folder and drag in the rc_maps.cfg file attached to this post. Please note that many guides will walk you through terminal to do this. Fortunately, some very forward thinking developer designed it so that the normally hidden .config directory is automatically mounted as Configfiles, making it much easier to accomplish these tasks from a computer.
- Open the rc_keymaps folder and drag in the mecool file attached to this post.
- Now we need to ssh into the RPI4. Open Terminal in OS X or Putty in Windows:
- Connect to the RPI4 by entering: ssh root@libreelec (or ssh root@nameyougaveit)
- When prompted for password, enter it. The default is: libreelec
- We need to remount the /flash directory as read/write to modify a file: mount -o remount,rw /flash
- We now need to edit the file using the built in text editor, Nano: nano /flash/config.txt
- Add the following text to config.text. just above the End of Default Configuration text. (pin # = pin you used, default is 18 for most people 23 is for Argon One). dtoverlay=gpio-ir,gpio_pin=18Save changes with CTRL O
- Exit nano with CTRL X
- To finish, remount /flash as read only: mount -o remount,r /flash
- After making any changes to the rc_maps file you need to make it permanent. Enter the following:
- systemctl stop kodi (The system may seem like it crashed but be patient, it can take almost a minute)
- systemctl stop eventlircd
- ir-keytable -a /storage/.config/rc_maps.cfg -s rc0
- systemctl start eventlircd
- systemctl start kodi
- Reboot to apply changes: reboot
- When rebooted, ssh back into the box to test your work:
- ssh root@libreelec (or ssh root@nameyougaveit)
- Enter: irw
- Push the buttons on your remote to test. Each button should be properly labeled. If you need to remap buttons, do it in the Harmony software to avoid complications.
- Use CTRL C to exit the testing routine
- Close your ssh session with exit and open your beverage of choice!
Let me know if I need to make changes to the guide.