Latish Sehgal's Blog

Creating an Inexpensive HomeTheater Using Raspberry Pi

We are a cable free family and rely on Netflix, Hulu and a HTPC for our media needs. We have a first generation Roku that is great for Netflix, Amazon and Hulu Plus. I have been using a slightly older development PC for a HTPC, that plays the media off a NAS drive. It’s not ideal in terms of power consumption, but it does the job. I learned about the Raspberry Pi a few weeks ago from one of Scott Hanselmans’s posts. As soon as I read it, my geek sense started tingling. For $35 (price for Model B, Model A is not yet available), I cannot not buy this. I placed my order with Farnell, and it showed up at my doorstep within a week. I have been playing with it for over the last few days and I am very impressed.


To get started, I searched around for a suitable power supply. My bluetooth headphones charger (5V/500mA) seemed like a good start, but I found later that the Raspberry Pi would hang frequently. That issue went away when I tried using my HTC phone charger (5V/1A). For the initial setup, I plugged in a USB keyboard and mouse, but I was able to get rid of these peripherals later. I purchased a Transcend 32GB SDHC memory card. I also connected an ethernet cable from my router and an HDMI cable from my TV.


There are some interesting options when it comes to cases and I have not invested in a proper one yet. A lot of people have been using lego blocks to make cases.


I installed Raspbmc on the memory card. Raspbmc is a Debian based Linux distribution that brings XBMC to the Raspberry Pi. It supports 1080p playback, and can read content via NFS, SMB, FTP and HTTP. It also supports Airplay and Airtunes, so I can stream videos and photos from my IPhone and MacBook. The installation involved just downloading and running the installer. After inserting the memory card in the Raspberry Pi and switching it on, it downloads the files from the Raspbmc server and finishes the installation on the SD Card. This might take a while.


I am using both my IPhone and my Android tablet as a remote, depending on what is within reach. To enable mobile access, go under Settings->Services->WebServer->Allow Control of XBMC via Http. Download the official XBMC remote app from the ios or Google App Store, and you can then user your ios or Android device as a remote. I also read on some forum that the default skin is not the best for performance, and Quartz might be a better option, so I changed my default skin to Quartz.

Future Hacking

At some point, I would like to try out OpenELEC, which is an alternative to bring XBMC to the Raspberry Pi.