Turn A Raspberry Pi Into An XBMC Media Centre In Under 30 Minutes

The best home theatre PCs are small, quiet and inexpensive, so the bite-size, bargain-priced Raspberry Pi is the perfect choice. Here's how to turn this little DIY board into a cheap, silent media centre in just half an hour.

Title image: Denise Kappa (Shutterstock), maymak (Shutterstock), Pakhnyushcha (Shutterstock), Anan Kaewkhammul (Shutterstock), and Elena Terletskaya (Shutterstock)

It's Raspberry Pi Week at Lifehacker, and we'll be showing you some awesome DIY projects you can put together with this miraculous device. If you haven't acquired one yet, check out our introduction to the Pi to learn more about what it is, what you'll need, and the cool stuff you can do with one. If you aren't familiar with XBMC, our favourite media centre software, check out our complete guide to creating a kickass play-everything media centre for more info (then come back here).

What You'll Need

Getting XBMC up and running on the Pi is easy, but first you need to gather up your materials. Getting the right ones can be the difference between a 30 minute media centre and a 30 hour headache, so here's what you'll want to pick up (or gather from your existing piles of computing stuff):

  • A Raspberry Pi: Check out our introduction to the Pi for more info.
  • An HDMI or composite video cable: You'll need this cable to connect your Raspberry Pi to your television or monitor.
  • An 8GB Class 10 SD card (or better) and a card reader (if you don't have one built into your computer): You can go smaller or slower, but an 8GB Class 10 card will give you the best performance, and they're relatively cheap. Most SD cards will work, but some aren't compatible and will therefore cause issues. You can find out which cards are compatible, or locate a place to buy a compatible card with an operating system pre-installed, on this page.
  • A USB keyboard and mouse: Any standard USB keyboard or mouse will do. Wireless (non-Bluetooth) peripherals worked for me, but I had to unplug them and plug them back in after the Raspberry Pi booted. You'll have fewer issues with fully wired keyboards and mice.
  • An Ethernet cable: Any standard Ethernet cable will do.
  • A good quality, micro USB power supply that can provide at least
    700mA at 5V
    : Most modern smartphone chargers supply 700mA at 5V, but not all do. Check the bottom of your charger and look for a block of text. You'll see its output values in that text which may read 0.7A instead of 700mA). If it offers at least that much power, you're good to go. Don't use a poor quality charger or you may run into problems.
  • A 3.5mm stereo audio cable (Optional): You only need this if you're using analogue video and want to connect your Raspberry Pi to a set of external speakers or internal ones on your television or monitor. If you're using HDMI, you can skip this.
  • A remote control: If you don't want to use a mouse and keyboard to control your media centre once it is set up, you'll need a remote. Check out Raspbmc's list of supported remotes as well as our guide on choosing a remote for more information.
  • A USB hard drive (optional): If you don't want to stream videos from your other computers, you'll need a USB hard drive to hook up to the Pi to store your videos.
  • A case for your Raspberry Pi (Optional): If you don't want your Pi's bare board sitting out on your entertainment unit, we recommend grabbing a case like these ones from ModMyPi to put it in.
  • A 3.5mm stereo audio cable (Optional): You only need this if you're using analogue video and want to connect your Raspberry Pi to a set of external speakers or internal ones on your television or monitor. If you're using HDMI, you can skip this.
  • The Raspbmc Installer, which will put Raspbmc — the Raspberry Pi-optimised version of XBMC — on your SD card. You can get this for free on Raspbmc's web site.

What You Will (And Won't) Get

The Raspberry Pi makes a dandy media centre, especially for the cost. When you're done, you'll have an XBMC box that can play 720p video from other computers on your network or from a locally connected USB drive. It will be tiny, so you can fit it anywhere, and completely silent, so you don't have any noise competing with the sound from your movie.

However, compared to other more powerful builds, there are some things the Pi does not do. It will not stream content from the internet (such as iView), and you may experience stuttering with 1080p videos. This depends a little on what kind of audio you have on your videos, as well as where they're stored — if you stream them over the network, they'll be more likely to stutter than if you're playing them directly from a USB hard drive. These issues may lessen as the software improves, but right now the system is not quite stable enough enough for us to guarantee flawless 1080p playback.

The Raspberry Pi's menus will definitely feel a bit slower. It won't load high-res fanart as effectively as more powerful builds, so if you're looking to set up a particularly tricked-out XBMC skin, you might be out of luck. However, as a secondary media centre for a smaller TV, or as a media centre for simple 720p playback, it's a force to be reckoned with.

Step One: Put Raspbmc On Your SD Card

Before you even hook up your Raspberry Pi to your TV, you'll need to get the Raspbmc installer on your SD card. To begin, insert your SD card into your computer. If you're using Windows, download the installer from this page and run it on your desktop to put Raspbmc on your SD card. Mac and Linux users will need to run a few terminal commands, but it's nothing too difficult. Once you have the installer on your SD card, eject it and move onto the next step.

Step Two: Hook Up Your Raspberry Pi And Install Raspbmc

Now it's time to hook your Raspberry Pi up to your TV. Everything should be pretty self-explanatory here: plug the HDMI cable into your TV, plug the Ethernet cable into your router, insert your SD card into your Raspberry Pi, and plug the Micro USB power cable into your wall. When you plug it into the wall, it should turn on and boot up from the SD card, beginning the installation process.

You shouldn't have to do anything during this step. Just make sure the installer does its thing and come back in 15 to 25 minutes when it's finished. When the process has completed, it should automatically reboot into XBMC.

Step Three: Tweak Your Settings for Optimal Playback

Surprise! You're already most of the way there, and it barely took any work. Now that you have XBMC booted up, all you need to do is tweak a few settings to make sure everything runs smoothly. Here's what we recommend:

  • Resolution, found under Settings > System > Video Output. If you're only going to be watching 720p videos, you should change this to 720p. This will help the system and menus feel a little snappier.
  • Overscan, found under Settings > System > Video Output > Video Calibration. If you find that the XBMC interface stretches beyond the edges of your TV screen, you'll want to calibrate your video using this wizard to fix it.
  • System Performance Profile, under Programs > Raspbmc Settings > System Configuration. This is a Raspberry Pi-specific setting that basically allows you to overclock the device, making everything run a little bit faster and smoother. I recommend trying the "Fast" setting, which will speed everything up without sacrificing stability. The "Super" setting will be significantly faster still, but introduces the possibility of instability. You can also perform more advanced overclocking tweaks if you're familiar with overclocking.
  • MPEG2 Codec Licence, which you'll need to buy from the Raspberry Pi store and enable under Programs > Raspbmc Settings > System Configuration. This allows you to play MPEG-2 videos, which the Pi cannot play out of the box. If you don't have any MPEG-2 videos, you can skip this.

When you're done with that, you can jump over to our complete XBMC guide to see how to add videos to your library, install add-ons and customise your setup from head to toe. If you really want to dig in your heels, check out the other XBMC builds for the Raspberry Pi, including OpenELEC and Xbian. They take a bit more work to install, but may be a bit faster in some cases, although they're also a little less feature-filled. Give each a try and decide which you like best!


Comments

    It's great that this is possible, but it really needs to have 1080p capability to be a serious contender. Hell my phone runs XBMC and can play 1080p. I'll wait for the next Raspberry Pi before doing this.

      All my 1080p videos smooth as silk from unpowered USB drive on inning RPi rev B.

        Jess. My hardrive isn't working when I plug it into the Pi and it makes a constant beeping sound. Did you encounter this issue? I think it may not be receiving adequate power but have no idea how to go about fixing the problem.

        Edit: Any help from anyone would be appreciated!

        Last edited 23/01/13 8:45 am

          Yeah, I have a second drive which requires power.I've ordered a powered USB hub from Adafruit to see if it'll work (an unpowered hub will have same issue).

          One Thing to note is the potential for a powered hub to feed voltage back into the RPi which can cause weird Power issues. Do a search for cutting / taping up the 5V+ pin on the USB cable.

            Thanks for the reply. I figured I needed a powered hub. Eventually I want to move on to a NAS system but I don't have the means to do that yet.

            I'll probably end up with a powered external hard drive because I need more space anyway.

              You're welcome!

              I should specify that when I say my drive is powered, I mean it has dual USB cables, so it draws twice the voltage (hence more power) - it's not a plug-in-the-wall type of powered drive, which is why I need a powered hub.

              Either way, the RPi can only provide enough voltage to USB devices if there's enough coming in from your power supply. I ordered the 5.2V supply from Adafruit which doesn't seem to have any trouble (although I don't have a multimeter to confirm the voltage drop under load).

              Good luck, and remember YMMV ;)

      Raspberry Pi is a developer device, not a media center. If you wanna just use it as a media device/hub....get something else.

        Maybe, but use it as a media centre and it works bloody well.

      Don't believe everything you read. 1080p playback works perfectly for me when streaming from my PC (PC connected to router by 1 Gbps ethernet, Rasp Pi connected by 300 Mbps wireless). This the first article I've seen claiming it cannot support 1080p, all the others I've seen say it handles it well, and it does. I have a couple of 1080p files with unusually high bitrates and the Pi struggles with them, however so too does my Apple TV2.

        I thought the ATV2 was limited to 720p? Or does it just downscale 1080p to it's native 720p?

          The ATV2 is indeed limited to 720p, and yes it downscales 1080p content.

          When I've attempted to playback high bitrate 1080p files on the ATV2 it actually performs worse than the Raspberry Pi, and I believe this is because the ATV2 ethernet is limited to 100Mbps.

          The wireless adapter I use with my Raspberry Pi (Linksys AE1000) connects to my Asus RT-N56U at 300 Mbps, however when I connect the ATV2 via wireless 1080p files still don't perform as well as on the Raspberry Pi. I'm not sure what speed the ATV2 connects at wirelessly, but I'm guessing it's not 300 Mbps.

    I'm sure I've had the iView plugin working on my Raspbmc set up. I'm not at home to double check though.
    The benefit of using the iView XBMC plugin is it doesn't count towards my download quota. Unlike my Sony blu-ray player :)

    I've never had any issues streaming 1080p stuff over my home network to my R-Pi...

    I've been using this set up as my main media center for a few months now and have been very impressed with performance. It has played everything I throw at it so far and it's rewarding to set it all up yourself.

    Some users on the RaspbMC forum has also set it up to watch & record live TV, which I may try to do next.

    Last edited 23/01/13 9:55 am

      I was hoping to see TV recording in this article. I don't see the point in a media centre that can't record TV.

        Yeh it's possible with RaspbMC and a USB tuner, but it looks like it takes some playing around to get it working properly.

    I'm gonna have to do this now.

    Anyone knows of any Australian sellers that have stock?

    I'm hoping this will work nearly as well as the original xbox did with xbmc.

    Last edited 23/01/13 9:59 am

      I got mine from http://au.element14.com
      I had to wait a few weeks for mine, but it says they have stock now.

      Last edited 23/01/13 9:58 am

        Annoyingly they don't have stock. Not shipping until 18th Feb :(

        Got my two from RS Online - They're cheaper and faster than Element14 from what I can tell ;)

    If your using HDMI and your TV supports CEC ( http://en.wikipedia.org/wiki/HDMI#CEC ) you will not need another remote to control RASPBC which is very handy.

    I have iview, and a few other Australian catchup tv stations running fine on my Pi. I used the catchuptv add on.

      How do you get the addons? I haven't been able to work that out!

        In the case of iView etc, download the zip's, stick them on a USB drive, and install them manually. Though I've found the aussie catch up service add-ons to be flaky and unstable.

    I tried the pi, waited months and finally came to make it a dedicated pi xbmc box, and guess what, utter failure, too slow to be usable, it played 1080p video ok, but was just too damm slow at navigating and fast forwarding ahead, forget it, too frustrating, nothing beats and old $50 notebook and xbmc setup

      Did you try overclocking your Pi to see if that helped speed things up? XBMC running on my Pi isn't as responsive as XBMC running on my ATV2, however I don't find it annoyingly slow. it certainly runs faster on the Pi than on the original Xbox's (i still have one of these old school babies). Maybe overclocking you Pi will speed it up just enough.

    My own experience from using a Raspberry Pi model B rev 1 with XBMC (RaspBMC):

    - A good power supply is essential. Others have claimed to use phone chargers, or USB ports from their TV. I had endless problems with random reboots and erratic behaviour until I coughed up the money to buy a proper MicroUSB 5v switching power supply. I say power supply as phone chargers don't need stable amperage (it's like filling up a cup at a tap, you don't need steady flow of water to eventually fill it), which does no favours to the Pi.

    - 1080p video is certainly possible, with ifs and buts. Namely, audio needs to compressed in either AC3 (Dolby Digital) or AAC codec, or if in DTS an external decoder will be needed. The Pi battles on, but it just can't cope with decoding 1080p video and DTS sound. Having a receiver that is Dolby Digital and DTS enabled is certainly a big advantage here.
    Additionally, I found running my Pi at 1080 taxing when using the GUI. I rarely watch video in 1080p anyway, so I wound the native resolution down to 720p; which helped the fluidity of the GUI immensely.

    - SMB sharing is a pain in the ass. AFAIK there's still regular problems with stable access to SMB shares.

    The good:
    - Cheap on power, my Pi stays on round the clock, and is ready to go whenever I want it.
    - I've never needed/wanted to use it for anything MPEG-2 based, but have never found any video it won't play (provided its MPEG-4, AVC, Div-X, X-viD encoded).
    - HDMI-CEC is awesome. I retired my Logitech Harmony. Nuff said.

      Certainly agree with you regarding the power supply. An inadequate power supply is the primary cause for glitches and freezing with these units.

      My Pi will run off the USB port on the side of my TV, however if I try to run peripherals such as mouse or keyboard it soon freezes. A genuine 5W iPhone AC charger + Micro USB worked better, but still wasn't ideal for me. I'm currently using a 10W (5V, 2.1 Amps) iPad AC charger and the Pi now runs great even with a mouse and wireless adapter connected.

    I'm currently running RaspBMC on my v2 Pi which I setup a little while ago using the windows installer. Whilst it's running great so far I've heard that it's also possible to run XBMC via Openelec.

    As such it'd be great if you guys did a related article comparing XBMC installed via Openelec versus RaspBMC. I've read that the Openelec install boots faster and runs better. I've been meaning to try out an Openelec install for myself but the wiki guide didn't seem to contain much info on the setup process.

      I definitely hear you on that one - I've always stuck with RaspBMC as better the devil you know. The main problem is with either option are many of the issues experience are upstream, stemming from XBMC development itself.

      How to install openelec on raspi
      http://www.squirrelhosting.co.uk/hosting-blog/hosting-blog-info.php?id=9

        Thanks Peter! I'll be hitting that up indeed.

    From my experience with the pi, openelec is much quicker than raspbmc, particularly menus and boot times if you turn it off. Just dont bother fast forwarding with either.

    Currently run raspmc. Yeah it isn't the fastest, but still far superior than my Apple tv3 and western digital medial player for function and flexibility. Also was easy as pi to set up raspmc. Some of my tips:
    -Use the USB port on your TV to power up and power down. Works fine so far and doesn't leave it on 24/7. I have random reboots, only with specific activities, such as the screen saver, no player issues at all.
    -Buy the wireless adapter, unless you have your router near by.
    -Use your TV remote as your remote, works fine from my 2 year old tv. Sure you could use the keyboard and mouse for other applications. iPhone app also works well.

    My ras pi fails to connect to url

Join the discussion!

Trending Stories Right Now