DIY - HTPC

I've been running MVix boxes for a couple years now, and they've handled my basic media needs. About a year ago a friend of mine built a pretty sweet home theater setup and was using XBMC for his UI. Ever since then I slowly became more and more unsatisfied with the UI for the MVix box. So one day I downloaded XBMC (Camelot build), installed it, and started playing around. After getting all me media loaded into the database, customizing the skin, and changing my pants after my nerd-gasm I decided that it was time to figure out how I could utilize this awesome tool.

After some research I found that there was no way to add XBMC to my current MVix box. With that knowledge I began the undertaking of building a HTPC. A couple days later of research and I had decided on the parts that I wanted. I knew I wanted to buy components that'd be somewhat future proof, but I didn't want to spend a lot of money, so with some comparison shopping, and choosing parts more in the mid-range I came up with these.

  • Case - NMediaPC HTPC 1000B RT
  • Mobo - ASUS M4A78L-M 760G AM3 RT
  • CPU - AMD Phenom II X2 550 AM3 3.1G R
  • PSU - Seasonic X650 GOLD 650W R
  • GPU - BFG GTX 260 896M
  • RAM - Crucial Ballistix 4GB, 2x2GB, DIMM 240-pin, 800 MHz
  • HD - 500G WD 7K 16M SATA2 WD5000AAKS
  • LCD Panel - NMediaPC PRO-LCD-B
  • Remote - AVS Gear MG-IR01BK Windows Vista/Window7 MCE Infrared

DIY HTPC image - Parts_01

1. CPU, 2. Programmable front-panel LCD for the case, 3. RAM, 4. Remote

DIY HTPC image - Parts_02

1. Motherboard, 2. Hard drive, 3. Power Supply Unit

DIY HTPC image - Parts_02a

All the features of the Mobo and PSU. Plus I was really surprised by the packaging of the PSU. Everything came in this really sleek black box, packed in thick foam, and the modular cables came inside of a unfolding velcro'd packet. Oh, and there's a velvet black bag to keep that packet in. F'n class I tell you. Here's some picks of that. Good job SeaSonic. The PSU is one of the elements I didn't skimp on cuz I wanted something quite, modular, and could handle a heavy load if need be.

DIY HTPC image - Build_05a

DIY HTPC image - Build_05b


I don't have any pics of the case or the packaging it came in cuz it just came in a fairly plain cardboard box. But it was packed well and everything came in good condition. The hard drive came in the standard plastic shell, so nothing special there. Also the graphics card hadn't arrived by this point so no pictures of that either. On to the build!

DIY HTPC image - Build_01

I didn't take a close-up of the LCD installation, but if you enlarge the image you'll see a greyish panel obscured by the metal bracing in the front of the case. There's a red wire leading to it. In order to get the panel in there, I had to flex that bar outward slightly to allow the panel to slide in.

DIY HTPC image - Build_02

DIY HTPC image - Build_03

I got the CPU, RAM, and HD installed with no problems. Plus the removable drive bay enclosure makes it easy to install drives and optical drives.

DIY HTPC image - Build_04


My graphics card finally arrived in the mail so I was looking forward to getting that in there and installing the OS. Well, it turns out it would have fit in the case except for the fact of that removable disk enclosure. This GPU was a monster, it took up almost the whole depth of the case. So I swapped out the card in my work desktop with the HTPC one.

DIY HTPC image - Build_05

DIY HTPC image - Build_06

And here's the massive card in my work PC. I know I know, cable management much? Well the case doesn't have space for that, and I had just thrown the card in to see if it'd work with my setup. Well I'm glad I didn't finalize everything cuz I was able to boot into Windows, but after a while there was a lot of heat being generated and finally my system just froze. I rebooted, and nothing, DOA. So after all that I swapped the cards again, and ordered an RMA for Gigantor card. After doing that I did some more research trying to find a card that could handle the loads I was expecting plus have component outputs.

While I was ordering the new card I realized that I didn't have an optical drive. At first I was just planning on playing media from my NAS's but then I thought would if I need to install something from a cd/dvd or I just want to play a DVD? So I found a cheap DVD-rom. And finally I decided to get another wireless adapter and a wireless keyboard/mouse controller. I've used the TrendNets before and they work great. So here's another list of parts.

  • GPU - EVGA GeForce 9500 GT 1GB PCIe w/Dual Link DVI
  • DVD-RW - Lite-On 22X DVDRW IDE OEM
  • LAN/Internetz - TrendNet 150Mps Mini Wireless USB Adapter
  • Wireless Keyboard/Mouse - ProMini 2.4GHz Tiny Wireless Keyboard (Built-in TouchPad/Laser Pointer) - Black

DIY HTPC image - Parts_04

1. Wireless Keyboard/Mouse, 2. Wireless N USB Adapter, 3. Graphics Card


After waiting so long for the first graphics card to arrive I decided to power on and use the on-board graphics processor so that I could install the OS and get all my software and hardware running properly. Since I didn't have a dvd drive I couldn't install anything via disc so I had to figure out how to install stuff via a usb drive. Luckily there's a program called Windows 7 USB DVD Download Tool which allows you load all the installation data to a usb drive making it bootable. So I did that and I was on my way.

DIY HTPC image - Build_07

Here's a shitty pic of the usb stick sticking out the front panel. The front panel folds down btw. There's 1 USB2, 1 USB3, 1 Firewire, a couple card slots, and a USB1 input. Oh also, the fan on the PSU doesn't spin unless it gets hot. I thought the thing was broke at first, but everything was getting power, then I read in the manual that it has a smart sensor that detects if it's hot. I'm so glad I went with that PSU, it's quite, and doesn't waist power on a constantly spinning fan.

DIY HTPC image - Build_08

I had everything Jerry-rigged at this point. I was using my second monitor for the HTPC, and by gf's keyboard and mouse. And you can see Windows 7 starting to install.

DIY HTPC image - Build_09

And here it is installed. Huzah!


After I got the OS installed I installed all the drivers and software I was planning on using. One of those pieces of software is M-Play which allows me to program my front LCD panel. I started playing around with it only to find that nothing was showing up on the panel. I thought I may have damaged the panel while installing it, but after reading through the installation instructions I found out that there was just a black tape over the case's front panel.

So after taking everything apart and then putting it back together again, I booted up and the screen lit up. One thing I noticed was there was a strip of dead pixels on the panel. And that strip happened to remove the pixels that began the message of almost all the important info. I wasn't too happy about that. But luckily after messing around with M-Play some more I was able to move the messages over a couple pixels. Now you don't even notice that there are any dead pixels.

DIY HTPC image - Build_10

I finally received my new goodies and got right to installing them.

DIY HTPC image - Build_11

After getting the dvd-rom installed and everything sealed up I realized that when the drive opens, and then tries to close, it gets stuck on the case's spring-loaded door. So I had to remove the drives front bezel in order for everything to run smoothly. The drive is a little noisy once it spins up a disc, but it quiets down once it's running.

DIY HTPC image - Build_12

The new GPU

DIY HTPC image - Build_13

Money shot of everything installed and ready to run!


I got everything hooked up to my TV via a component cable but only after a lot of struggling. When I first hooked everything up, it would boot up to the Windows is loading screen, but then BAM, squiggly static. Turns out my graphics card was output a 1024x786 signal that my TV couldn't handle. So took everything back into my office, re-hooked everything back up to a spare monitor and told the HTPC to boot up at a low res with a low refresh rate. Also, another trick was to hook the blue cable of the component cable to the yellow input of my TV. After that I was able to finalize my settings and hook up all the component cables to their proper jacks.

But alas, after all that, I found out that Windows 7 doesn't play well with low resolutions, or my TV doesn't like Windows 7. Either way, text and some graphics come across too blurry. Plus I was planning on using this as a gaming system on top of viewing TV & movies. After some debating with myself I decided to upgrade my TV and receiver. At the moment I'm using an Insignia 6-disc dvd changer that outputs 6.1 sound, but one of the outputs got burnt out in an outage so I have a lot of stuff hooked up to a switcher and channeled through the dvd player for sound.

After finally deciding on what new pieces to this puzzle I needed, I ordered them and they'll be arriving sometime within the next week. Until then, I'll just show you some of my customization's to XBMC. These are my mods to the Rapier skin.

DIY HTPC image - XBMC_BootScreen DIY HTPC image - XBMC_TV DIY HTPC image - XBMC_TV_sub

DIY HTPC image - XBMC_Movies DIY HTPC image - XBMC_Movies_sub DIY HTPC image - XBMC_VidSrc

DIY HTPC image - XBMC_Weather DIY HTPC image - XBMC_System DIY HTPC image - XBMC_Programs

DIY HTPC image - XBMC_TV_Shows DIY HTPC image - XBMC_TV_Seasons DIY HTPC image - XBMC_TV_Episodes

DIY HTPC image - XBMC_Movies_main DIY HTPC image - XBMC_Programs_games DIY HTPC image - XBMC_Weather_main

DIY HTPC image - XBMC_SwapShell DIY HTPC image - XBMC_SwapShell_BatFileDialog DIY HTPC image - XBMC_Registry

I'll just start from the top going right. Swapped out the Boot logo. Added a sub menu to TV Shows and Movies. For TV Shows I added Unwatched, Cataloged, & Watched. Unwatched are all the current shows in a share (usually current for the tv season). Cataloged are all the shows that have been added to the database and have had all their content scraped. Watched is all the shows in a share that have been watched (usually current for the tv season). The same goes for the Movies sub menu minus the Watched category.

I changed the text for Videos to Video Src and created my own icon. I thought the description of Videos could be misconstrued as videos to watch, not the source for all videos. I added Weather to the main Home toolbar and changed it's icon as well. And everything else was just the background.

If you skip down to the bottom row this is where things got tricky, but fun. I took out a couple options in the shutdown menu, basically cuz they don't work. And I added one custom option, Swap Shell. This little guy executes a Batch file that shuts down XBMC and edits the Registry. If an entry for the Event Ghost shell doesn't exist it creates one, if one does exist it swaps the Explorer shell to the Event Ghost shell. And finally if the entry Shell-Explorer exists, it swaps Event Ghost for Explorer and renames to Shell.

This is extremely helpful for going back and forth to make tweaks in the Windows OS as apposed to not having a shell to work in, since essentially Event Ghost runs silently in the background. Plus, if you've accidentally gone into this Batch file you can select 3 - Swap Shells Again, and then 1 - Start XBMC.

I failed to mention earlier that I'm running Event Ghost so that when the system boots up I can bypass running Windows Explorer, and it looks like the HTPC boot directly to XBMC. Which it does, aside from mapping some network connections, and overriding the remote control functionality for the WMC remote to make it XBMC compliant. I'm still trying to figure out how to map the functionality of 'Shift+(Letter)' so that I can jump from one alphabetical category to the next. I've heard it's possible, but I haven't had luck with it yet.


Updated 2010-10-02

I moved into my new place a couple weeks ago, and have been slowly setting everything up. I got the HTPC hooked up to my refurbished Samsung 32" LCD TV and the picture quality is much improved.

DIY HTPC image - TV

For the sound system I went with a Sony STR-DH710 7.1 A/V receiver paired with the Onkyo SKS-HT540 7.1 home theater speakers.

DIY HTPC image - Receiver

DIY HTPC image - Speakers

I'm running an HDMI cable for video and an optical cable for the sound. It took me a while to figure out how to tell the receiver to use the picture from the HDMI and the sound from the optical, but I did after some trial and error.

So I tested the whole thing out with some SD TV and some HD movies. Everything was running fine til suddenly XBMC would just freeze up. I found out that it was cuz my wireless connection was dying for some reason. I thought it might be because I was downstairs and my router was upstairs. So I tested the connection out on my MVix and it played everything flawlessly. I had no idea what was up. In the end I decided to get a couple more add-ons for the system. The first was the Netgear WNDR3700-100NAS 802.11a/b/g/n Rangemax wireless router. I got that up and running, and things seemed to be fine, until again the connection died.

DIY HTPC image - Parts_05

One of the nice things about this router (besides it's range/bandwidth), is that it has mounting holes on the back. So I mounted it underneath one of my modular shelves that I have above my desk.

DIY HTPC image - Parts_05a

I thought that maybe XBMC was the culprit, so I did some Googling and found that there was a beta build that was supposed to have some better streaming capabilities so I got that installed. It's XBMC Dharma beta 2 in case any of you would like to give it a go. The only downside of upgrading to this release was that I lost the Rapier skin. So I did some more Googling, and found a patched version of the skin which I then re-customized again. The new version runs pretty smoothly except for some bugs in the skin functionality that I might try to fix, but I was still getting a dropped signal.

After some more troubleshooting I found that the wireless usb adapter that I was running on the HTPC couldn't find the N network that I had set up. My old crappy laptop can, and the MVix could (even though it was using the same wireless usb adapter), but for some reason the HTPC could not. So I made what will hopefully be the last purchase for this thing, an onboard wirelss card. The Linksys WMP600N IEEE 802.11a/b/g, IEEE 802.11n Draft 2.0 PCI Wireless Adapter with Dual-Band WEP, WPA & WPA2 Personal, WPA & WPA2 Enterprise.

DIY HTPC image - Parts_06

I ran it through a gauntlet of TV and Movies yesterday and everything seems to be finally working. I'm not getting my hopes up yet, but my fingers are crossed. Once I'm certain everything's kosher I'll post some pics of the final result and maybe even my custom Rapier skin.

What Dis?

My name's Trevor Lemon, and this is my blog. I'll try to update it with whatever I'm working on, random thoughts, links to shit I think is cool; whatever I deem worthy I suppose.

If you want to keep up with muh craziness bookmark my RSS feed.

Archive