Designing Your Own Custom PC

 

by Shannon Dealy, DeaTech Research Inc.

 

Last significant upate: August, 2006 (still needs work, but should be more relevant for newer computers)

Why design/build your own computer?

Frankly, there is really only one reason to custom build your own PC, the need for a combination of features which are unavailable in any commercially manufactured computer system. This requirement could also include the need for features to not be included in a computer, in many cases I can find what I want in a computer that costs three times what it should because those features are only available in a system that has many options I don't want!

If you are expecting to save money by building your own computer, it isn't going to happen unless (as was previously mentioned), the only way to get the features you want is to buy a much more expensive system with features you don't need or don't want. My primary reason for custom building is that there simply aren't any companies building systems that meet my needs.

Some common considerations

What are your goals? Here are many of the major criteria you may want to consider in your computer design:

  • Performance - Computational, Graphics, Mass Storage, Network
  • Reliability - maximize up time, minimize chance of data loss
  • Software Compatability
  • Hardware Compatability
  • Power Consumption
  • Memory Requirements
  • Mass Storage Requirements
  • Cost
  • Weight
  • Size
  • Noise levels
  • Upgradeable
  • Display quality
  • Sound quality
  • Specialized Peripherals

Some common configurations

  • Server: maximum reliabilty, maximum mass storage and network performance
  • Workstation: maximum computational and graphics performance
  • Personal Computer: minimum cost
  • Laptop: minimum power consumption, size and weight

Hardware selection

Roughly in the order you might want to make selections (though in some cases, order makes little difference):

  1. CPU - AMD, Intel, VIA, non-X86, 32/64 bit
  2. Motherboard - I/O (legacy, USB, Firewire), slots, form factor, works with your CPU :-)
  3. Memory - quality, performance
  4. Hard disk - quality, interface, performance
  5. Video - performance
  6. Power Supply - quality, quality, quality, spec higher than you will ever need
  7. Case - size, ventilation, extra fan mounts
  8. Monitor - size, resolution, refresh rate, dot size, response time (LCD, 25 milliseconds or less)
  9. Keyboard/Mouse - whatever works for you.

Choosing The Components

First and foremost, research EVERY component you are going to purchase, not just for compatibility with Linux or whatever operating system or software packages you are planning on using, but also for stability and durability. If all else fails in your research (such as you want something bleeding edge so there is no product history information available), go with the product made by the company with the best reputation, it doesn't guarantee success, but improves your odds since companies that have earned a good reputation usually (but not always) do a better job with new products.

Good sites for researching products:

The following may also be of use in hardware selection and general information on building your own PC:

Companies I generally prefer to buy from if they carry the product I need:

Case:

This is probably the least critical part of the decision, other than from an assembly perspective, some cases make it very easy to build a system, while others make it more difficult. If you care about this aspect, check the reviews, other than ease of assembly, the only question is what form factor is your motherboard going to be and how many drives (5-1/4 and 3-1/2) do you want to install in it. There have been some problems with bending/distortion on some of the new aluminum cases, and in one case that I heard of it distorted enough to contact the underside of the motherboard and short it out. For a wide selection of cases try:

Power supply:

This is a critical component for system stability, and the most overlooked one in the decision making process, because most cases come with a power supply, people often use the power supply that is included. Be warned, most of these are JUNK, and a sure ticket to system instability (usually the kind that you can never track down, the system just crashes for no apparent reason). This needs to be sized for the hardware you intend to install, particularly if you want a dual processor motherboard, or alot of hard drives. Personally, unless I have special requirements, I only buy PC Power and Cooling power supplies, they are expensive but worth it. Some of the really cheap power supplies due to crappy design, when they fail can (and do) blow out every component in your system. One thing to be aware of with power supplies (even good ones), sometimes they require a certain minimum load on one of the main voltages (+12 or +5) for proper operation. These days in a minimal computer with a single drive and a higher end motherboard (particularly dual processor systems), it is possible you will need a heavy duty power supply to run the motherboard, but the load on the +12 may be to low for proper regulation, so you may need to order a "load resistor" to plug into the power supply to meet it's load requirements.

If you need a low voltage DC input power supply (such as might be used in a car or solar powered installation, there is only one company that I have found to be worth buying from:

I own power supplies from some of the other vendors, and have found the advertising for some of them to be highly misleading, and none of the ones I have seen so far will work properly for either automotive or solar use. If you want reliability, high efficiency and wide operating voltage range, as far as I am concerned, Opus Solutions is the only choice worth owning.

CPU

This depends on your goals, price / performance / power consumption / multi-processor are all considerations. For performance, either Intel or AMD is a reasonable choice, which one will be fastest changes fairly often, though AMD pretty much always wins on performance per dollar. For lower power consumption in high performance, I think it's pretty much a toss-up between Intel and AMD these days, for lowest power / price (and performance), VIA C3 or Eden. I personally have avoided Intel for many years not because of their processor designs, but because I don't like their business practices.

Motherboard

If you want maximum stability, only look at motherboards which support ECC memory, and then check the online sites and reviews for overclocking motherboards. During normal operation, the motherboard that will be the most stable will be the one that can be reliably overclocked to the highest speed. Don't rule out motherboards which can't be overclocked (and therefore won't be reviewed for overclocking), a few companies are more oriented to the server market and therefore make more stable motherboards, but because of this they may not bother with features that support overclocking. Tyan had this type of reputation last I checked. The quality of motherboards varys tremendously from one generation to the next, and company reputation is alot less reliable as a means of chosing.

Ports: when you select your motherboard, one consideration is what ports you will want, personally I prefer at least the following:

  • 1 - serial
  • 4 USB ports minimum (version 2 ports, don't get a motherboard with version 1.0 or 1.1 unless you don't care about USB, or are sure you won't need the performance, USB 2.0 is capable of 40x the speed of 1.1)
  • With the rise of USB, I no longer consider these ports critical as I have started switching to USB keyboard, mouse and printers, but they may be desirable for your particular needs.
    • 1 - parallel port
    • 1 - PS/2 mouse port
    • 1 - PS/2 keyboard port
Memory

Memory for any system that will be up 24/7, always go with ECC memory, and personally if at all possible (based on the other criteria I am using), I only build systems with ECC (usually ECC and lower power are mutually exclusive, doesn't have to be, but motherboard and laptop manufacturers have declined to support ECC in low power designs, I'm hoping this will change with the rise of Blade servers). It does increase the price of the memory, but it usually seems to only be about a 10% premium. Any more I don't even bother to look at reviews, I go to Crucial and buy from them as their product appears to be consistently as good as anything you can get from any company, and I haven't found anyone with better prices at this quality level.

Hard disk

Every manufacturer of hard drives has had some design and manufacturing problems in recent years, I've been buying IBM drives (recently their hard drive division was sold to Hitachi), but they've had their problems too, so I'm not sure that I could recommend anyone in particular, though my personal preferences lean toward IBM or Western Digital, so I would tend to check their reviews first. Seagate caused me so many headaches for a number of years that I didn't even look at their products for a long time, but many people seem to like them, and recently they have started offering five year warranties on at least some of their hard drives, so I am trying their products again. Maxtor has generally been the low price leader, but they have also generally been noisier and had higher failure rates in the past.

Video

For a basic system, I would generally buy Matrox. Their Linux support is among the best and they have been reliable cards for me. For graphics performance (gaming, 3-D, video playback) they have not been the best cards, but for basic no headaches functionality they seem to be the best. For high end graphics, it seems to be a battle between Nvidia and ATI, but I'm not into that kind of stuff, so others could give better recommendations.

Keyboard/mouse

I don't pay much attention to quality on keyboards and mice, since they usually won't affect the stability of a system, and to me it's better to have one that works the way you do and replace it periodically, than to go with something else (that's not to say I wouldn't prefer a quality product, but I go first with what's comfortable to me). Personally I like wave keyboards, preferably with a built-in trackball or trackpoint "mouse", though for some applications I find a touch pad acceptable as well.

Monitor

For a server computer, go with a cheap piece of junk (or don't even bother with one) since it should rarely be used. For a workstation, go with a good quality LCD if you are looking at a 17" or smaller display, they are getting close to the price of CRT's, and are much easier on the eyes than all but the very best CRT's. For larger displays, CRT's are still the best choice price wise, though I'm not sure what brands are best these days.

Finally, the short answer :-) to the original question, if I didn't want to spend much time researching, and ignore my current size and power restrictions (which don't apply over 99.9% of everyone else), and wasn't concerned about compatibility with existing hardware, I would just start with the following and select specific components from the manufacturers web sites and, then confirm through online searches the compatibility of my selections with Linux:

  • Tyan motherboard - get one that supports a 64 bit Athlon, ECC memory, at least 2 or 3 gig of RAM, 1 serial and 4 - USB 2.0 ports
  • mid range Athlon 64 bit CPU (the top of the line CPU's always carry a heavy price premium)
  • 2 gigabytes of ECC memory (if you want to run lots of UML virtual machines, or ones with high memory requirements, you may want to increase this).
  • Hitachi/IBM hard drive - 250 gigabyte or larger (depending on your needs)
  • PC Power & Cooling Silencer (I hate noisy computers) 275 or 400 ATX power supply (depending on power requirements of motherboard and other components), I'd probably also get one of their mid sized tower cases
  • An entry level Matrox video card, or for higher performance video needs, a mid range NVidia graphics card.

As a general rule, I recommend that you never buy the latest and greatest / bleeding edge stuff, there are often problems with the hardware or the device drivers (even on windows, and you may not be able to get drivers for Linux), and you always pay a severe price penalty. Never buy a computer or it's components based on what you think you will need a year from now unless there is little or no price difference between what you think you will need and what you currently need, it's likely you will be wrong about your future needs, and usually if you buy just what you need now and then buy a new computer in a year that meets your current needs, it will probably cost you less to have bought two computers a year apart than it would cost to buy your dream machine today. It will cost you much less if you buy a computer that meets your needs today, and are able to simply upgrade it a year from now.