Why my GPUs beat your ASICs at crypto mining

CPU, GPU, FPGA and ASIC

There is a constant question for everyone doing cryptocurrency mining – what is the most profitable hardware to mine?  Here we explore that question and try to quantify why today (January 13, 2018) we believe GPU mining is the best for crypto mining – even better than ASICs.

Now we have to quantify “best” as this is very much a moving target.  By best in this case we aim to blend profitability, cost of entry, and risk mitigation in a market that is constantly changing.

A bit of background on some of the (silicon) chips

CPUs GPUs FPGAs and ASICs
CPUs GPUs FPGAs and ASICs, source Microsoft

There are a number of types of chips available.  The performance and other critical characteristics such as power consumption for the chips vary depending on how they’ve been designed.  Without going into too much detail we can compare them as follows:

  • CPUs – Incredibly flexible, and capable of executing a wide variety of singular tasks at a very high rate
  • GPUs – Not as flexible as a CPU and requires a bit more specialized programming to leverage, however modern GPUs contain thousands of cores which are capable of a very high degree of parallelism for repetitive tasks
  • FPGAs – Require specialized programming for each task, but are highly efficient (from a power/performance perspective) and can be flashed with new code as requirements change
  • ASICs – The most simple and efficient (again from a power/performance perspective), they’re also inexpensive to manufacture at scale.  The major disadvantage is that the program is (effectively) burned onto the silicon – it does one thing very well and only one thing.

So what is best for mining?

Initially, when we started crypto mining in earnest, given these characteristics we focused on ASICs.  Indeed if you want to mine the de-facto crypto standard, Bitcoin, there really is not a viable alternative.  That said, if we use the definition of “best” above we find that in the current market with altcoin (non-bitcoin crypto currencies) we can achieve the same level of profitability per cost by GPU mining.  Once more if we factor in the resale capacity of the market for GPUs, it quickly becomes a highly advantageous option.  If the crypto market fails I can resell a GPU whereas resale of ASIC hardware is problematic.

What is the best GPU?

I wrote a separate article on crypto mining with the NVIDIA GeForce 1080 Ti.  At the moment this is the best consumer-grade GPU on the market and as a result it’s in high demand.  If you’d like to get your hands on one of these cards here are links on Amazon to a few of the models that I have:

What do you think?  Think we missed a critical point or disagree?  Please comment, we love to hear your feedback!

Erik

Technology, science, building things and experiencing the world. What more could anyone ask for?

Cryptocurrency Mining on the NVIDIA GeForce GTX 1080 Ti with NiceHash

GeForce 1080 TI NiceHash

No in depth analysis this month, just playing around with my new NVIDIA GeForce GTX 1080 Ti and cryptocurrency mining with NiceHash.  For this test the card was in my home server out in the garage which is running Windows server 2016 without any monitor/display connected.

First up the benchmarking detail across all available algorithms, note that I had to install/update the .Net 2015 redistributable in order to run several of them.

Algorithm benchmark detail
Algorithm benchmark detail

As you’ll see in the video I had a window running with NVIDIA-SMI which gives GPU utilization, temperature and wattage of the card.

NVIDIA SMI
NVIDIA SMI

I had this running as a batch file (script) running in a loop that refreshes every 5 seconds, here is the script if you’d like to utilize something similar in your testing:

@echo off
:start
cls
"c:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"
choice /n /t 5 /d y
goto start

I hope you find this interesting, and please do share in the comments your experiences or if you have any questions.

Happy mining,

Erik

Technology, science, building things and experiencing the world. What more could anyone ask for?

Solar Powered Raspberry Pi based Wireless Security Camera System (DiY)

Side View

Why buy an expensive security camera when you can build your own?

I was looking for a new security camera to put on my driveway that would capture and store video off-site and work wirelessly from a location about 100 feet (~25 meters) from the house.  I looked at a number of off the shelf products but they almost all required wires to be run and when looking at my requirements the costs were escalating quickly so I decided to build my own.

To see what I built, start with the video above. Then read on for a parts list and the software you’ll need to make your own.

Parts

For parts, here is the complete list (clicking on the part will take you to the product page on Amazon):

Raspberry Pi Zero W Starter Kit
Raspberry Pi Zero W Starter Kit

Vantech Weatherproof Camera Enclosure
Vantech Weatherproof Camera Enclosure

Raspberry Pi NoIR Camera Module
Raspberry Pi NoIR Camera Module

Raspberry Pi Night Vision Wide Angle Camera
Raspberry Pi Night Vision Wide Angle Camera

Camera Cable for Raspberry Pi Zero
Camera Cable for Raspberry Pi Zero

SanDisk 16GB MicroSD
SanDisk 16GB MicroSD

Outdoor Enclosure
Outdoor Enclosure

Renogy 100w Solar Starter Kit
Renogy 100w Solar Starter Kit

12v LED IR Light
12v LED IR Light

Software

The software running on the Raspberry Pi Zero W is a package called Motion and the Dropbox Uploader – for ease of install I suggest leveraging Pigeon which handles the install and configuration of both.  You can find details on Pigeon including installation instructions here: https://github.com/geraldoramos/pigeon

Note that by default Pigeon is going to configure the video at a fairly low resolution of 640×480, this is a good default for the low-power Raspberry Pi Zero.  I was able to get my resolution 4x, to 1280×960, but at this rate Motion is only able to record about 3-5 frames per second.  I prefer the higher resolution and lower framerate for a security camera as I want to be able to capture more details rather than more fluid motion.  Expect to spend some time fiddling with the Motion settings for your specific application.

Solar angle calculations

You could do the math yourself, but I find it easier to use an online calculator to determine the best angle for the solar panel.  This one worked well for me: http://solarelectricityhandbook.com/solar-angle-calculator.html

Connectivity

My security camera itself may all be wireless and self-contained, but at the distance from the house WiFi does not have a great signal.  To rectify this I use an outdoor mesh wireless access point from Ubiquity which gives me great outdoor coverage.  The scope of installing a mesh wireless network is outside of the scope of this article (perhaps we can revisit that another day).

Picture Gallery

Hope you find this helpful in your endeavors, and be sure to share!

Erik

Technology, science, building things and experiencing the world. What more could anyone ask for?

Fixing broken solar panel glass with a silicone encapsulant

Before and After

Fixing broken solar panel glass with a silicone encapsulant

I had a new solar panel propped up against a tree and it got knocked down by the wind and shattered (PSA, don’t do this).  The panel was still giving good current, however with the broken glass water would have quickly worked its way in and started corroding the components.  Rather than replace the panel I decided to make an effort to repair it (the warranty was voided anyway).




Broken solar panel
Broken solar panel – what have I done?


After giving it some thought I settled on a clear Silicone Encapsulant from Quantum Silicones called QSil 216.  This is a liquid silicone that cures into a solid flexible rubber-like material which protects electronics from moisture and vibrations.  It has a low viscosity and works its way around components as it cures sealing everything together.

QSil 216
QSil 216, ready for mixing

In the video you can see how I used a piece of wood to apply the product.  I had a comment that this may scratch the solar cells, however the glass was still mostly intact and covering the cells so the wood never touched them.  Here is what it looked like after I finished:

Repair job finished
Repair job finished

Temperature and Humidity during the cure process

The data sheet for this says it’s supposed to cure in 4 hours at room temperature, what I found is that it took MUCH longer.  I had it curing for a total of over 36 hours between 65 and 80 degrees Fahrenheit (that’s 18 to 27 for those of you in the rest of the world) and about 35% relative humidity.  Thanks to one of my sensor projects I have a log of the temperature and humidity in my garage over time so I was able to produce a report during the duration of the curing process:

Temperature and Humidity during the cure time
Temperature and Humidity during the curing process

It cures clear, and in the video above you can see it’s highly flexible.  Here is a close-up of the cured product that remained in my mixing cup when I was done:

Clear Stuff
Clear stuff

As far as I can tell it’s working fine after the repair.  However it’s October, I have it mounted in a area that gets a fair amount of shade, and I don’t have any identical OEM panels I can test against so I don’t know for sure how we’ll it’s doing as compared to when it was new.

If anyone has a good suggestion for how I might test the output of this panel as compared to original specifications I’d love to hear your ideas.  Please post in the comments!

Hope this helps if you find yourself in a similar situation.

Erik

Technology, science, building things and experiencing the world. What more could anyone ask for?

Environmental monitoring on the cheap with the ESP8266 (temperature, humidity, etc.)

Environmental Monitoring Dashboard

Curious about logging temperature, humidity, etc. or the ESP8266 microcontroller platform?  Looking to come up with your own environmental monitoring platform?  In this article I share some of the fun projects I’ve created to do just this.  Best of all it’s cheap and you can do this at your home/location without deep development experience (and I share code you can re-use to get started).

I’ve been meaning to setup some true DIY home IoT (Internet of Things) projects for a while now (read years). This summer during vacation I made a bit of time to try out the ESP8266 microcontroller platform.

The neat thing about the ESP8266 platform is that it has a native WiFi chipset, and as of about 18 months ago is supported by the Arduino IDE. All this makes programming and connectivity very simple.  They’re also available for only a few dollars each, which is a big plus as this is really just a tinkering project.  Over this last summer I ended up purchasing a total of 12 of these (plus an Arduino Uno R3 and several Raspberry Pis – but those are subject for future articles)

Some information on the platform itself.  I’ve tried a few different models and (for now) have mostly standardized on the NodeMCU v.2 as a development board, you can get them on Amazon here (2 for $13 as of writing).  My reasoning for picking this board is that it’s got the integrated USB to Serial converter, lots of digital inputs and importantly is narrow enough to fit on a standard breadboard with enough space to connect it.  You can find more details on this site comparing ESP8266 based boards, but as you can see below the spacing makes a big difference.

ESP8266 v2 versus v3
ESP8266 v3 (left) versus v2 (right) – big difference on the breadboard!

Okay, so what did I make with these things and how can I get a cheap environmental monitoring system out of them?

While I made several “models” with alternating sensors (photo resistors, ultrasonic distance sensors, etc.) what I made sure to include on every one of my ESP8266 based projects was either a DHT22 or DHT11.  What this meant is that everywhere I put one of these things I could get data on the temperature and humidity.

The DHTs generally require a small resistor wired between the voltage and digital input, however you can buy modules that already have the resistor on a small circuit so they’re ready to connect directly to your ESP.  Here is an example you can get on Amazon.  Additionally, I recommend the DHT22 over the DHT11 as they are much more accurate, but they’re also more expensive.

There are plenty of articles out there that will show you how to connect up a DHT to an ESP 8266 (which is not what I’m going to go into detail on in this article).  I’ve shared some code you can reuse on my GitHub repository here if you need something to get started: ESP8266 Environmental Monitor.  With that code (INO, PHP and MySQL) you can take the temp/humidity data and log it into a database, and from there all kinds of fun projects can be made because…data!

For example, I have a fun dashboard running on a old tablet that is mounted on the wall:

Environmental Monitoring Dashboard
Environmental Monitoring Dashboard

I also leveraged Fusion Charts so I could graph the temperature and humidity over time:

ESP8266 Temp and Humidity on my front Porch graphed
ESP8266 Temp and Humidity on my front Porch over the last 7 days graphed

(If you want see some of the code I used for these examples be sure to visit my WeatherUnderground PHP MySQL and FusionCharts Multiaxis PHP MySQL code repositories.

A few more pictures from some of the projects here:

I hope this inspires you to learn and try something new!

Erik

Technology, science, building things and experiencing the world. What more could anyone ask for?