How to mine cryptocoins with a Raspberry Pi

Check my RPI articles in Best Raspberry PI projects article or home page. Or subscribe my newsletter (top right in this page) to be notified when new projects are available! Also interested to start 3D printing with a cheap budget? Visit my cheap 3D printers list

Is it really possibile?

Many people ask themselves if t is possible to use their small Raspberry to earn money in general. With criptocurrencies spreading all over the world, mining has become really popular and easy to access also with a very simple PC. But, honestly, if you are expecting to generate an income by mining criptocurrencies, I must advise you that this is really hard – if not impossible – because using RPI means electricity costs, hardware usage (and failure risks) and internet connection costs.

RPI is capable to run only CPU mining, as their GPU are not enought powerful to make mining cryptocurrency efficient. For this reason you can use it as miner only for some cryptocurrencies allowing CPU mining (like, for example, Monero, Bytecoin and Litecoin). It will not be possible to use RPI for Bitcoin mining as this cryptocurrency relies on a blockchain using only GPU miners. Same result will occur with other only-GPU cryptocurrencies like Ethereum.

In this tutorial I will explain a step-by-step guide to use your Raspberry PI as miner. I will use a Raspberry PI 3 model B, but this guide works also with other Raspberry PI boards,

What we need

As usual, I suggest adding from now to your favourite ecommerce shopping chart all needed hardware, so that at the end you will be able to evaluate overall costs and decide if continuing with the project or removing them from shopping chart. So, hardware will be only:

I strongly suggest to evaluate buying a case with cooling system with fans (for example give a try searching Raspberry PI Case with cooling on Amazon).

I will configure my raspberry by ssh connection from my PC with Putty.

I will also use as mining software “cpuminer-arm” from afritzler. This is a multi-threaded CPU miner, fork of pooler’s cpuminer and supports a wide number of algorithms. All is simplified using Docker: our CPU miner will run inside a container so that – once installed Docker – enabling it will require a single line command.

You also should choose a mining pool. Please check Solo mining versus pool mining to see differences between solo mining and pool mining. For example, I use Minergate: this a simple way to start learning to mine. Just signup and get your cryptocurrency mining link.

Step-by-Step Procedure

Prepare your RPI operating system installing Raspberry PI OS Lite.

Once done, proceed installing Docker in your Raspberry PI.

From here we don’t need any dependencies or installation for our container to run.

Choose your coin to be mined: in the this example I will mine Monero. From terminal, use following command, changing <<yourEmail@address>> with your Minergate registration email:

docker run -d --name minerd -e ALGO="cryptonight" -e URL="stratum+tcp://" -e EMAIL="<<yourEmail@address>>" -e THREADS="2" afritzler/cpuminer-arm:latest

This command will download (only for first time) container image and run a container named minerd. “-e THREADS=”2″ ” identify how many CPU you are dedicating to mining. Keep low this value without cooling fans, to avoid hardware failures.

Looking in logs we will see that it is working:

pi@raspberrypi:~ $ docker logs minerd

[2020-06-30 17:20:02] Using JSON-RPC 2.0
[2020-06-30 17:20:02] CPU Supports AES-NI: NO
[2020-06-30 17:20:02] Starting Stratum on stratum+tcp://
[2020-06-30 17:20:02] 2 miner threads started, using 'cryptonight' algorithm.
[2020-06-30 17:20:02] Pool set diff to 2000
[2020-06-30 17:20:02] Stratum detected new block
[2020-06-30 17:20:02] thread 0: 1961878880 hashes, 0.00 H/s
[2020-06-30 17:20:02] thread 1: 1951393120 hashes, 0.00 H/s
[2020-06-30 17:20:48] thread 1: 1951393120 hashes, 0.00 H/s
[2020-06-30 17:20:48] accepted: 1/1 (100.00%), 4.83 H/s at diff 2000 (yay!!!)
[2020-06-30 17:20:55] thread 0: 1961878880 hashes, 0.00 H/s
[2020-06-30 17:21:44] thread 1: 1951393120 hashes, 0.00 H/s

And (after first accepted mine) your Minergate Dashboard will show your active worker.

You can stop / start this docker container when you want with:

docker stop minerd
docker start minerd

You need to stop and remove minerd container to change running options.

Take a continuous look on system temp with the following command:

watch cat /sys/class/thermal/thermal_zone0/temp

which gives you a continuous look to system temperature (divide resulting number by 1000 and you have temperature in °C).


Check hardware prices with following links:

Amazon raspberry pi boards box
Amazon Micro SD box

How useful was this post?

Click on a star to rate it anonymously!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?