Table of Contents
- 1 Introduction
- 2 Kodi
- 3 Raspberry Pi Setup
- 4 Installing Kodi on Raspberry Pi
- 5 Installation using OSMC
- 6 Configuration & Add-Ons
- 7 Remote Controls
- 8 Conclusion
A multimedia player is a great addition to any home theatre system. To that effect, many people have purchased “Android boxes”, small devices running Google’s Android operating system and connecting into their television and sound system.
Like most Android devices these units are capable of running “apps”, small software applications that perform specific functions. One of the most popular apps is Kodi.
Kodi is a multimedia player with many advanced features. One of its strengths id it is extremely customizable, allowing the user to tailor their setup to their unique tastes and requirements.
Part of that customization is the ability to include “add-ons” in your Kodi customization. Add-ons allow you to view and listen to specific content, similar to the way channels work on your standard television. You can get a wide variety of free add-ons for Kodi, allowing you to set up your system with a selection of live television, sports, entertainment, game and educational selections that are suited to your own tastes.
But you don’t need an Android box to run Kodi. Kodi is available for almost every computing platform, and it is also available for single-board computers like the Raspberry Pi.
Personally, I own an Android box and get a lot of enjoyment out of it, my main application is Kodi and I use it to view material I store on a media server on my home network. And when I wanted to add a second Android box to a television in another room I decided to build a Kodi installation on a Raspberry Pi instead.
Follow along and I’ll show you how to put one together yourself.
Kodi is a product of the XBMC Foundation, it was formerly known as the XBMC player which stood for XBox Media Center, a project to allow multimedia on the first generation of XBox video game consoles. It is available for a wide variety of computing platforms including Windows, Linux, OSX and well as Android and IOS.
Kodi employs what is called a “10-foot User Interface”, this refers to a graphical user interface that is designed for televisions. This means that the text used in the interface is much larger than the text employed in desktop computer applications.
You can customize the look and feel of your Kodi installation using “skins”. The product comes with a number of them and if you have the talent you can even design your own.
While the most common use for Kodi is for multimedia centers it also finds use in hotel television systems, digital signage and as an internal component in Smart TVs.
The open source nature of Kodi and the availability of third-party add-ons has been both a blessing and a curse to the Kodi community. It has opened up Kodi to exploitation by those who create and distribute add-ons that facilitate unauthorized access to copyright protected material.
This problem has been compounded by the actions of some vendors who have distributed devices loaded with Kodi and these illegal add-ons. These devices are commonly referred to as “Fully loaded” digital media players.
The XBMC Foundation does not endorse the use of these add-ons and has taken legal action against some of the creators of these products for unauthorized use of the Kodi trademark.
The use of Kodi and its authorized add-ons is completely legal.
Kodi sports a number of features that make it an ideal multimedia center for most home and commercial applications.
- Live TV – You can watch TV broadcasts using Kodi in combination with some set-top tuners and LAN-connected TV tuners. You can also watch live Internet streaming broadcasts.
- PVR/DVR – Kodi can function as a PVR (Personal Video Recorder) or DVR (Digital Video Recorder). Media can be stored on an external hard drive.
- Video Player – Kodi can play video in a number of popular formats. The video can be stored locally on the Kodi box, on an attached hard drive or on a network-attached hard drive or media server. It will also display movie and television posters and fan art in its Video Library.
- Audio Player – Kodi is also capable of playing popular audio formats and can store audio in its Music Library. As with video, Kodi can display album covers and fan art.
- Images and Comic Books – Kodi can display images and arrange them into a slideshow. It is also compatible with several comic book formats.
- Games – Kodi can use its Games Manager to allow playing of video games and emulation of several retro games consoles. It is not, however, a replacement for popular games consoles like Playstations and XBox.
Kodi can also perform metadata extraction to get information regarding television shows and movies from sources like the IMDB (Internet Movie Database) and Thetvdb.
Kodi also has several options for remote control. We will examine these after we assemble our Raspberry Pi Kodi box.
Time to gather up all the parts we need and start building our multimedia center.
Raspberry Pi Setup
Before we begin building our multimedia center we will need to select the hardware. There are a number of possibilities here.
The core of our multimedia center will be, of course, a Raspberry Pi microcomputer. As there are several models of the Raspberry Pi available we will need to determine which one is best for us. Several factors come into consideration here:
- Will we be using Kodi as a video player for full HD video?
- What is the source of the media, is it on the internet, a network server or will it be on a hard drive attached directly to the Kodi box?
- Are we just using Kodi primarily as a display for news or weather?
- How will we be controlling our Kodi box? Do we require Bluetooth?
- Is our network connection via WiFi or can we directly attach to the network with an Ethernet cable?
- Is size a factor?
The answers to these questions can point us to the best Raspberry Pi for the job.
Raspberry Pi Models
The Raspberry Pi Family has grown to include several members, and it keeps growing. In late 2018 the Raspberry Pi Foundation released the Raspberry Pi 3 A+. These folks have a habit of releasing a new version every “Pi Day”, which is March 14th (i.e. 3/14, as the numerical constant Pi is equal to 3.14), so keep on the lookout for something new then!
As of this writing, January 2019, here are some of the Raspberry Pi models suitable for use in a Kodi multimedia project:
- Raspberry Pi 3 B+ – This is currently the “flagship” of the Raspberry Pi line. It features 1.4GHz 64-bit quad-core processor, dual-band wireless LAN, Bluetooth 4.2/BLE, faster Ethernet, and Power-over-Ethernet support. For a full-powered Kodi box, this would be the best choice.
- Raspberry Pi 3 A+ – This is the latest Raspberry Pi board, but not the most powerful. It features 1.4GHz 64-bit quad-core processor, dual-band wireless LAN, and Bluetooth 4.2/BLE. It lacks a wired Ethernet connector so it would only be suitable for WiFi attached builds.
- Raspberry Pi 3 B – This is an earlier revision of the 3 B+, it has a slower Ethernet connection but is still very suitable for a network-attached Kodi box. It sports a Quad Core 1.2GHz Broadcom BCM2837 64bit CPU. It also has WiFi and Bluetooth.
- Raspberry Pi 2 B – An older version but still very popular. It has Wired Ethernet but no WiFi or Bluetooth. It has a 900MHz quad-core ARM Cortex-A7 CPU. A good choice for a wired installation with no Bluetooth requirements.
- Raspberry Pi Zero W (and Zero WH) – The Pi Zero series is the least expensive Raspberry Pi line of microcomputers. A Pi Zero W goes for 10 US dollars and comes complete with both WiFi and Bluetooth. The “WH” model has a 40-pin header already soldered to the board, you probably won’t need that for your Kodi build unless you want to attach an IR sensor for a remote control (and even then you can just solder that directly to the board) or make use of the Pi TV HAT to receive live broadcast television. On the downside, the Pi Zero series only has a single-core processor and half the RAM of it’s bigger siblings, however for a “lite” Kodi build it is still useable.
In my case, I decided to go for the top model, the Raspberry Pi 3 B+.
All of the Raspberry Pi models require a 5-volt USB power supply, rated at a minimum of 2 amperes. Don’t try and use a lower current supply as it will cause you grief. You may already have a power supply or power adapter that is suitable.
Note that the USB connector on most televisions probably won’t be able to supply the required amount of current, unless it happens to be USB3.
You also want to find a case to store your Kodi box in, there are several different cases suitable for Raspberry Pi’s so you shouldn’t have a problem finding one.
For high performance, especially if you plan on overclocking your unit, you might want to get a set of heatsinks for the processor and the GPU, these are commonly available from the same place you purchased your Raspberry Pi from.
Finally, you will need a keyboard (and an optional mouse) when you first set up your multimedia center. After the initial setup, you can keep controlling Kodi with the keyboard, or you can use one of the remote control options that I will be discussing further on.
I also recommend that you run your Kodi multimedia center with a direct Ethernet connection instead of using WiFi unless that is simply not practical. You will always get the best performance with an Ethernet connection. You will need a CAT5 or CAT6 cable with RJ45 connectors to hook that up
Now that you have the bits and pieces together it’s time to start installing Kodi.
Installing Kodi on Raspberry Pi
There are actually a number of different methods for installing Kodi on a Raspberry Pi. The one that is right for you will depend upon your level of expertise (although they are all pretty simple) and how you want your Kodi box to function – stand-alone or as an application on the Raspbian operating system.
Let’s go over the various options, then I’ll show you the one I decided upon for my Kodi multimedia center.
Kodi on Raspbian
Raspbian, for those of you who don’t know, is the default operating system for the Raspberry Pi. It’s a version of Debian Linux configured especially for the Raspberry Pi and is certainly the most popular OS for Pi users.
Installing Kodi on Raspbian has the following advantages:
- It is extremely easy to install.
- It lets you configure the hardware using the existing Raspbian configuration utilities, which you might be more familiar with.
- It allows you to use your Raspberry Pi for other things besides Kodi.
- If you already have a Raspberry Pi with Raspbian it’s a simple way to give Kodi a “test drive”.
Of course, there are also disadvantages as well:
- You need to manually launch Kodi every time you want to use it, for non-technical users this is far less user-friendly than simply turning on the box.
- Kodi won’t perform at peak performance as the Raspberry Pi also needs some resources to run Raspbian and its desktop. On a Raspberry Pi Zero W this may be a show-stopper, more powerful models won’t suffer as much, if at all.
Installation of Kodi under Raspbian is very simple. Just open up the Terminal window and type the following two commands:
sudo apt-get update
sudo apt-get install kodi
That’s all there is to it! The latest version of Kodi will now be available in your list of programs for you to enjoy.
Kodi on NOOBS
NOOBS is a small program that is available from the Raspberry Pi Foundation that is burned onto a micro SD card. It is an abbreviation for New Out Of the Box Software and was created for those who are just beginning to get experience with the Raspberry Pi.
When you first boot up a Raspberry Pi using NOOBS you’ll be greeted by a menu, allowing you to select the operating system you wish to install. You’ll need to be connected to the internet for the installation to work as NOOBS needs to grab the installation files for the operating system you choose. There is a second version of NOOBS that already has Raspbian and LibreELEC installed on the micro SD card image, the “Lite” version has no operating system files installed.
A couple of the choices are good for Kodi:
We will actually be looking at both of these choices in the next section, without using NOOBS.
Personally, I don’t recommend NOOBS as it is just as easy, in my opinion, to just install the operating system you choose by burning its image directly to a micro SD card. But nonetheless, it is a viable option for getting Kodi on a Raspberry Pi.
Kodi on micro SD Card Image
There are a number of images that can be burned onto a micro SD card that can then be used to install Kodi. These images have the advantage of installing a performance-optimized Kodi build, without the overhead that a full-blown operating system like Raspbian has. This allows you to get the maximum performance from your Raspberry Pi, regardless of which model you use.
Another advantage of installing Kodi this way is that your Kodi multimedia center will boot up directly when your Raspberry Pi is powered on or rebooted. It’s as user-friendly as it gets.
This is the way I’m installing Kodi on my Raspberry Pi. But still, there are a few choices as to which installation you want to use.
- OpenELEC – OpenELEC stands for “Open Embedded Linux Entertainment Center”. This was one of the original Kodi installation images, however, it is no longer being maintained. The wiki page no longer exists and there has not been a build since June 2017. I’m only listing it here for sake of being complete and would not recommend installing it.
- LibreELEC – LibreELEC was a fork of OpenELEC, created by some OpenELEC members who “parted ways” with the original project team in 2016. It is a stable and popular build that uses a lightweight “just enough” Linux OS to keep things running quickly.
- XBian – XBian is another lightweight Kodi installation. The principle difference between XBian and the other builds is that the XBian download is not updated as often. Instead, XBian updates the build “live”, keeping your multimedia center up to date with the latest build of Kodi and any operating system patches.
- OSMC – OSMC stands for Open Source Media Center. As with the other images, it has a scaled-down version of Linux that includes access to all the Debian repositories. For those who like to tinker and modify things, it is the ideal choice. It also has a large user community.
I have decided to use OSMC to build my Raspberry Pi Kodi multimedia center.
Installation using OSMC
There are really just three steps to installing Kodi with the OSMC image:
- Download the correct image for your Raspberry Pi from the OSCM website.
- Burn the OSMC image to a blank micro SD card.
- Insert the micro SD card into the Raspberry Pi and boot it up.
Let’s go over these steps in detail now.
Getting the OSMC Image
The first step in the installation is to get a copy of the latest image from the OSMC website.
Go to the OSMC Download page and scroll down a bit until you see a blue button labeled “Disk images”.
Click on the button and an additional section will open on the same page. There will be a list of images for the Raspberry Pi, as well as for other platforms that OSMC supports.
The Raspberry Pi images are listed at the top of the list. There are images for the Pi Zero and other images for the Pi 2, 3 and 3+. Each section will list the three most current images, with the most recent one at the beginning.
I chose the latest version for the Raspberry Pi 3 as I’m using a Raspberry Pi 3 B+. It’s a small file so the download is very fast.
Download the file to a location on your computer that you will remember (ie. your Downloads folder if you have one) and then you are ready for the next step.
Burning OSMC to a micro SD Card
Now that you have the image file you will need to create a bootable micro SD card with it.
There are many different applications that will let you create a bootable micro SD card from the .gz image you have just downloaded. I use Etcher, which is a free open source software utility. Etcher is available for Linux, Windows and Mac OS X.
What I like about Etcher is that it is very easy to use and it also practically foolproof. You can’t accidentally burn the image to one of your external hard drives, which would really ruin your whole day!
Insert the micro SD card into your card reader. If your computer doesn’t have a card reader you can pick up an external, USB attached, one. As it’s a micro SD card you may need to use a full-size SD card adapter to fit it into the card reader, this probably came packaged with your micro SD card.
Open Etcher (or whatever utility you are using to burn the image) and select the image file that you just downloaded. Ensure that the target is the micro SD card (Etcher is pretty good at figuring this out by itself).
Now just click the Flash button. If you’re a Linux user you’ll be prompted to enter your administrator password, after doing that Etcher will start the burning process. It will turn the Flash button into a progress bar.
After burning the image Etcher will go through a verification step, other SD card burners will do the same thing. This is to ensure that the image has been burned correctly with no errors.
Assuming that you have a good burn you’ll be greeted with a success message. You may then remove the micro SD card from the reader.
Your card is now ready to be inserted into the Raspberry Pi.
Installing OSMC on the Raspberry Pi
Now that you have the OSMC image burned onto a micro SD card it’s time to build our project!
You probably want to mount the Raspberry Pi into a case, there are a wide variety of these to choose from including the official case from the Raspberry Pi Foundation.
Depending upon the style of your case you may need to insert the micro SD card into the Raspberry Pi before mounting it into the case, that’s how my case worked. Make sure you read the documentation that came with your case as some cases are exactly opposite and inserting the card before mounting could actually damage it.
Assemble the Raspberry Pi into its’ case. Then attach a television or HDMI monitor to the box. You will also want to attach a keyboard to it using one of the USB ports, a mouse is nice to have but not essential.
Unless you are using a Raspberry Pi Zero W (or WH) I would advice hooking up an Ethernet cable to it as well and plugging it into your network.
Now power the multimedia center up using your USB power supply, remember that this supply needs to be capable of at least 2 amperes.
When you have everything powered up you should see OSMC booting up for the first time.
<INSERT KODI BOOT IMAGE>
On the initial boot OSMC will format the partitions on the micro SD card and copy some files. This can take a bit of time, especially on a lesser-powered Raspberry Pi, so just be patient.
Once it is all done you will be greeted by a setup menu. You’ll need to provide it with the language that you want to use (the language of your keyboard) and the name of a nearby city in the same time zone that you are in.
Finally, you will be asked which interface you want for Kodi, the Classic one or the OSMC one. This is entirely up to you, I chose the Classic one as I am already familiar with it.
Kodi is now installed!
I advise that you spend a few minutes getting used to the interface. You could also hook up an external hard drive or try connecting to a network media share using the File Manager if you wish.
You now have a working multimedia center. But before you invite your friends over for a movie night it makes sense to go through a few configuration steps to enhance your Kodi installation. You also will want to figure out the best way to control your new toy.
I’ll discuss all of that now.
Configuration & Add-Ons
Your Kodi multimedia center is designed to work “out of the box”, however, there are many things you can do to customize it and enhance your multimedia experience.
Let’s go over a few of these.
My OSMC Control Panel
On the OSMC installation of Kodi you will have an additional item on your menu called “My OSMC”. Use your keyboard or mouse to select it.
In the My OSMC control panel you will see a number of icons for customizing your Kodi installation. Browse through them and get familiar with them.
Static IP Address
One thing that I advise you setup is a Static or Manual IP address for your Kodi box.
By default your Kodi installation will use DHCP. DHCP is Dynamic Host Control Protocol, a method used by your router to distribute IP addresses to devices connected to your network. The router picks an unused address from its internal “DHCP pool” and assigns it to new devices joining the network.
This system works great most of the time. If your device is rebooted it will generally get the same IP address. But if it is turned off for an extended period of time (the period depends upon your router’s DHCP lease settings) then it will likely get a different IP address the next time it is powered on.
For most network-attached devices this really is irrelevant, most of the time you neither know nor care what your IP address is. As long as you have one you can connect to the network.
But some of the remote control and remote access methods that we are going to talk about soon will work a lot better if you know the IP address of the Kodi box, and if it doesn’t change even after being powered down. This is why a Static IP address is desired. A static IP address is permanently assigned to your Kodi multimedia center and never changes.
Before you setup a static IP address you need to pick one that is not part of your routers DHCP pool and is not currently assigned to another device. The best way to do this is to login to your router’s control panel and check the “DHCP Pool” or “DHCP Reserved Addresses”. This will be a range of IP addresses, avoid using any of these as your Kodi address.
You can also use a scanner like Angry IP Scanner to check your network to examine which IP addresses are in use.
After you determine an unused IP address go into My OSMC and open the Network configuration section.
In my case I’m configuring the Wired adapter because I’m hooked to my network using an Ethernet cable. If you are on WiFi you will find the same options under the Wireless adapter setup.
The display shows the IP address assigned to my multimedia center, as well as some other network parameters.
Select Configure Network Manually. Then select the IP address. An editor window will open with a small keypad, which you can use to set the address to the static IP address you want to use.
After you make the change you need to select Apply for it to take effect.
You now have a static IP address set for your Kodi multimedia center.
Overclocking the Raspberry Pi
Another setting you might want to adjust is the Overclocking settings. These settings allow you to run your Raspberry Pi faster than it is configured to at the factory.
On the My OSMC screen select the Overclock icon. You’ll be presented with a selection of parameters that you can change.
Be very careful modifying selections here. Doing it correctly can improve the performance of your multimedia center, doing it incorrectly can cause it to act erratically or stop working altogether.
Only make modifications if you need to. On a Raspberry Pi 3B or 3B+ it probably isn’t necessary to change anything here. But if you are using a Raspberry Pi Zero W or WH you might want to give it a try.
Keep in mind that overclocking will cause your Raspberry Pi components to run hotter. You should attach a heatsink to your processor and perhaps to the GPU chip. You can find small heatsinks built for this purpose at the same source that you purchased your Raspberry Pi from.
As I mentioned earlier Add-ons are ways to add content sources and enhancements to your Kodi installation.
There are a wealth of Add-ons to choose from. You can search for them using the Add-on Manager.
Once you find an Add-on that you want to use just click install and it wil be installed on your Kodi box. Many Add-ons are dependant upon other Add-ons and plugins so you may see several items being installed.
After the Add-on is installed it is available for you to use. You may install as many add-ons as you wish, you are only limited by the size of your micro SD card.
A multimedia center would be of limited use without a way of controlling it remotely. Fortunately, there are many methods of adding remote control capabilities to your Raspberry Pi with Kodi installation.
Of course if you are content to just keep using your wired keyboard and mouse with your multimedia center then no action is required here. But most people will want a method of controlling Kodi while they relax in their favorite chair across the room.
Here are a few ways you can remotely control your Kodi.
The most obvious way of controlling your new multimedia center would be to replace the wired keyboard with a wireless one. No configuration on the Kodi is required, simply insert the dongle that came with your wireless keyboard into the Raspberry Pi USB connector and you’re done.
Pretty well any wireless keyboard will do the job, you could also attach a wireless mouse.
A small multimedia keyboard like the popular Rii is an excellent choice for a Kodi remote control. It has an integrated trackpad and game controller and will look great on your coffee table.
Another method (and the one I’m going to use) is to use a Bluetooth keyboard. This works well with a Raspberry Pi that has an integrated Bluetooth adapter, such as the Raspberry Pi 3 B+ that I’m using.
If you have a Raspberry Pi 2 B you’ll need to add a Bluetooth dongle to one of the USB ports as it doesn’t have integrated Bluetooth.
In order to mate a Bluetooth keyboard (or any Bluetooth device) with your OSMC build of Kodi you’ll need to open the Network configuration settings in the My OSMC control panel.
First, enable the Bluetooth on the multimedia center. Next, allow it to scan for new devices. You should see your keyboard listed.
From here you can select it and mate it with your multimedia center.
Once that is done your Bluetooth keyboard will be able to control your Kodi box.
If you have a recent-model television you might not even need to do anything to have a remote control for your Kodi.
Many newer televisions are HDMI-CEC compatible. These televisions can send their remote control signals back through the HDMI cable, allowing them to control your multimedia box using the televisions own remote control.
There is a lot of confusion as to which televisions have this capability so the easiest way to see if yours has this feature is to just give it a try. You might need to enable the feature in your televisions settings screen.
If it works then you have a remote control for your multimedia center without having to buy anything.
FLIRC is a USB dongle that can attach to a computer and allow it to be controlled by virtually any IR (infrared) remote control.
You can program what you want each button on the remote to do. FLIRC intercepts and converts the codes.
FLIRC is compatible with both Kodi and the Raspberry Pi. It’s the easiest way to integrate your existing remote control with your multimedia center.
Chorus – Kodi Web Interface
The multimedia center you just assembled actually comes with a built-in remote control method. Chorus is a web-based interface for controlling Kodi and it runs on every Kodi box.
This is one of the reasons I had you setup a static IP address for your multimedia center. It makes it a lot easier to use Chorus, as well as the apps that I am about to describe.
Just go to any web browser on any computer attached to your network – it can be a desktop, a phone or a tablet. Now type the IP address you assigned to your Kodi box in the browsers address bar.
You will be greeted by the Kodi Chorus webpage. You’ll be able to control and configure your multimedia center from this page.
Chorus is a simple method of controlling Kodi from anywhere in your house. Unlike the other methods we have discussed so far your range is only limited to the reach of your local area network.
Kore – Kodi Official Remote App
You can also use your tablet or smartphone to control your Kodi box with an app instead of using Chorus.
Kore is the official app from Kodi, it is available for both Android and IOS.
Install Kore as you would any other app, you’ll find it on the Google Play Store and on the Apple App Store. It is a free app.
When you first launch Kore it will scan your network to find any Kodi installations. It should have no problem finding the multimedia center you built using a Raspberry Pi. It will then step you through a few screens to connect to it, and will remember it for future use.
Kore has a user interface that is similar to the full-size Kodi interface. You can launch and control media using Kore.
Yatse – Remote Control App
Yatse is an alternative app to Kore, unlike Kore Yatse is only available on the Android platform. Yatse is a free app but it also has a paid version with more advanced features.
Once again you can download Yatse from the Google Play Store to your device.
As with Kore Yatse will scan your network to find any Kodi media centers and will offer to control them. There are more graphical icons with Yatse than Kore and many users find it easier to use.
Of course, there is no harm in trying both of them and seeing which one you like best.
Kodi is an advanced multimedia center that is capable of satisfying just about everyone’s needs. It is highly customizable product that is also very simple to use, and it will open up a whole new world of entertainment possibilities for you.
Hopefully, you have enjoyed this article and video and will get to work and put together your own Kodi media center with a Raspberry Pi.
Now grab your popcorn and go watch something!
Is it Possible to play content in vertical mode 9:16 ratio ?
if you have a dynamic ip address and you need to remote access your pi
you could use a ddns like https://staticip.io
Sir,please make a video lecture series for the rasbery pi for the begineers …😟😅
I have enjoyed watching a few of your video’s and decided to try the ‘Multimedia with Kodi on Raspberry Pi’ project. The raspberry PI 3 B+ is on its way so I will see how this works out. I have a little python programming experience but very little hardware experience so this should be fun.
That was an outstanding Video…..I was like a sponge soaking in all the knowledge that you had passed down. Very Excellent presentation and very informative…….I learned a whole lot things that I would not have thought that I would be able to complete. Thank You So Much.
Thanks so much for this amazing article! <3