I was hoping to cover the projector selection in the first of these deep dives but as luck would have it the photos I took of it came out poorly focused for some reason and I’ve already re-connected everything and just don’t feel like tearing it apart right now to get new pics. So for now I bring you “The PC”!
As stated before this is the heart of the system, it reads the camera images, detects touches, runs the applications (the whole point!), and sends the images to the projector. If you want a responsive table then it follows that you want a responsive PC running it. This isn’t the place to skimp or cut corners but that doesn’t mean you can’t shop smart. I’ll try to point out the places I went “high” and places I went “low” which might help you make some budget decisions for your own build. Strap-in cause this is likely to be a long post.
I should say that I had an initial goal of spending no more than $1200 for PC components. I ended up going over this amount. The total cost of the PC components with shipping was $1331.52. Some of that increase was due to cheaper components I wanted being out of stock and me being unwilling to wait for them but all in all I think I came pretty close to the target while still getting a lot for my money. Read on for a rundown of the component listing and some hopefully useful insight into the selection process. Component pricing can be found on the Cost Tally page here and linked to in the upper right corner of the blog.
Intel Core i7-860 Lynnfield 2.8GHz LGA 1156 95W Quad-Core Processor
This is certainly one of those points where you can make trade-offs to save money. I could have gone with an i5 and saved a little, I could have gone with a higher-end i7 and spent a little more. In the end I felt the best choice was somewhere in the mid-ground. I initially wanted to go with a higher-end i7 which would have been on the LGA 1366 socket (supporting 3 channels of RAM). While prices for the processors were only 10′s of dollars apart the implication of using the LGA 1366 socket would be felt in motherboard selection – LGA1366 motherboards are measurably more costly than LGA 1156 (2 channels of RAM). In this case I felt the drop in memory bandwidth would be acceptable and that overall performance would not be significantly impacted – at least not enough to justify the additional cost.
The Core i7-860 is a quad-core processor with hyper-threading so it shows up as 8-cores under the OS. I really wanted a quad-core in this instance because I plan to stitch two cameras together for touch detection and I want to keep things highly responsive. Having multiple cores means I can run the camera processing and the actual touch applications each on dedicated cores (I can script them to start with core affinity if need be) removing the bottleneck of multi-tasking on a single, or dual core CPU. I won’t cover the advanced functions and capabilities of the CPU like dynamic power management and turbo-boost (K.I.T.T.!) as those have already been well handled by far more reputable sources than I. Needless to say Intel has a winner with this CPU and now I do too.
ASUS P7P55D LGA 1156 Intel P55 ATX
I really like Asus motherboards. I’ve probably built over a dozen PCs (well over most likely, I stopped counting) and I do not think an Asus board has ever failed me – and trust me, many of the mobos along the way HAVE failed me. This board is one of an extensive family of LGA 1156 boards in the P7P55D line sporting a wide array of features.
You can spend as much or as little as you want on the various models, but I chose to stick with the base model. This is a case where my CPU choice allowed me to save money on this item. Even in base trim this is a solid Core i5/i7 mobo. All I really cared about is that it had an x16 PCIe slot, plenty of USB, and at least one firewire port. Everything else is going to be pretty much standard these days – embedded 1Gb NIC, SATA 3Gbs, onboard audio, etc. My only complaint is that I would have liked the physical size of the board to be a bit smaller but it shouldn’t end up being a huge issue going forward. Not much more to say here other than go team Asus!
Corsair XMS3 8GB (4 x 2GB) 240-Pin DDR3 SDRAM DDR3 1600
I wanted to have plenty of RAM for this build. If I had gone with an LGA 1366 CPU I’d have gone with 6GB of RAM (3x2GB) but since I went with the dual-channel LGA 1156 I decided that 4GB wasn’t enough and went up to 8GB. I did buy the fastest memory the motherboard would support – 1600Mhz – to insure I got the most out of both channels. RAM prices have surged up recently so going for 8GB was a costly move but I think it will be rewarded in practice when running the multiple applications and services required for doing multi-touch systems.
ASUS CuCore Series EAH5770 CuCore/2DI/1GD5 Radeon HD 5770 1GB 128-bit GDDR5
Ahhh yes, the video card. This is the place where you truly can spend as much as you want – but probably don’t need to spend a whole lot. The recent models from both AMD/ATI and nVidia pack amazing amounts of graphical processing power into amazingly cheap cards.
Right now AMD/ATI is on top for price/performance so I knew that’s where I was going to start looking. I wanted DirectX 11 support (don’t ask why, I just did) and I wanted an HDMI port since I knew my projector was going to have one (the only digital port on it). Performance-wise I knew I didn’t need the top-end but I wanted something capable that didn’t make huge sacrifices to meet a price point. After doing a bit of homework I decided the Radeon 5770 was a good choice. I chose an Asus implementation of the card mostly because of the huge callout on the packaging detailing the large weight of the card’s “Copper Rod” – any card that goes swinging it’s big rod around at all the other cards is the one for me. Needless to say the card has been fully inserted into it’s “slot” on the motherboard. Plus it’s 11% “cooler”… than something. So if the other 5770 cards are cool, this one goes to 11.
The 5770 is clocked at 850Mhz and sports 800 stream processors, the 1GB of RAM runs at an effective clock rate of 1200Mhz. Most of the specs are similar to the MUCH higher priced 5870 except the stream processors are cut in half. My feeling is that the extra processing power will not be missed as the table is only running at 1280×800 resolution. This card can drive even the most modern and demanding video games at 60-90fps at 1920×1280 with all the goodies turned on. I just intend to move a few 3D objects around and probably won’t even be doing multi-texturing or tessellation. It does support video acceleration which is important and will probably be the most utilized feature on the card. Bottom line – 70-80% of the performance of more expensive cards (in my use case) for less than half the price.
Mushkin Enhanced Io 64GB 2.5″ 64GB SATA II MLC SSD
It’s important to keep in mind that this is a task-focused machine. It’s not going to be my general purpose PC, it’s meant to do a few things well. In light of that I wasn’t looking for tons of storage. I have no plans to store a video library or my MP3 collection on here. I just want an OS, and a few core applications and most importantly I want them to load FAST.
This meant getting a Solid State Disk (SSD). SSD’s are certainly the future of storage (or at least some form of hybrid of SSD and spinning rust will be) and typically blow any mechanical drive out of the water when it comes to sustained read/write speeds, seek times (approaching 0ms), and IOPS. But there’s a catch – SSDs are expensive, really expensive. Again this is where being willing to accept some limitations will pay off – break the mindset that you need 5TB of storage in your PC, if all you need is an OS and a handful of supporting apps even 20GB can be enough space. I know this because at work we do far more, with far less space on a daily basis and somehow we run a $60B company with it.
Mushkin may not be a well known name to some of you, but they are probably best known for their enthusiast RAM – before there was Patriot, OCZ, and Corsair, there was Mushkin. If you wanted to overclock your old BX440-based motherboard (PII-PIII era legendary chipset) and you wanted it stable you bought Mushkin RAM. Mushkin’s tech support would actually HELP you overclock where others would void your warranty. They replaced RAM that didn’t overclock well, and one time when I had a bad DIMM before replacing it the tech asked “Is your PC ok?” – he was actually concerned that the RAM may have damaged the other components. This made me a rabid Mushkin fan back in the day. That being said – Mushkin wasn’t my first choice for this SSD Not because of anything they did wrong, just because of cost. But after cycling through two other models that both went out of stock before I could order I settled on this drive from Mushkin. It’s basically using the same stock build as all other Indilinx barefoot controller drives and I expect similar performance and reliability. It does support the TRIM command under Windows 7 which was another requirement.
In practice the thing is fast – apps launch instantly, seriously. It’s also F’in TINY and totally silent (obviously) which is a little odd at first. Another benefit of SSDs is that they are mostly immune to mechanical shock – vibration/bumps/drops don’t affect them like standard hard disks – I figured this was a desirable trait in a table that might get nudged, kicked, and moved around alot.
CORSAIR CMPSU-650HX 650W ATX12V v2.2
I knew early on that I wanted a modular PSU to reduce cable clutter as much as possible on the build. I also knew this would increase the cost but it’s a worthwhile tradeoff and some of the previous decisions had freed up enough savings to compensate for it (mostly).
I had used Corsair modular PSUs for a number of previous builds and have been very happy with them. They use flat, black ribbon-type cabling that makes for neat and tidy routing and a clean appearance. I was looking for something in the 500-550W range and for whatever reason I just couldn’t find a Corsair model in that range that also had modular cabling – despite knowing that I owned one previously (suppose I could have cannibalized it). Anyway I ended up getting a 650W variant of their HX line. Yes it cost more money and yes between this and the SSD I blew my budget – but not all that bad. I don’t intend to put the PC portion of the table into a “case” in the traditional sense so mounting the PSU should be interesting. I’d like to have the exhaust fan exit through the table shell but if that doesn’t work I can always duct to it.
Microsoft Windows 7 Home Premium 64-bit
While Windows XP is certainly an option for a table build, in order to utilize all the RAM I had bought I’d have needed the 64-bit version of it and the 64-bit version of XP was never fully baked in my mind. That left Vista, or Windows 7.
Windows 7 actually has native support for multi-touch input and I want to play with it at some point but most importantly it’s a fairly solid OS with good 64-bit support and is also SSD aware (they do require some special handling). There really was only one option here and I do believe (mostly) in the fact that you should be buying an actual OS license for any PC you build. I also believe you should hit up your niece, nephew, or cousin who’s still in college to hit the college book store and buy you the academic version that’s 50% less than what you’d pay online or at retail – but hey, at least you’re still buying it (that works for Office and Photoshop too BTW). NewEgg sells an OEM version of Win7 and that’s what I went for. No real surprises or wisdom here.
So What’s Missing?
Well, a case for one. But as I stated previously I don’t intend to case this build. I have an old case with a removable motherboard tray and I plan to utilize that as the base of the build. I’ll have pics of that up before too long.
Also, there’s no optical storage. I have about 30 CD/DVD drives to choose from, I’m just going to reuse one. In practice I don’t even know that the table needs one, but it might be nice to have. Even a USB device is an option here for when it’s needed.
I didn’t add a sound card because, for the tasks I plan to do, the integrated audio chipset will do just fine.
I also plan to add a bluetooth radio, RFID reader, 20,000-in-1 media reader (or whatever they’re up to now), and possibly a barcode scanner at a later point. For now I just want to touch the stupid thing and make waves in water or draw bad finger art. Once I have that mastered I’ll move on to device integration and proximity awareness.
That’s all for now. I’ll try to cover the projector next.