1. What You Need

I designed this cluster case in my own spare time, with no financial sponsorship and very little help. Additionally, at this phase, little testing has been performed regarding the long-term viability of my design as a serious platform for distributed software development. As such, these instructions are provided “as-is”, with no warranty expressed or implied.

I do not have the time or financial resources to provide technical support, training, or any other resources to support anyone’s attempt to build one of these. It is a very difficult build, which could take even a very experienced maker a lot of time to complete. I do not recommend it as your first soldering or laser cutting project.

Consider all of this before taking on this build.

Files

Raspberry Pi Cluster SVG Files

Skills

You may need to improve your skills in these areas before you take on this project.

  • CNC laser cutter safety and operation
  • DC power systems
  • Precision drilling
  • Soldering

Tools

Buy or gain access to what you don’t already own.

Materials

The parts I list here are generally the exact same parts I used, but not always. Sometimes, I was able to get a suitable part for my own build for free. Or the part I used is no longer made. In such cases, I have done my best to link to a suitable substitute part.

  • Raspberry Pi (40)
  • 3 mm (1/8″) acrylic (12 of 2’x2′ pieces)
  • 6 mm (1/4″) acrylic (2 of 2’x2′ pieces)
    • The quantities provided above are rough estimates, based on what I believe is a reasonable amount of waste for an experienced maker. You will need more if you waste more material.
    • You will save yourself a lot of trouble by using a good US-made cast acrylic. Talk to your supplier about what they recommend for use with a laser cutter.
  • Acrylic cement (1 pint)
  • Assorted zip ties (1000)
    • In stores like Walgreens, I typically see assortments of zip ties that are about 500 to a pack for about $5 in value bins. You should look for an assortment of colors of the small zip ties and an assortment of sizes of larger white ties within the same pack. Get a couple packs like this and you’re set.
  • Single-sided 8×10 copper-clad boards (2)
    • The material I used was slightly different, but I believe what I linked above will work fine.
  • 4-pin fan extension cable (1)
    • Use as the cable for the power switch.
  • 4-pin fan connectors (5)
  • SATA connectors (3)
  • 4-pin right angle Molex disk drive connectors (4)
    • I bought off-brand connectors and I’m still sorry I did. The landing pattern may be slightly different on the real Molex connector I linked above.
  • 6-pin right angle PCI-E connectors (4)
  • Horizontal USB ports (12)
  • Vertical USB ports (8)
    • Mouser’s price on this connector is pretty ridiculous. Use the pictures to verify that you’ve found the right thing elsewhere. eBay is a good place to look.
  • Jumper block (1)
  • 2.54 mm Header pins (4)
  • 3′ Micro USB cables (50)
    • Buy cables with tips that can be removed (i.e., not a molded tip) so the cable can be shortened. I recommend buying these cables, which can be found on eBay. They’ll cost about $10 per pack of 10.
    • A quantity 50 is recommended because you’re likely to ruin a couple in the process of shortening them. Just try not to ruin 2 of the same color.
  • Yellow jacketed power wire (5 ft)
  • Black jacketed power wire (5 ft)
    • To get my yellow and black jacketed wire, I cut some of the wires from a bad PC power supply. Really, you could probably use about any stranded wire that will carry at least 2A.
  • Ethernet cable tips (200)
    • I had the best luck with Eltop brand, but the provided link may not give you those.
  • Colorful ethernet cable (10)
    • White Pink Fuchsia Red Orange Yellow Green Blue Purple Black
    • Belkin cables seemed to work best for me. However, they don’t make an acceptable fuchsia, so I linked the alternative cable that I used.
    • Expect to use up to 15′ per color if you don’t waste much, but less for the colors that mount lower in the rack.
    • If you’re not sure you can pack all the cables in the provided space (it’s pretty difficult), consider using 4-conductor twisted pair cable instead.
  • Ethernet jacks (6)
    • I used 1 black, 1 yellow, 2 green and 2 red
    • The jacks I used were bought through eBay from various sellers. The links provided above are not for the exact same jacks, but to some that appear to be of better quality, which I believe will be compatible with my design.
  • Ethernet inline coupler (1)
  • Buck converter modules (32)
    • Use the provided link to see what they look like, but these are all over eBay and you can get them for less than $2.50 there. To get them at that price, you’ll probably have to order them from China and wait a few weeks for them to arrive.
  • ATX Power supply (1)
    • I used a Kingwin AP-550, but this one is getting difficult to find. You may need to use something else. If I do any tests regarding what other PSUs will work with this case design, I’ll post about it here.
  • Extra-long power supply screws (4)
    • They just need to be at least 2.5 mm longer than standard case screws. Otherwise, same thing.
  • Power switch (1)
    • You’ll need one that needs roughly a 15 – 16 mm mounting hole if you don’t want to modify my case design for it to fit.
  • 140 mm fans (4)
    • I bought, the Cougar CFD14HB, which is available in greenblue, grey, and orange, but recommend looking for a different fan, because it was a pain to try to seal these off because of their anti-vibration pads. If I were doing this again, I’d probably try the AeroCool Shark 140 mm. However, I can’t guarantee that it will fit without modifying my harness design.
  • Standard M5*10 fan screws (24)
    • These should come with your fans if you’re buying them new.
  • M5*15 fan screws (16)
    • These just need to be at least 5 mm longer than standard fan screws, so M5*16 or M5*18 are also fine.
  • 80 mm fans (2)
    • If you choose a different 80 mm fan, you’ll need two fan splitter cables.
  • Air filters (2)
    • I recommend holding off on buying these. See Known Issues for details.
  • Black posterboard (3 sheets)
  • WD10JPVT (0 to 12)
    • The case can hold up to 12 drives, but initially you don’t need to put any drives in it at all. I recommend building the rest of the cluster first and adding drives on an as-needed basis afterward, as the drives are a significant expense and they generally get cheaper over time.
    • Use the WD10JPVX if it’s cheaper, because it’s just a faster version of the same drive.
    • Watch for the availability of 1.5 TB and 2 TB drives that will fit this case.
  • USB hard drive adapters (12)
  • SD cards (40)
    • I recommend a minimum of 4 GB for each SD card. 8+ GB would probably be better if you intend to install software that needs a lot of space or if you intend to do distributed storage stuff, such as Hadoop.
  • Linksys EF4124 (2)
    • The EF4124 regularly shows up on eBay for $20-$30 apiece. With modification, this project could also be done with 3 of the Linksys EF2116. However, the final build would be about 3.5 cm taller and several modifications would need to be made to the case design. I recommend just using the EF4124.
  • Cisco/Linksys WRT310N v1 (1)
    • If you buy it through the eBay search link I provided, ask the seller which version it is before purchasing it.
    • I recommend using the Cisco WRT310N v1, since I provide a card design which should be compatible with the board from it. However, the space provided for a router should allow enough flexibility that, if you want to design your own card, you could use nearly any small consumer-grade router. When I complete designs for cards for other routers, I’ll post files for them as well.

Recommended

1. What You Need 2. Circuit Boards

9 thoughts on “1. What You Need

  1. jane

    When I download the SVG files, there are no metrics assigned to the dimensions (e.g. inches). How do I get the precise measurements of the dimensions?

    Reply
    1. David Guill Post author

      I’m no expert on other programs that use .SVG files, but I set all my files to use millimeters as their unit of distance. So, for example, points 10, 200 and 10, 300 would be 100 millimeters apart. The software for the cutter I used (a Full Spectrum unit) was able to understand the coordinate system in the file, so no manual scaling was required. If your cutter’s software doesn’t work that way, you’re unfortunately using software I can’t tell you how to use.

      I can tell you that you should be able to figure out the size of the parts by looking at coordinates in Inkscape, but I can’t imagine manually scaling them would work very well, given the tight tolerances of some parts of this build.

      Reply
  2. Ken

    I am in the process of getting my case cut to the specifications… but I find that your templates are bigger than 2ft in the SGV files
    You also had mark some of the small cuttings 7a,7b etc… but I did not see them numbered in sgv files. I will keep looking

    Reply
    1. David Guill Post author

      I didn’t outright say it in my instructions, but I arranged them the way I did so you’d learn your laser cutter’s offsets and limitations before cutting larger pieces. I hope you’ve been assembling parts for the earlier steps as you cut them, since it’s an important part of that process.

      I am in the process of getting my case cut to the specifications… but I find that your templates are bigger than 2ft in the SGV files

      Yes, some of the .svg files have much larger dimensions. This is because I did my best to lay the files out to make it as obvious as possible how parts are meant to fit together and which bits are garbage. They’re not laid out for efficient use of material while you cut them; you’ll need to do that part for yourself. I would have loved to provide a version of the files that was laid out efficiently for cutting (in addition to the provided files), but there’s no way to make one version that works well for every laser cutter. Those material-efficient layouts also tend to look like a jumbled mess unless you lay them out yourself.

      You’ll still get usable parts if you leave the them oriented as they are in the files, but you can get all of them cut with less material if you rearrange them.

      You also had mark some of the small cuttings 7a,7b etc… but I did not see them numbered in sgv files. I will keep looking

      7A and 7B are in the file named “Step 7 – Base and Top Plate v10.svg”. But if you do find any parts that are mentioned in text and not in the files, I’d like to know so I can correct my files or instructions.

      I wish you luck in finishing your build.

      Reply
  3. Ken

    Thanks Dave,
    That helps me a lot.
    I keep you informed as I have these cut and assembled
    Ken

    Reply
  4. Max

    How much did this cost? I really want to see if I can viably make one of these!

    Reply
    1. David Guill Post author

      Deducting the expense of wasted materials, mine cost about $3000 (USD) to build. If you can source the Raspberry Pi B for less than $35 each (which is possible, since it’s no longer the newest model), you could probably build it for less.

      Keep in mind, my CPU card design isn’t compatible with the B+, so the design would need to be modified if you decide to use the B+ instead.

      Reply
  5. Pete Bradbury

    Great Blog!

    I hope you’ll be able to go on and demonstrate some real world applications which show off the power of a cluster.

    Some great ray tracing, Mandelbrot or other power hungry work.

    Otherwise, without the software, having a Pi cluster must be like having a Ferrari and living in Mayfair, a lot of head turning, but never getting out of second gear!

    Reply
    1. David Guill Post author

      “Otherwise, without the software, having a Pi cluster must be like having a Ferrari and living in Mayfair” – Yeah, that’s pretty much what it’s like without the software working the way I want.

      Most of the more established packages out there for heavy distributed computing work focus on a batch processing model, which isn’t really the direction I want to take this. So I’ve focused on trying software that uses other approaches. Unfortunately, ARM support on a lot of this stuff is lacking, which is something that will just have to be fixed.

      It’ll get there.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *