Computers, computers and more computers

It’s been a busy couple of weeks on the project. I had a few vacation days left to take at work, so I nabbed a week off and put it to good use making some progress. With the basic shell assembled and painted, I wanted to get onto the basic computing power for the sim, and in particular to creating the various mountings needed to place the various bits in the shell.

As I mentioned in a previous installment, I plan on putting all the computing and electronics gear needed for the sim into the shell itself, so that it’s essentially self-contained. This contrasts with some other sims where the computing power is a stack of beige boxes lined up against the next-door wall – there’s nothing wrong with that approach, I just wanted something that was all-in-one.

In Phase 1, the sim will be powered by four PCs: two ‘conventional’ PCs, an HP tablet PC and a recycled Asus R2 ultra-mobile PC (UMPC) that I happened to have lying around doing nothing. One conventional PC (PC1) will power the main display and nothing else at all – most likely I’ll even have sound disabled on this machine so that all the CPU power available goes to rendering the front view and get the frame rates up as high as I possibly can. The second conventional PC (PC2) will run the left and right-hand screens that will serve as PFD/MFD in glass cockpit aircraft, and analog panels in others, and will also be the place where most of the controls (yoke etc) plug in via USB. The tablet PC (PC3) will serve as an additional control panel display, but – with its touch screen – will also be a control center, where the custom screens I’m planning to write to control aspects of the sim itself and of simulated aircraft where I have no physical controls available – engine fuel feeds, for example – will also run. Running off PC3 will be a second, 7″ touchscreen monitor which will be physically located in the pedestal and will provide a radio stack. Lastly, the UMPC (PC4) will be located in the pedestal and will serve as CDU, weather radar and various ancillary screens that would normally appear in that position.

By way of specs, PC1 is powered by a quad-core Q9450 chip which runs stock at 2.66GHz but can be clocked to 3.2GHz and even a bit further quite happily in my experience; PC2 runs on an older quad-core Xeon X3210 which runs stock at 2.13GHz but I have been able to push to 2.7GHz reliably. Neither of these are as fast as you can get, although the Q9450 overclocked is very competitive with anything else in the Core 2 Quad range. Both boards have 4GB DDR2-800 RAM on them. For now I’m holding off going to Core i7, though at some point I’ll most likely want to do so for the main rendering board. PC3, the tablet, uses a Core 2 mobile chip running at 3GHz and has 2GB RAM on board, with a 13″ 4:3 touch (sadly not multi-touch) screen. PC4, the UMPC, is rather underpowered compared to all the others, designed as it was as a small, low-heat platform. It runs a Pentium 4-class Celeron at a meagre 900MHz and sports a rather insipid 1GB of RAM, but since its purpose in the sim is to run a single panel at a time and be touch-sensitive, this it does reasonably well. It’s also the only PC in the solution which will be running Windows XP rather than Windows 7, simply for the hardware support and memory overhead.

PC1 and 2 exist in the form of bits and pieces – motherboard, CPU etc pulled together from previous projects and upgrades with some bought new for the project. They are not complete PC systems; although one is made from parts mostly pulled from a server which had a case and was in use as a development server, I am not attempting to install a whole PC enclosure inside the shell – it just wouldn’t fit. Instead I’m going for a barebones approach and as such, I needed to construct an enclosure and mounting system for these PCs within the main shell.

Originally I was going to put one board on the left-hand side of the console at the rear, and the other on the right, but a quick check of dimensions proved that I wouldn’t have room left to mount the control yokes, and I can’t re-size those. I then settled on a plan to mount them in a double-decker style in the middle of the console behind the mounting for the tablet PC, where there will be no embedded control hardware. This left me needing to fashion some form of enclosure.

Since wood, rather than metal, is my medium for this project, it would be necessary to create a wooden frame. This would be open to maximise airflow. I set out by measuring up the ATX motherboard dimensions and then cutting out two panels of 6mm MDF with a 20mm margin around the edges to provide room to place support structures. In the event I mis-measured and left only a 10mm margin and was forced to adapt a little later on rather than start again. I used scrap wood left over from earlier in the build, which is why the finished result doesn’t look hugely polished; as it’ll never be seen in normal use, it doesn’t need to be, and my stock of untouched MDF can be used for other purposes.

Next I took a scrap old AMD K7 motherboard (which is ancient, but ATX has stayed the same for countless years so it was fine as a template I could afford to get dirty and broken) and used this to mark the positions of the screw-holes where the board is screwed into the retainers. I had to pop off to Maplin to get a packet of motherboard retaining bolts so I could populate out the board with them.

Putting retaining bolts onto the 'bottom deck' board

Once this was done with both boards I measured the height of a standard PC expansion card to the retaining rail where the card is screwed in, as I would need to provide a similar support structure in my frame. I then cut some pine baton down to the right length to act as supports for the top deck, and positioned these around the edge of the bottom board.

Support pillars in place, with K7 motherboard in as a test

Into the top of each pillar I drilled a deep 4mm hole to accomodate a machine screw. I then drilled a wider 8mm hole, 4mm deep, at the top of each 4mm hole – this was, in hindsight, the wrong way to do it. I should have drilled the larger hole first and then I’d have had a better guide for the smaller hole; but with a drill press this is immaterial provided you keep the material fixed in the right place. Into the larger hole I placed a nut for a 4mm machine screw and glued it into place. I could then screw a 4mm bolt into the pillar with the nut acting as the anchor. Finally I drilled 4mm hole in the top deck board in the appropriate place, and could then mount one on top of the other.

A further two batons went on the bottom deck right at the rear of the structure, with two more directly above them on the top deck, cut and grooved to interlock to provide a single long baton running the full height of two boards + full-height expansion cards, and then into the top of those batons I drilled 6mm holese and put 6mm tee nuts to accomodate 6mm roofing bolts. A strip of MDF (made deliberately over-wide for reasons which will become clear later) went on top and provided a support structure for the expansion cards on the top deck. Two smaller strips of MDF were then run up the back of the vertical support batons and tee-and-bolt combinations placed in them at 3 locations to lock the whole structure together when assembled. The finished product looks like this:

Completed double-deck frame for PC1 and 2

This whole structure fits into the central part of the console and is bolted down with four bolts at the corners into the main shelf of the console.

Next, I needed to mount the power supply units to run these two PCs. Originally I tried constructing a shelf behind the PC enclosure, keeping the PSUs in place with artfully-bodged screws and a couple of angle-brackets (these actually work really well, and again, ‘polish’ wasn’t the aim here, so don’t knock it!).

PSU shelf, Take 1

Sadly, this pushed the main PC enclosure frame so far forward that the full-length graphics card used would foul the tablet PC mounting, so I had to abandon this. I went for the simplest thing that could work, which was to split the shelf in the middle and mount the two halves on the other side of the vertical divider in each case, like this:

PSU shelf, Take 2

An extra steel support bracket was used for each to help bear the weight of the PSU. Keeping the PSU up high like this to give clearance below for the other parts – notably the yoke assembly – is critical, so a shelf was necessary.

Once I tried to plug it all in for a test, of course, I discovered that the ATX power and P4 ancillary power leads on both PSUs were just too short to reach. In modern PCs the PSU is located close to the main board and there’s no need to have miles of free cable. While some PSUs provide more than others, one of the supplies I was using for the project had particularly short cables. No amount of bodging was going to fix this. So, a further trip to Maplin bought me a pair of ATX and P4 cable extensions, designed for installing PSUs into large server cases. With these, I was finally able to make all the connections with room to spare. Time to fire the PCs up and make sure they still work!

It lives! Both PCs fired up and running.

To my relief, both of them fired up immediately, so I shut them down, put the displays for PFD and MFD into place on the front panel, and connected them up. You’ll have to take my word that they’re working in the picture below, because my lousy phone camera is unable to deal with the contrast in the shot and is overwhelmed by the glare (I must remember to recharge my proper camera and start using that for picture-taking):

No, it's not the Amityville Horror house...

Each PC will now be outfitted with a brand new solid-state drive (SSD) which should help it go like lightning, reduce noise and power consumption and – importantly – heat. Because neither needs much local storage, I’m putting 60GB models in both. The tablet and UMPC both have small laptop HDDs which I will leave in for now.

Next up is work on the yoke. I need to convert a standard CH Products yoke, adding 120mm to its shaft length, and finding a way to fit it permanently into the console. Soldering iron time…