Monday, October 28, 2013

So I built a Bitcoin miner.

For graduation, my friend +Thomas Jensen gave me a Raspberry Pi. Those of you who don't know, Raspberry Pi is a Linux powered, 700MHz computer designed to make computer science more accessible to schools (for more info check out On top of the educational implications, they are also really fun to tinker with! After reading about other people's projects, I decided I wanted to something a little bit different with my Pi, so I sat on it for a few months.

Flash forward to 2 weeks ago. Scanning my Twitter feed I noticed some chatter about a Bitcoin ATM that was scheduled to open. Now, by this point I was well aware of Bitcoins, but I thought I would dig into them a bit deeper. I started looking into the basics of Bitcoin mining. You need mining software, block erupters (which process the algorithms), a mining pool, and a Bitcoin wallet. That's when I stumbled onto MinePeon, a Bitcoin mining software developed specifically for the ARM processor (the processor that powers the Raspberry Pi).

Computer, check. Mining software, check. Now on to the erupters. Erupters are ASIC devices designed specifically for processing the algorithms which generate and verify Bitcoins. An entry level miner, the ASICMiner Block Erupter USB 330MH/s Sapphire Miner was right in my price range.

Now, up until this point, this project has cost me zero out of pocket, but that was about to change... Some what. I had the good fortune of winning a $100 Amazon gift card from VMUG (thanks again, VMUG!), and thankfully, they had all the parts necessary to complete this project. The Pi does not have enough power to handle a block eruper plugged directly into it, so a powered USB hub is necessary. Also, the miner tends to run hot, so I purchased a USB fan to keep the rig cool. Below is a breakdown of price per part:

  • Raspberry Pi    $35 (my cost - free)
  • 12 port USB Hub    $27.99
  • USB fan     $5.99
  • ASICMiner Block Erupter USB 330MH/s Sapphire Miner     $11.99 
I headed to my Amazon shopping cart, but then I hesitated. I thought, "I've still got enough money left on this gift card for another 4 erupters, why not quintuple my mining power!", so I doubled back and added 4 more to my cart. Then I hesitated again, "Ya know, you've still got 5 open ports on that hub, and technically you haven't spent a dime on this project, what's a $60 out of pocket expense to decuple my earning power!". 

So, my Raspberry Pi Bitcoin Mining rig has a price tag of ~$175, with an out of pocket cost to me of $60.  

Assembly of the miner is simple, the most complicated step is burning MinePeon to the SD card. You'll need to sign up for a Bitcoin wallet, which is where the coins you have mined will be stored. I chose an online wallet for security reasons, but you can install a walled on your computer. You will also need to find a mining pool. There are several out there, and plenty of information about hash rate, fees, etc... so you can make an informed decision on which pool you wish to join. Signing up for pools and wallets are free, and most are very easy to get started. Setting up your wallet to the pool is also easy, just request an address from your wallet, and link it to your pool account! 

Once I had all the parts in place, signed up for the pool and wallet, it was time to power it up! Visually, it's quite a sight!

Once it fired up, I monitored it for a few hours as I worked on other projects around the house. At the time, all 10 erupters were functioning, and it had jumped into a few different mining "shifts" and started working. I felt comfortable heading off to bed. 

Knowing full well this is a low power miner, I still ran downstairs like a child on Christmas, excited to see what Bitcoin Claus left me! 0.00000049 BTC. Yup, less than a penny. Turns out during the night a few of the erupters stopped working, and the miner failed to grab any other shifts after it completed the one it was working. I rebooted the Pi and the erupters and during the day Friday, it looked like it was finally functioning properly. If it kept up the pace it was mining at, my rig would pay for my out of pocket cost in about 45 to 60 days. 

Unfortunately, it has not keep up that pace. Still to this day it is failing to reach out to a new shift without rebooting the miner. I reached out to the MinePeon forums and a few other locations to ask other users if they've run into similar experiences. The common thought was that my hub did not have enough power to keep up with 10 erupters. I stared by removing the USB fan and plugging it into a near by desktop to cool the rig, which did result in fewer hardware errors, but did not help with the shift errors. My next step was to remove a few of the erupters. Since the hub breaks down into 2 circuits, I took two erupters off so it was running 4 on each circuit. No dice, still won't pick up a shift without a reboot. 

So here's the situation. If I log directly into MinePeon, it shows that the miner is functioning, but if I log in via the GUI it shows the miner as offline. Same thing with the mining pool website, it shows the worker is offline, but after a reboot it will show that I am working shifts and will see an increase in my amount earned. My next troubleshooting idea would be to reinstall MinePeon, this seems like a software issue, but I could be wrong. I will post a new blog once I figure out the issue and get it running fully. 

Until then, if you want to follow my progress, feel free to follow me on Twitter (@ExploreVM), Instagram (ExploreVM) or Google+ (Paul Woodward Jr).

I would also love to hear any troubleshooting ideas you may have! Comment below or reach out to me via the above listed channels.