RaspberryFarm

Created on 27 Nov 2015

We are building a distributive computation farm out of Raspberry Pi Zeros.

The Raspberry Pi Zero puts all of the power of an actual Raspberry Pi in a $5 form factor. This makes it the cheapest computing unit you can purchase, while still living within most of the comfort of the Raspberry Pi ecosystem. Following the lead of the likes of Google and Amazon, our goal is to turn a set of cheap computers into an ostensibly powerful single computer, via the power of distributed computing. Our target application is Merge Sort, Graphics Farm, BitCoin mine (we'll pick one). Ideally, we'll mask the entire system so that to the end user, it appears as though a single computer is being used. Either that, or some very thin set of functions that allow code to be easily distributed. Implementation plan: * Over winter break, create custom Arch Linux images to apply to all raspberry pi zero's. * Over winter break, explore communication protocols to identify best fit. * Obtain all parts * Construct housing for the raspberry pi zero's * Link together all device

@vasua

Vasu Agrawal

@relong

Reid Long

Part Cost Quantity Total
Raspberry Pi Zero ID: 2885 - $5.00 : Adafruit Industries, Unique & fun $5.00 17 $85.00
Raspberry Pi Zero
McMaster-Carr $8.13 1 $8.13
Pack of 250 rivets, used to assemble case.
Amazon.com: Digital Media Source MicroSD and MicroSDHC to SD Adapter f $1.93 2 $3.86
MicroSD to SD card adapter
Amazon.com: 10 PACK - SanDisk 8GB MicroSD HC Memory Card SDSDQAB-008G $19.68 2 $39.36
10 pack of SD cards
Amazon.com: uxcell AC110/220V DC5V 10A 50W LED Strip Light Switching P $19.99 1 $19.99
Power Supply
Amazon.com: Monoprice HDMI Mini Connector Male to HDMI Connector Femal $3.12 1 $3.12
miniHDMI to HDMI adaptor
Amazon.com: M2.5x6mm Hex Key Socket Head Knurl Cap Screws Bolts 100pcs $6.79 1 $6.79
M2.5x6mm Hex Key Socket Screw Bolts (100pcs)
500 Service Unavailable Error $4.52 1 $4.52
PC Motherboard Washers Pack of 100
Amazon.com: Cast Acrylic Sheet, Clear, 12" x 12" x 0.236" Size (Pack o $10.94 3 $32.82
SIZING VERY IMPORTANT: 24" x 24" x .118" clear acrylic
Amazon.com: USB Cable, OKRAY 10 Pack 1ft/30CM Short Mini High Speed Mi $9.50 2 $19.00
10 pack of microUSB cable
Amazon.com: Sabrent 4-Port USB 2.0 Hub with Individual Power Switches $6.99 4 $27.96
4 Port USB Hub
Amazon.com: Cooler Master CM Essentials 140 - Sleeve Bearing 140mm Blu $8.58 4 $34.32
Cooler Master 140mm Computer Fan
Amazon.com: C&E CNE28224 USB 2.0 A Female to Micro B Male Adapter Cabl $0.85 2 $1.70
USB A Female to Micro B Male Adaptor
500 Service Unavailable Error $10.99 1 $10.99
13 Port USB Hub
Project Totals: 42 $297.56
Track 1 Base Budget: $250.00
Preferred Vendor Budget Bonus: $50.00
Remaining Budget: $2.44
Reid Long 11 Jan 2016, 9:43 a.m. EST
Working on laser cutting the case. Also, we are working on flashing the Raspberry Pi 2 B's to support serial communication over FTDI (using 18-349 labs and materials) (11/10/16 ~ 7:30-12:00pm)
Reid Long 11 Jan 2016, 9:44 a.m. EST
Working on additional laser cutting before class. We realized we had a mistake with the back panel where we forgot to cut out the vents for airflow.
Reid Long 11 Jan 2016, 6:43 p.m. EST
Just finished cutting the supports for the frame in the FRC machine shop.
Reid Long 11 Jan 2016, 7:26 p.m. EST
Working in the Morewood Maker space laser cutting more of the frame.
Reid Long 11 Jan 2016, 8 p.m. EST
Locked out of Vasu Agrawal room.
Reid Long 11 Jan 2016, 8 p.m. EST
Going down to the FRC shop to work on case.
Reid Long 11 Jan 2016, 9:42 p.m. EST
In the FRC Machine shop assembly the racks with the acrylic glue.
Reid Long 11 Jan 2016, 11:14 p.m. EST
Almost done! Two pegs left to glue. We'll let the sides set over night.
Reid Long 11 Jan 2016, 11:25 p.m. EST
Day 2 Complete
Reid Long 11 Jan 2016, 8:59 p.m. EST
Still in FRC machine shop working in the case. Everything is looking really good right now. Thank you Girls of Steel for letting us borrow your pnuematic rivet gun.
Vasu Agrawal 12 Jan 2016, 12:34 p.m. EST
Working on getting the fans attached to the back plate. The racks are drying nicely.
Vasu Agrawal 12 Jan 2016, 2:32 p.m. EST
Finished putting together the case. It's ready to take in some racks now!
Vasu Agrawal 12 Jan 2016, 2:38 p.m. EST
Acetone didn't seem to do anything to the paper / junk that we got from the glue, so we'll have to find a more powerful chemical to clean up with
Vasu Agrawal 12 Jan 2016, 2:40 p.m. EST
I may also have slightly cracked the acrylic when riveting. Using a hand riveter instead of a pneumatic one didn't change anything either. I think it had something to do with the holes not being aligned properly, but even when I redrilled it nothing changed. Not sure what's going on.
Vasu Agrawal 12 Jan 2016, 9:06 p.m. EST
Working on getting the raspberry pis mounted to the racks
Reid Long 12 Jan 2016, 9:36 p.m. EST
Working at Vasu's room struggling to get Raspberry Pis to work.
Reid Long 12 Jan 2016, 9:52 p.m. EST
On our way to hamerschlag for help
Reid Long 12 Jan 2016, 11:02 p.m. EST
How to fix all the Pi problems 1. Flashed EPROM on the FTDI Chip back to factory settings. 2. Flashed Raspbian to the SD Card 3. Connect via FTDI Mini-USB to Master Computer 4. sudo python -m serial.tools.miniterm -b 115200 -p /dev/ttyusb1 4.1 Connects to the USB device via the serial port and runs it all through a python window 4.2 Possibly will also work with a screen command 5. Press ENTER 6. PRESS ENTER AGAIN 7. Everything should work.
Vasu Agrawal 13 Jan 2016, 2:37 a.m. EST
We couldn't find a DC barrel jack of the right size to power the USB hub, so we had to rip it apart and desolder the jack and solder on some wires in its place. It took a few tries and I learned more about soldering, 3 more to go! Calling it a night here.
Vasu Agrawal 13 Jan 2016, 3:45 a.m. EST
Also wired up all of the fans together. Since we couldn't find any jumpers the size that we wanted, we made our own out of some wire. They work well; all of the fans were powered from the power supply and running smoothly. It looks great with all of the LEDs running as well. We can't wait to shove a strip of RGB leds in there too.
Vasu Agrawal 13 Jan 2016, 3:48 a.m. EST
Day 3 summary: Finished the case, it works very well and the racks slide in nice and smoothly. We attached the raspberry pi model b's to the racks, 2 per rack. Since we only had 7 of them with FTDI drivers, we're leaving one of the racks unpopulated for now. After spending much longer than we probably should have on it, we discovered why we couldn't see the raspberry pis in /dev (didn't press enter). With that, we knew our software infrastructure was mostly done.
Vasu Agrawal 13 Jan 2016, 3:51 a.m. EST
Day 3 summary continued: After figuring out the software, we thought about how to power the raspberry pis. Our original design assumed a power of 170mA per device, which is what the zeros draw. These raspis will draw significantly more current, so we have to revise our design to power each of the usb hubs. To interface them with our power supply we needed to get wires out of each of the hubs, so I spent a while taking one apart and fixing it.
Vasu Agrawal 13 Jan 2016, 3:52 a.m. EST
Day 3 final: We should be ready to finish the electrical tomorrow. We can plug everything into the power supply, maybe with a breadboard as well for the many different wires we're going to need to supply.
Vasu Agrawal 13 Jan 2016, 10:30 a.m. EST
We will be in hamerschlag from 5:00 or so onward
Vasu Agrawal 13 Jan 2016, 5:30 p.m. EST
We're in hamerschlag hall now. Hopefully we can get this electrical business sorted out quickly so we can move to writing software!
Reid Long 13 Jan 2016, 6:49 p.m. EST
Building custom USB hubs in Hamerschalg
Vasu Agrawal 13 Jan 2016, 9:36 p.m. EST
The whole system works! We didn't blow up the world, or any computers, so that's good ...
Vasu Agrawal 13 Jan 2016, 9:57 p.m. EST
Working on writing some software to try to log into all of them without crashing.
Reid Long 14 Jan 2016, 11:49 p.m. EST
The final plan: 1. Vasu has a HDMI to VGA adaptor 2. We will steal a VGA or HDMI monitor from some lab 3. Figure out how to move to case and all of the rest of the stuff to the setup table 4. Vasu is the most dedicated person alive! 5. We will win! 6. We need to build the functionality for controlling multiple slaves at the same time. Make the python launcher concurrent 7. Need to design demo, Bit coin miner? 8. Vasu will get the bit coin miner working!
Vasu Agrawal 14 Jan 2016, 2:47 a.m. EST
We can send files from the master node to any of the other nodes now! It's a miracle! Tomorrow I'll rewrite the system in C to avoid the probably significant overhead of using python as just a command line utility. After that, we need to figure out how to get output back from the nodes, and we can start looking at a final demo.
Vasu Agrawal 14 Jan 2016, 5:06 p.m. EST
Cutting the last two racks now!
Reid Long 14 Jan 2016, 6:15 p.m. EST
Mounting the LEDS! Come visit us in 1300 coves.
Vasu Agrawal 14 Jan 2016, 8:46 p.m. EST
Raspis are browning out. We think it's because the last hub is being back powered and overloading the regulator ...
Reid Long 14 Jan 2016, 10:22 p.m. EST
Everything looks good, but Vasu Agrawal 's computer seems to be sad. #LinuxProblems
Reid Long 15 Jan 2016, 8:01 a.m. EST
Vasu Agrawal has put the team on his back and made a beautiful demo!
Vasu Agrawal 15 Jan 2016, 5:58 p.m. EST
Reid Long is exaggerating and is severely underrepresenting the amount of work he did.
Vasu Agrawal 15 Jan 2016, 6:01 p.m. EST
Working on getting a demo working. Since so many people thought we were doing a bitcoin machine, that's what we ended up doing (though it's not connected to the internet, so it can't actually mine bitcoins).
Vasu Agrawal 15 Jan 2016, 6:07 p.m. EST
Finally got the demo working! We ran out of time and didn't get all of the dependencies working on the raspi master, so we're running it off of my laptop for the demonstration. For some reason the login script doesn't quite work, it might have something to do with the proper screen dependencies not being on there. In any case, it works on my laptop and makes for a pretty solid demo.
Vasu Agrawal 15 Jan 2016, 6:11 p.m. EST
Reid Long 15 Jan 2016, 6:19 p.m. EST
Everything is awesome! The demo was amazing, we just got off 3 hours of back-to-back presentations. It's been a lot of work, but after one last final push (all night long) we were able to wow everybody. Looking forward to the banquet tonight