Article -> Hardware

Atom D510 Home Automation Server - Prelude

Since I moved houses I've been running my music server on a laptop 24/7 and I don't really think it enjoys that as much as I do. So to remedy this awful situation and free my laptop from its chains for travel duties again - I'm building a power efficient home automation server to replace it.

Of course, I already have a home server of sorts but it's a quad-core monster with 8GB memory and a dozen virtual servers running an entire Windows Forest and more within. Using the Hyper-V host on that server to play music and control lights isn't exactly a bright idea as hardware control is still a bit buggy and sadly requires reboots and scary driver upgrades at times. Not something any Hypervisor enjoys and using a virtual server has it's own hardware problems. I also already have a powerful HTPC for my home theatre but its power demand is definitely not suitable for a 24/7 schedule.

So, I need a separate physical server for this - and today I started that build based on a newly released Intel Atom D510 CPU and motherboard - Intel D510MO.

Intel Atom D510 motherboard size comparison

Compared to a 3,5" hard drive in the above picture - the Mini-ITX motherboard certainly is quite the slim thing and to help get things even more truly tiny I added a 150W PicoPSU into the mix.

The Atom D510 is also a step up from the old Atom 330 in that we finally get to ditch the old power- and fan-hungry chipset which has plagued Atom solutions for such a long time. Here are the basic features:

  • 64bit support
  • 2 physical cores
  • Hyper-threading support
  • Runs at 1,66 GHz
  • 1 MB L2 cache
  • DDR2-800 integrated memory controller
  • Integrated GMA 3150 GPU
  • <20W total system power consumption

Compared to the Atom CPUs found in netbooks this desktop version has some additional things going for it but for an in-depth technical review I recommend this article at Tom's Hardware.

This particular motherboard also features:

  • PCI slot and Mini-PCI-express slot
  • 2 serial and 1 parallel port header
  • 2 3.0 Gbps SATA and 3 USB 2.0 ports
  • 2 PS/2 ports
  • 3 audio connectors, front panel and SPDIF headers
  • 2 DDR2-800 memory slots
  • Gigabit ethernet and VGA output

PicoPSU 150W

Pictured above is the PicoPSU and as you can see it's not much more than a regular 24 pin ATX connector with some extra circuits and wires. From the interesting-looking motherboard connector we get:

  • 12V DC input
  • SATA power connector
  • PATA power connector
  • 4PIN ATX12V connector

The Atom 510 motherboard I use doesn't seem to need the 4pin connector so that one isn't even used here - but it's a good thing to have as many mATX motherboards still require it. The SATA power connector will be connected to the 2,5" boot drive and the PATA power connector will supply my old VFD display with juice to show some debug and system information.

I/O shield and PicoPSU

The software I'm going to run will be a mix of existing and custom-written applications but that is all for a completely different article.

The general idea however is to simply build a modern and intuitive web interface for home automation and control this thing through perhaps the first Apple product I'll ever purchase: an Ipad. Because its browser will rock, right?

So what do I want from this thing anyway? Let's see:

  • Music playback
  • Light control
  • Power consumption analysis
  • Voice commands

The first thing requires some thought but I happen to have the first revision of Creative's X-Fi PCI soundcard lying around and as music playback will use analogue output to multiple receivers this will make sure the audio quality is bearable. I will also possibly use the integrated audio for local system and debug announcements.

All these things

Anyway, the X-Fi is quite a huge card and I don't really want to shell out with even more money for a USB X-Fi right now. To the rescue comes the 46 SEK ($6) PCI riser card from heaven!

PCI riser card

This will make sure the soundcard won't increase our server size by much. After some tinkering it's obvious that most of the cable mess and the hard drive will fit between the motherboard and the soundcard - so now is a good time to try and mount the drive to the soundcard!

protecting the hard drive from short-circuits

Using a piece of cardboard from the motherboard retail packaging the drive will be protected from short-circuits when attached to the soundcard's back.

Drive mounted to soundcard back

Your luck will vary depending on what card you use but there was at least one neatly positioned hole on the X-Fi card to support a standard drive mount. The rest is all about being a bit creative ^^ (pun actually not intended)

First assembly of drive, motherboard and soundcard

Wow, that's a neat sandwich! After further re-routing of the cables the soundcard also stopped bulging but I didn't take a picture of that. You can also see the VFD display above and it's simply an old LPT port-driven display I had lying around that I connected to the LPT header on the motherboard and the PicoPSU PATA power connector. You can also see the 2 GB stick of DDR2 memory I sneakily borrowed from Tim's server to test the build with ^^

Telldus Tellstick

To settle my second demand on this project I added an internal USB header adapter and stuck the Telldus Tellstick on top of the motherboard heat sink. This white little USB dongle can control the NEXA remote power adapters using a simple application or the Tellstick API which to my satisfaction is available for .NET.

The beauty standing up

Finally, sourcing an AC-DC-adapter to power this thing wasn't exactly hard - I just took a 3A 12V adapter that belonged to an old 15" monitor and plugged it right into the PicoPSU.

I actually gave my drill a work-out to open up a big enough hole in the I/O shield for the PicoPSU DC input connector - pictured above next to the blue VGA output. It almost looks like it's suppose to be there!

First boot

Quite a bit surprised I then witnessed the thing boot up at the very first try. I had some minor trouble identifying whether I got the power switch triggered or not as there are no fans in this thing whatsoever. It doesn't make a single sound, the hard drive is the only thing even remotely able to do that but it too is dead silent so far.

As this kawaii creation will run 24/7 I then changed the power on-setting in BIOS Setup to always power on the system whenever power is applied. This circumvents any need for a power switch.

I hit F12 and it booted happily over the network from my Windows Deployment Server and I started installing my 64bit operating system of choice and wrote this article. I'm looking forward to the next step - but first I'm going to check out the latest episode of Durarara!!. And yes, that is a very, very tiny keyboard pictured above.

Read the next published article in this series:
Atom D510 Home Automation Server - Hardware

by Oskar Duveborn - 14 revisions
Published 2010-03-18, updated 2010-04-02