Build a $35 Media Center with Raspbmc and Raspberry Pi, Redux


Last year we showed you how to turn the Raspberry Pi into a silent, snappy, and all around awesome media center. A lot has changed since then; we’re back with an updated guide packed with more tips, tricks, and goodies than you can shake a stick at.

Why Do I Want to Do This?

If you’re totally new to the idea of building your own media center, let alone one based off a tiny and fanless micro-computer, you might be wondering exactly what’s in it for you. (If you’re completely unfamiliar with the Raspberry Pi, we’d suggest checking out the introduction to our tutorial:  The HTG Guide to Getting Started with Raspberry Pi.)

This project brings together several fantastic things into one cohesive unit. First, it runs XBMC, which is one of the best (and our personal favorite) free media center software applications around.

Second, it’s silent. Not sorta-quiet, not we-bought-good-fans-quiet, but absolutely-silent. There’s nothing more frustrating than spending a ton of time building and customizing a media center PC only to find out that it’s still just noisy enough to whine in your ear during the quiet parts of movies and shows.

Third, the power demands of a Raspberry Pi are so low that you can leave the unit running 24/7 and your total bill for a year’s usage will be under $4. This means you can leave it on all the time (and enjoy things like automatically updated content when you sit down to watch your favorite shows) without worrying about wasting a lot of electricity or money in the process.

Finally, both the Raspberry Pi (the hardware) and Raspbmc (the software) have matured a lot in the last year. Things like lack of DVD/MPEG playback, latency in the menus, and other annoyances that proved to be deal breakers for some early adopters have been totally ironed out. Furthermore, Raspbmc rolled into a stable 1.0 release recently and, in the process, switched to an automatically updating system, which means you can install everything once and forget about it. No more reformatting SD cards, downloading new development installers, etc.

In other words, there’s no better time to snatch up a little Raspberry Pi board and turn it into a dead silent and awesome media center.

What Do I Need?

Aside from the Raspberry Pi and an accompanying case, there’s a good chance you already have everything you need for this project laying around your home office/media room. For this tutorial you’ll need:

While we’ve provided links directly to the products we’ve researched, selected, and tested with the Raspberry Pi, we understand you might be curious why exactly we selected them. If you want a clearer picture of why we selected specific components, we go into great detail on the specs and requirements of the Raspberry Pi in The HTG Guide to Getting Started with Raspberry Pi. All the hardware parameters and rules outlined there (like using a powered USB hub if you plan on attaching multiple peripherals) also apply to this project.

Installing the Raspbmc Image


There are three distinct ways you can go about installing Raspbmc: you can download the networked image and install it yourself, you can download the complete image and install it yourself, or you can use the automated installer to download the network image and flash it to your SD card. The fastest way to get the most current release of Raspbmc is to use the latter. If you have really slow home internet and are downloading Raspbmc at work or school, you may wish to grab the full image and manually image the SD card.

Once you have downloaded the Raspbmc Installer, extract it to a safe temporary location. Insert your SD card in the computer. Run the setup.exe. You’ll be prompted by the Windows UAC and then prompted again by the Raspbmc installer to ensure you are aware the card will be completely erased. Click Accept.

In the Raspbmc Installer pane, we need to make a few selections. First, everyone needs to select their SD card from the list (ideally you only have one device attached that the installer can use, so there is no chance of data destruction on the wrong device).

Second, you need to accept the license agreement by checking the last box in the available list.

Finally, if you’re installing over a wireless network (not recommended) or if your wired network requires you to specify an IP address or other manual configuration, you need to check “manually configure networking” and fill in the appropriate entries in the resulting pop-up box.

Once you’ve checked the appropriate boxes and such, hit the Install button. Be prepared to wait, even on a fast connection, as the installer is both downloading the most current installation.img file as well as writing it to the SD card.

When it’s done, you’ll receive a congratulations message confirming the installation was a success. Go ahead and eject your SD card.

Installing the Network Image


In the previous step, we prepared the SD card with the installer image. Now we’re going to use that to download the network image of Raspbmc via the actual Raspberry Pi unit.

Go ahead and get your Raspberry Pi ready. Plug in all your peripherals, the HDMI cord, etc. (everything except the power cable). Insert your Raspbmc SD card and then plug in the power cable to start the boot process.

You’ll see a whole bunch of text scroll by, pause occasionally, begin scroll again, and so forth. Just sit back and relax for a moment while the image downloads and unpacks. What we’re looking for is confirmation on the screen that the network has connected successfully, followed by the screen seen above.

After you see that, a few more notifications will flash by and you’ll see the actual download start like so:


You should probably take the installer’s advice. It really does take at least 15 minutes or so even on a speedy connection (and more like a half hour on your average broadband line) to download and unpack the image. If you sit and stare at the bar, not only will you be bored, but you will be without coffee. Once it finishes downloading and unpacking, the installation process will begin. If you’re curious exactly what is happening behind the scenes, this Raspbmc Wiki entry details the first boot process.

After watching several of the many progress bars, the system will reboot itself, you’ll sit through a few more progress bars, and then after an additional two reboots you’ll be dumped into the Raspbmc GUI.

The hard part is over; this is the last time you’ll ever have to look at the takes-forever-loading-screens, as all future updates will be automated and largely invisible to you.

Configuring Raspbmc


Once you’re actually in Raspbmc, there are a few configuration tweaks we’ll need to make.

Select your language and timezone: First, select your language. Once you’ve selected your language, check the time. There’s a good chance that the time is incorrect on your system thanks to an incorrect timezone selection. Navigate to System -> Settings -> Appearance -> International and adjust the Timezone Country and Timezone to reflect your current location.

Add some sources: Whether you’ve opted to attached a hard drive directly to your media center or you’re streaming your video over the local network from a media server, you’ll need to add some sources. Navigate to Video -> Files -> Add Videos to begin adding source locations (you add both local and networked sources from this location).

You can repeat the same process with Music -> Files and Pictures -> Files if you wish to add music and photo albums to your media center alongside your videos.

Adding in DVD/MPEG playback: If your media collection is stored in mostly more modern codecs like h.264, you might consider skipping this step. If you have lots of DVD rips and other media encoded in MPEG-2, however, you’ll need to add an extra step into your Raspbmc configuration process.

In order to add MPEG-2 playback, you will need to purchase a license code from the Raspberry Pi foundation. It’s only a few dollars, but the Foundation opted against including a license with every board sold in order to keep production costs down.

It’s not difficult to enable playback, but there are a few steps (such as checking the hardware ID of your Pi board). We detailed the whole process in our tutorial: How to Add MPEG-2 and VC-1 Video Codec Support to Your Raspberry Pi.

Set the Master Password and Raspbmc passwords: If you’re the only person that uses your system, you can skip setting up a password. If other people use your system (especially if those other people are technologically clueless roommates, spouses, and/or children), it’s wise to set a password to lock the system settings. This will save you from future headaches that range from trying to figure out why the sound doesn’t work anymore to having to reinstall your whole system because somebody went crazy in the configuration panel.

To set the Master Password (which is an XBMC-wide password), navigate to System -> Settings -> System -> Master lock. If you’re using a remote-only interface for your system, we strongly recommend selecting a numeric-only password.

To set the Raspbmc Configuration password (specific only to the Raspbmc Configuration tool found in the Programs section), navigate to Programs -> Raspbmc Settings. Within the settings panel, navigate to System Configuration and then set the password in the Password Management section.

Even if you don’t sent a global Master Password, we strongly recommend locking down the Raspbmc Configuration, as the changes an unwitting user could make in there can knock your Raspbmc unit offline, install nightly releases that might introduce instability you’d like to avoid, and otherwise mess up your smoothly running machine.

Additional Configuration: Other than possibly messing around with the settings for your remote control (and only if it’s a non-standard remote), you shouldn’t have to change anything. The nice thing about using XBMC on the Raspberry Pi is that the hardware is completely standardized; you get to skip the massive headache of trying to figure out why your sound won’t work, for example, on the specific system you installed XBMC to.

Advanced Configuration and Fun


At this point, everything is operational. You can watch movies, listen to music, and even access your old rips if you have unlocked the MPEG-2 processing. The fun doesn’t have to stop there, however, as XBMC/Raspbmc is highly customizable.

You can enable streaming support for Hulu and Amazon Instant Video–the same repository where you can find the add-ons for those two is also packed with other great streaming add-ons for various networks and web sites too.

Don’t stop there, though–there are dozens of great add-ons for everything from streaming radio to Ted Talks and more.

While you’re customizing, it wouldn’t hurt to tweak the actual Raspbmc skins with some sweet custom backgrounds or even a whole new layout.

If you’re really serious about managing your media and you’re not afraid to invest a little more time into the project, you’ll definitely want to check out how to sync your media across the entire house (you’ll be able to pause a movie in the living room and resume it in the bedroom) as well as our favorite program for actively editing and curating your media content.

If you run into any hiccups, your first stop should be the Raspbmc Wiki followed by their excellent support forums. While you’re there, consider donating to support the Raspbmc project–the packaging and distribution is a one-man show. If you’re particularly thrilled with the Raspberry Pi port and with the all around incredibly quality of the entire XBMC project (and we sure are), we would highly recommend donating to the actual XBMC foundation–the individuals responsible not only for XBMC but for porting it in a speedy fashion to the Raspberry Pi.


Jason Fitzpatrick is a warranty-voiding DIYer who spends his days cracking opening cases and wrestling with code so you don't have to. If it can be modded, optimized, repurposed, or torn apart for fun he's interested (and probably already at the workbench taking it apart). You can follow him on if you'd like.