[Free Schematic] Raspberry PI 2 Cluster Assembly Tutorial

This is the third post of a series about Raspberry PI 2 BigData cluster case.

  1. Raspberry PI 2 Cluster Case pt1
  2. Raspberry PI 2 Cluster Case pt2
  3. Raspberry PI 2 Cluster Assembly Tutorial
  4. Build Hadoop Cluster with 5 clicks

 

Since my last post, Raspberry PI 2 Cluster Case pt2, readers have asked if I could open the schematics of the cluster case with detailed assembly instruction. So, here comes the schematics under Solderpad Hardware License. The license is equivalent to Apache, meaning you can make and distribute for free of royalty. I would encourage you to contribute in forms of improvements and extensions though.

Preparation

1. Boards

pannel-description

Let’s firstly prepare boards. Download the schematics. Please cut out one piece (1) of each and two pieces (2) of board-middle. You can use wood, synthetic, or Acrylic panel to cut out the shapes above. Whatever the material it is, you can use it as long as a panel is no thicker than 3 mm and strong enough to hold a USB charger.

comp-pannel-unwrap

If you cut out a board from Acrylic panel, they will come with protective films on. Peel them first.

comp-pannel
Two pieces of board-middle and one piece of each.

2. Power and Cables

comp-power-cable

  1. One Photive 6-ports 50 watt USB charger.
  2. Six 1ft ( 30 cm ) Cat6 Ethernet cables.
  3. Six 1ft ( 30 cm ) 90 Degree right-angled Micro USB to USB cable.

com-cable

Take a look at the cable. A Micro-USB-to-USB cable must be right-angled, not left-angled. You may also want to check the thickness of a wire, and make sure your cable is thick enough to deliver enough power. The one available to me comes with AWG 26 cable. Several different brands are available, an examples, at Amazon, Ebay, and Alibaba.

3. Screws

You then need screws. Buying right-sized screws are the hardest part of the whole process, at least for me. Here’s the list of them.

comp-screws-0

  1. 2 x M3 Hex Nuts.
  2. 22 x M3 25mm Pillar Screws.
  3. 4 x M3 Whirled Hex Nuts. (could be replaced with four of #1 plain M3 nuts.)
  4. 6 x M3 4mm Screws.
  5. 24 x M2.5 5mm Screws.
  6. 24 x M2.5 Hex Nuts
  7. 24 x M2.5 5mm Pillar Screws.

The four supporting holes in Raspberry PI 2 are 2.7 mm in diameter, and, ideally, you would want to use M2.6 screws and nuts for fixing Raspberry Pi 2 since they fit rather tight. The problem was M2.6 Pillar Screws did not come easy, and I had to custom order M2.6 Pillar Screws. 😦

The ones linked in here are therefore M2.5 screws and nuts. They are available off-the-shelf and smaller in diameter than holes on Raspberry Pi that it would not cause much issue. I hope these holes get bigger in the future so that I could simply use good-old plain M3 screws.

4. Raspberry PI 2 B+

comp-raspberry

  1. 6 x Raspberry PI 2 B+

We do not need to say more here. 🙂 Let’s call them RPI henceforth.

5. Network Switch (Optional)

In case you want to fit a network switch to in the cluster, pick something slim. I picked up one below.

  1. D-Link 8-Port Gigabit Desktop Switch

One thing to remember is that you have a choice not to put a network switch at all. You can simply put Raspberry PI only, and connect them to an existing network. This switch is just there to provide the cluster’s own network.

Assembly

Once you have the components and materials, it’s rather straightforward. Firstly put M2.5 5mm Pillar Screws on boards and tighten ’em with M2.5 Hex nuts like below. You’d have to do this for 6 sets.

assem-1

assem-2

Then fix RPI on the boards with M2.5 Screws.

assem-3

Once you’re done, you’d have six sets. You’d see RPIs on right side are all flipped. In this way, all RPIs’ power inputs are placed right next to USB charger reducing the cluster volume. The big round holes you’d also see are for ventilation.

assem-5

Apply two pieces of double-sided tape on a USB charger supporter. This is to give a bit more strength to the board to support the charger.

assem-6

Place it on the board named board-middle-end like below.

assem-7

assem-8

Then it is time to stack up RPIs. Look carefully how each piece is stacked.

assem-9

assem-10

Once you complete stacking up RPIs, plug in Micro-USB-to-USB cables.

assem-13

assem-14

Once you plug in the cables, place your USB charger in the middle, and close the cluster with board-top. Don’t forget to tighten up with M3 4mm Screws.

assem-15

Now plug in USB ends to the USB charger. See how the boards hold the charger, and clear the entrance for USB ends? 🙂

assem-17

Place the network switch at the bottom layer and close it with board-bottom and four M3 Hex Nuts like below.

assem-18

Then connect your RPIs and the network switch with Cat6 Ethernet Cables.

assem-19

Once you supply power to the charger, all the RPIs will lit up!

assem-20

assem-21

This is how a 6-nodes RPI cluster is assembled. You can replace as many parts as you wish, and modify as much as you want. All these instructions and schematics are here for a template.

if you get to build one, please share yours with #rpicluster hashtag on twitter so that we all can see!!!  Now, here comes the schematics again, and let the fun begin!
 

E-mail Subscribtion
Subscribe for upcoming posts!
Join Slack
Join my channel!

25 thoughts on “[Free Schematic] Raspberry PI 2 Cluster Assembly Tutorial

  1. Nice writeup, and the final assembly looks good to boot. I did notice one thing: AWG 6 USB cables. I think that was supposed to be AWG 26. A 6-gauge USB plug would be an interesting thing…

    Like

  2. Hey,
    I thought the RPi2 has only 100Mbit Ethernet why are you choosing a gigabit switch and CAT6 cables? Did you try something and it didn’t quite work, or is it just to not max out on the uplink?

    Like

    • You can use CAT5 and FAST ETHERNET switch and you won’t have an issue. In fact, RPI’s Ethernet interface is hook to USB bus internally that 100Mbit would max out RPI’s internal bandwidth AFAIK. It is just that CAT6 are now as abundantly available as CAT5 are, and gigabit switches are darn cheap as 17 USD. 😉

      Like I stated at the end, you can alternate as many parts as you’d like and modify as much as you’d want. I’ve open up the schematic for that reason and you are the captain of your project. 🙂

      Like

  3. Nice project and description, I think I would also try to make one. I just have a question about the casing.
    I see that you provide the templates and I can use it. Do you know some online shop
    where to buy custom acrylic panel?

    Like

  4. Do you have a write up for how to set up the pis across the entire cluster? Is there a reason why you picked six? Is one configured as a ‘head node’ where you SSH into?

    Like

    • Hi @zach

      You don’t need a writeup, SSH, or anything. There is an application that does everything for you (https://pocketcluster.wordpress.com/download/). It is currently undergoing bugfix and soon to be available.

      PS> There was a reason for choosing 6 nodes. First one being that RPI2 is very limited in terms of hardware power. I needed to coalesce as many as possible under the constraint of power and network. Of course I could have go insane and stacking up 400 RPI2 but that’s not the realm of easy accessibility for others to try.

      Like

  5. So when you’re generally just using the pi-cluster are all of the boards competing and lending their resources for regular computing like browsing, watching videos/music? Or, do you have to do something like manually throw the cores at each tasks? So if you were crunching numbers in R you could use parallel specifications in the script?

    Like

    • So when you’re generally just using the pi-cluster are all of the boards competing and lending their resources for regular computing like browsing, watching videos/music?

      Um, when you’re to use pi-cluster in BigData computation, you’re to decide how much computation resource you’d use as a whole cluster, not an individual board. Plus, PocketCluster does not use RPI for watching video/music. It only uses for data science and machine learning.

      do you have to do something like manually throw the cores at each tasks?

      Most of resource management is done by the cluster manager you’re to use such as Yarn. Other than the fact that it is based on RPI, all other steps are pretty much the same as using BigData cloud/stack/whatnots.

      if you were crunching numbers in R you could use parallel specifications in the script?

      I’d rather have SparkR take care of parallelization of such task that I could focus on my task and boost productivity by implementing OSS libraries.

      Like

  6. Thank you for your inspiring case design and the schematics!! One of my associate friends will manufacture the case for me, based on this. I had been searching for a dual-stack case like this, since all the others are towers; which can easily fall over. I have been an HPC supercomputer architect for the past 8 years, but decided I wanted to build my own testing cluster without breaking the bank!

    Like you, trying to find the case hardware was no fun and the quantities were more than I need; but I found some smaller quantities. I found the “whirled hex nut” is called “serrated”.

    My design is going to have a head-node with an external hard drive. The Banana Pi M3 comes with a SATA & power ports. The other nodes (5) will be the compute nodes. The RPI 3 costs the same as RPI 2, so I’ll go with those. I can repurpose them for future projects in the future. I already have a new drive and may drop the Ethernet cables; as I may have enough already.

    Below is the list of parts, prices, and locations to buy… if anyone else doesn’t feel like hunting. 🙂 I’ll likely have to add an additional height of pillar screws for the 10-Port USB hub, because it is slightly bigger than the design in these schematics. We’ll see. I wanted to be able to have a single power-source for the whole cluster; powered through the USB hub. The gigabit switch will be powered the same way with a USB to N-Barrel 5V DC power cable.

    If anyone sees any gaps before I do this… please state so. I’m still trying to decide between an 8 or 10 port 60W USB unit.

    Qty Device Extended Cost

    (1) Banana Pi M3 $39.95
    https://www.amazon.com/Banana-Pi-Mini-Source-Mainboard/dp/B00MWA5JKM/ref=sr_1_11?s=electronics&ie=UTF8&qid=1501258468&sr=1-11&keywords=banana+pi+m3

    (1) 32GB MicroSD Card $12.99
    http://www.microcenter.com/product/385299/Micro_Center_32GB_microSDHC_Class_10_Flash_Memory_Card?rf=Frequently+Bought+Together

    (5) Raspberry Pi 3 $150.00
    http://www.microcenter.com/product/461129/Raspberry_Pi_3_Model_B

    (5) 8GB MicroSD Card $34.95 Pack of 5
    http://www.microcenter.com/product/366174/8GB_microSDHC_Class_10_Flash_Memory_Card

    (1) 8-Port GbE Switch $19.99
    https://www.amazon.com/gp/product/B008BGXZU2/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B008BGXZU2&linkCode=as2&tag=pocket0e0-20&linkId=ZZCSN764C5EO3PEE

    (1) USB to Type N Barrel Cble $4.99
    https://www.newegg.com/Product/Product.aspx?Item=N82E16812400279&ignorebbr=1&nm_mc=KNC-GoogleAdwords-PC&cm_mmc=KNC-GoogleAdwords-PC-_-pla-_-Cables+-+USB+Cables-_-N82E16812400279&gclid=EAIaIQobChMIv7LDh9Ss1QIVWCWBCh2qEAzWEAQYASABEgLHcvD_BwE&gclsrc=aw.ds

    (1) 10-Port USB Power Strip $36.00
    https://www.amazon.com/dp/B00YT6JDTK?psc=1

    (1) 6″ Cat6 Ethernet Cables $77.94 Pack of 10
    https://www.amazon.com/iMBAPrice-Black-Molded-Ethernet-Network/dp/B00A1UP356/ref=pd_sim_147_2?_encoding=UTF8&psc=1&refRID=T0YS3DDS60ZVDRG0RJ89

    (1) 12″ USB Power Cables $47.94 Pack of 6
    https://www.amazon.com/Sabrent-6-Pack-Premium-Cables-CB-UM61/dp/B011KMSNXM/ref=pd_bxgy_107_img_3?_encoding=UTF8&psc=1&refRID=VQ1TQ4ET3SJ18A5QWYTW

    (1) Custom Case $0.00

    (1) M3 25mm+6mm Nut, Screw, Pil $9.59 Pack of 40 ea
    https://www.amazon.com/Standoff-Stainless-mounting-between-Male-Female/dp/B01LOHNTLE/ref=pd_day0_328_4?_encoding=UTF8&psc=1&refRID=4KQ5CW8GGKZAGBWQ3E17

    (1) 6 x M3 4mm Screws $3.99 Pack of 50
    http://www.microcenter.com/product/218023/Screws_M3_x_1-4_Long_50-Pack

    (1) 24 x M2.5 5mm Screws $5.99 Pack of 24
    https://www.amazon.com/M2-5x5MM-PM2-5X5-0-notebooks-Alienware-LaptopScrewsDirect/dp/B00BW3Q95O

    (1) 24 x M2.5 Hex Nuts $3.44 Pack of 50
    https://www.amazon.com/uxcell-Thread-Stainless-Metric-Fastener/dp/B01N53SDI7/ref=sr_1_13?s=electronics&ie=UTF8&qid=1501240696&sr=1-13&keywords=M2.5+hex+nut

    (1) 24 x M2.5 5mm Pillar Screws $8.16 Pack of 2 (Need 12 packs)
    https://www.adafruit.com/product/2336

    Total (USD) $351

    Like

  7. Stkim1,

    I’m trying to find local acrylic laser cutting services to cut the boards to your schematics. Most of them want to know the physical dimensions. Do you have that?

    Or should I just open the .ai files in Adobe, print them on paper, then measure myself?

    If this proves to be way too costly, then I may suck it up and buy a stack of individual RPI plates from a vendor — not ideal.

    Thanks!
    Jason

    Like

    • Hi Jason,

      Sorry for being late on replying.

      The .ai file is in 1:1 dimension. You can hand the file to local services to cut boards and you’ll get a same-sized cluster enclosure. What I’ve realized is that it could be quite costly at some places while it could be dirt cheap at other places.

      I’d recommend you purchase pre-manufactured RPI stacks from Amazon (or other shops) to reduce the enclosure cost down.

      Like

      • Hi Stkim1,

        All of the fabrication shops are charging between $75 – $200 USD for laser time + some material fees. Luckily I know someone who owns a fabrication shop. He’s grabbing scrap pieces of acrylic and will only charge me about $25 for laser time. He said he was able to load the .ai files without any issues. I’m going to add in an additional middle-board because I’ll be using a 10-port USB power strip; for the added height. I may not need it, but figured it’ll give some expansion room if need-be.

        I’m also dropping the Banana Pi and going with all RPI 3’s. I found some HDD/SSD storage option add-on boards for the RPI that are pretty inexpensive. So I may add that, since I have a new unused 500GB 2.5″ SATA drive.

        Cheers,
        Jason

        Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s