It’s been quite a while since I started a new project, so I decided to tackle the home theater PC (or HTPC). The main purpose of a HTPC is to play video files encoded on your computer and output them to your TV. Most will play music and display pictures as well. The newest Blu-ray and HD movies require a fairly powerful PC and a fast network connection.
The best media center program, IMHO, is XBMC. Screenshots of this front-end in action can be found here. It was originally written to run on a modified Xbox, but has recently been ported to all computer platforms (Mac, Linux, Windows). The user-interface is extremely intuitive, all menus are displayed in full 1080p HD, and it is constantly being updated and improved by the open-source community.
That being said, most of my hardware decisions were based on using XBMC on top of Ubuntu Linux. My goal was to make something extremely compact and quiet, not to mention inexpensive. It would not require a hard drive because all my media is stored on an external hard drive attached to the network.
I started with the case. Rather than buy a traditional computer case or spend a fortune on a “home theater case,” I decided to use my old Tivo box to hold the guts of the PC. This required a few modifications to hold a motherboard, but it provided front panel LEDs and an IR receiver.
I gutted all the Tivo parts and sold them on Ebay. Next, I laid out the mounting holes for the microATX motherboard and flexATX power supply. I cut a window for the back panel connector plate and also the power supply. I used automotive Bondo to fill all the unneeded holes and smooth out the back panel.
I installed the power supply, and ran some wires from the front panel of the Tivo to the rear of the case. The Tivo itself supports 4 LEDs, but I decided to only use the green power LED to indicate when the system has power or goes into standby. I settled on using the Xbox DVD adapter kit for the remote since I already had one stashed away. I removed the case and soldered some wires to the front panel IR receiver. The DVD adapter would then plug into a USB port on the motherboard. I also added a switch to the rear of the case so I could power it on and off. In the future, I was hoping to use the remote for this, but the button will suffice for now.
The motherboard fit in nicely and all the wires were connected. I hot-glued the USB headers to the case and plugged in the IR DVD adapter. I also installed a 4GB flash drive that would hold the operating system and any thumbnail files.
The case is quite cramped with the cover on, and I had a feeling heat would be an issue. Sure enough, the CPU shot up to 135F while playing a movie for the first time. I cut a couple of holes in the top of the case and added some fan grilles. This brought the CPU down to around 120F and everything seems to be running fine. Hopefully this will be sufficient and no more modifications will need to be made.
The install and configuration of XBMC was done using the LiveCD which allows you to boot off a CDROM and install to a USB flash drive. The remote control is handled by Lirc. The only function I have not gotten to work correctly yet is going into and out of standby. All 1080p Blu-ray rips play at full speed and DVD rips are up-scaled to 720p.
ASUS P5N-EM HDMI nvidia nforce 7100 chipset
Intel CORE 2 DUO E8400 3.0GHz
2GB DDR2 800
TRANSCEND Jetflash v10 4gb USB 2.0 flash drive
HEC 250W Flex ATX 12V PSU
Almost all of my questions were answered from the XBMC forum.