Image of Building a Miner with FPGA and ARM

Building a Miner with FPGA and ARM Leave a comment

Introduction
Over the past few months, the hype around Bitcoin and cryptocurrencies has skyrocketed! Moreover, whenever Bitcoin comes up, the topic of miners inevitably arises — as a specialized piece of hardware designed specifically for mining digital currencies. And that’s exactly when electrical and electronics engineers start asking:

What exactly is this hardware?
• Why don’t we build it ourselves?
• And most importantly: as an electrical and electronics engineer, where can I fit into this highly profitable business?

Let me break it all down for you — in true electrical and electronics engineering language!

Why I wrote this post

As you may or may not know, the cryptocurrency mining market — especially Bitcoin — is hotter than ever. The main reasons are:

  • The massive rise in Bitcoin’s price
  • After a brutal crash in the last couple of years , the price has started climbing again strongly

You can see the Bitcoin price chart from 2017 until today in the image below.

Bitcoin price chart (2017–2025) in USD
Bitcoin Price Chart

The rate of growth is such that in the last one or two months, more than $10,000 has been added to the price of each Bitcoin; this very factor is what incentivizes countless individuals around the world to jump into Bitcoin mining.

With these recent changes, over the past three months, the network difficulty has seen a remarkable increase, with nearly 20 exahashes (where each exa is equivalent to 10^18) added to the network’s capacity. The sheer magnitude of this number clearly illustrates just how massively the number of participants has surged!!

Bitcoin hashrate chart 2017–2025, peaking at 1.091 ZH/s
Bitcoin Hashrate Chart

This post isn’t meant to cover every single detail — if you get really curious after reading it, I’m sure a few simple Google searches will answer most of your questions. And of course, if the response is good, we might continue this series…

What’s the philosophy behind Bitcoin and where did it come from?

Have you ever wondered why gold is valuable, or why a painted piece of paper (banknote) has value? The simple answer: because we collectively agreed it does! In other words, these things have value only because there is demand and a social contract behind them.

Let me illustrate with an example: Imagine you’re stranded on a remote island, surrounded by a primitive tribe about to sacrifice you, and you have tons of gold and jewels. Can you buy your life with them? Of course not — to that tribe, gold is just another metal and diamonds are just shiny rocks. What makes them precious is the collective agreement in our society that they are valuable.

Bitcoin is exactly the same thing! With one big difference: Bitcoin isn’t a physical object — it’s just a few thousand bytes of digital data. It doesn’t even have tangible existence! Yet people have collectively agreed that these specific bytes have value and are willing to pay real money for them. That agreement is what gives Bitcoin its value.

But then why isn’t every random few thousand bytes considered a Bitcoin? For the same reason not every yellow metal is gold. We test gold by its atomic structure, density, electrical resistance, etc. Similarly, there are strict cryptographic algorithms that check whether a certain string of bytes is a valid Bitcoin or not.

In short, Bitcoin has value because:

  • Its supply is strictly limited
  • People around the world have reached a global consensus that these particular numbers can be used to transfer real-world value

How do we actually “mine” Bitcoin? (Mining)

Now that we understand what Bitcoin is, let’s see how we can obtain it — a process popularly called mining.

As mentioned earlier, Bitcoin uses the SHA-256 hash algorithm to validate transactions and new blocks. Anyone familiar with cryptography knows that SHA-256 is a one-way function — you cannot reverse-engineer the input from the output.

It’s similar to CRC: you can’t guess the original data from the CRC value, but if the CRC matches a specific number, you know the data is exactly what it should be.

The same happens in Bitcoin: the network gives you a target criteria (currently an output hash that must start with a huge number of zeros). You know that if you find an input that produces exactly that output, you’ve discovered a valid block — but you can’t work backward from the target to find the input.

So how do you find it? Brute force — trial and error!

You generate random (or systematically changing) inputs, hash them with SHA-256, and check if the result meets the current difficulty target. If yes → you just mined a block and earn the reward (currently 3.125 BTC + transaction fees). If not → try the next one… billions of times per second.

This algorithm itself isn’t complicated at all — there’s even a famous article called Mining Bitcoin with Pencil and Paper that shows you can do it by hand! (Of course, that was possible only in the very early days when difficulty was extremely low.)

Think of it like getting paid to find very large prime numbers: the first few thousand primes are easy, even mentally calculable. But as you go higher, it becomes exponentially harder.

Today, the simple inputs are long gone. Modern Bitcoin mining requires trillions of hashes per second — far beyond what even the most powerful conventional servers or CPUs can deliver.

For deeper technical details, just search these keywords:

  • Hashcash
  • Proof of Work
  • Block Hashing Algorithm

We’ll dive much deeper into the hardware side (ASICs, power efficiency, chip design, etc.) in the next parts if you guys show interest!

Where does blockchain fit into all this?

Digital blockchain chain illustration on blue background.

A lot of people know blockchain only as “that anti-filter thing” . There were tons of ads claiming Telegram would use its own blockchain to become unblockable! We’re still waiting to see how they plan to pull that off…

Anyway, that’s not what blockchain actually is.

The real concept of blockchain, as I understand it, is a secure system for storing information — any kind of information. Its most important feature is security, meaning once data is written into the blockchain, it becomes practically impossible to alter. This is exactly where blockchain enters the Bitcoin story. The security that blockchain provides is so powerful that it’s now appears even in discussions about Internet of Things (IoT) security.

In short: data is stored in sequential blocks. Each block contains a cryptographic reference (hash) of the previous block. So if someone tries to change anything in one block, they would have to change every single subsequent block as well. And since the entire chain is duplicated across thousands of computers on the network, no one can secretly modify it without the entire network immediately detecting the inconsistency.

Illustration of a secure blockchain

 

Now imagine you finally found a valid block after huge effort and mined some Bitcoin. How do you prove it was you who found it?

The rule is very simple: the first person who broadcasts and registers the newly discovered block gets the reward. Blockchain is used in this registration process to make cheating and manipulation virtually impossible.

How do we actually mine Bitcoin?

Illustration of symbolizing cryptocurrency mining

Now we’re finally getting to the exciting part of the article — the part where electronics really enters the game!

As we said before: to mine a Bitcoin block, you have to repeatedly compute the SHA-256 hash and, through trial and error, search for the correct input that satisfies the network’s current target. The bottom line is simple: The more SHA-256 hashes your hardware can calculate per second, the more attempts you can make every second — and the higher your chance of finding the winning block first.

That’s exactly where the famous unit “hash per second” (H/s) comes from — it measures how many times per second your device can run the SHA-256 algorithm. Now let’s test different boards and see how much we can actually earn with them.

Raspberry Pi

We’ll start with the Raspberry Pi Model B+. This board has a BCM2835 SoC with a single-core 700 MHz ARM processor. To perform the test, we use the cpuminer program, which implements SHA-256 mining using the CPU. We’ll use the optimized version for ARM processors — the source code is available on GitHub.

Terminal screenshot of MinerD SHA-256 benchmark on Raspberry Pi
Raspberry Pi B+ Benchmark

 

As you can see, a 700 MHz ARM11 single-core processor can only perform the SHA-256 algorithm about 200,000 times per second (200 KH/s). Well, now let’s move on to newer ARM processors — for example, the Raspberry Pi 3 with its BCM2837, a quad-core Cortex-A53.

And here’s the test result:

Terminal screenshot of MinerD benchmark on Raspberry Pi 3
Raspberry Pi 3 Benchmark

 

Yes, we really shouldn’t expect miracles — it’s roughly 6 times faster than the Raspberry Pi B+, performing the calculation 1.381 million times per second, or about 1.3 MH/s.

Orange Pi

Now I got curious myself to see how the H3 processor — a quad-core Cortex-A7 — handles this algorithm. So I repeated the test on an Orange Pi One. (Note: the H3 is used on many different Orange Pi boards, but I don’t think the results would vary much between them!)

Terminal screenshot of MinerD benchmark on Orange Pi One
Orange Pi One Benchmark

Apparently the result is even slightly better than the Raspberry Pi 3 — around 1.4 MH/s! In all three comparisons, I used the exact same code that I introduced at the beginning of this section; I only recompiled it for the different architectures.

Now let’s repeat this test with an Intel Core i3 (2nd generation):

Terminal screenshot of MinerD benchmark on Intel core i3 Gen2
Intel core i3 Gen2 Benchmark

 

Well, the result improved dramatically — about 10 MH/s, which is nearly 7 times better than the H3 processor. Let’s keep pushing and go even stronger — next up: an Intel Core i7 (4th generation).

Terminal screenshot of MinerD benchmark on Intel core i7 Gen4
Intel core i7 Gen4 Benchmark

The result improved by almost four times — reaching around 36 MH/s! To make the differences clearer, it’s best to look at all the test results on a chart so we can easily compare the performance gaps.

Sha256 HashRate in Mh/s

Single-thread performance comparison (higher is better)

0
5
10
15
20
25
30
35

0.2
Rasp Pi B+

1.3
Rasp Pi 3

1.4
OrangePi 1

10
Intel i3

30
Intel i7

Performance in Mh/s

As clearly shown in the charts, ARM-based processors deliver extremely low hash rates. Of course, from the very beginning we could have guessed that general-purpose CPUs aren’t really satisfactory for SHA-256 operations.

The reason is simple: if you look closely examine the SHA-256 algorithm, you’ll notice that it mostly relies on bitwise logical operations (AND, OR, XOR, rotations, shifts) rather than traditional arithmetic or floating-point processing.

Diagram of SHA-256 compression function
SHA-256 Algorithm

This is exactly where FPGAs come into play.

Using an FPGA will definitely perform much better than any general-purpose CPU. Let’s start with a chip most of us are familiar with: the Xilinx Spartan-6 SLX9. After implementing the SHA-256 algorithm on this chip, the following results were achieved:

It takes 64 clock cycles per SHA-256 execution. Running at an input frequency of 200 MHz, we get 3.125 MH/s from a single core. Since less than 50% of the chip is utilized, we can comfortably fit two SHA-256 cores inside the Spartan-6 SLX9, resulting in a total of 6.256 MH/s — a number far higher than even multi-core ARM processors running at several times the clock frequency!

Now let’s move to a much more powerful chip. There’s an open-source project that designed a mining board using four Xilinx Spartan-6 XC6SLX150 FPGAs — it’s called the USB-FPGA Module 1.15y. As you can probably guess, the performance of this board is dramatically better than a single Spartan-6 SLX9.

Top view of ZTEX USB-FPGA Module 1.15y2
USB-FPGA Module 1.15y Board

According to the developer (in that forum thread), this board is capable of delivering 800 MH/s! Back in 2011, that hash rate would have earned roughly $2.5 per day. But today, the same 800 MH/s generates literally zero income (I’ll explain why later if we get the chance). To really appreciate how big the leap is, let’s add the FPGA result to the chart — the Raspberry Pi and Orange Pi boards basically disappear from the scale.

Benchmark Score

Single-thread performance comparison (higher is better)

0
100
200
300
400
500
600
700
800

0.2
Rasp Pi B+

1.3
Rasp Pi 3

1.4
OrangePi 1

10
Intel i3

30
Intel i7

6.256
XC6SLX9

800
XC6SLX150

Performance Score — Quad XC6SLX150 dominates all other platforms by a massive margin

As clearly shown in the chart, using FPGAs demonstrates a striking and significant difference compared to using CPUs. However, even having a few gigahashes per second won’t generate any income on Bitcoin’s network, which operates at several dozen exahashes. Not only using boards like Raspberry Pi and Orange Pi, but even powerful multi-dozen-core computers lack economic justification and cannot be used for Bitcoin mining; perhaps a few years ago—around ten years back—using computer processors for Bitcoin mining made sense, but today it’s completely obsolete and meaningless.

Currently, commercial Bitcoin mining devices have hash rates equivalent to several dozen terahashes—that’s over a million times the hash rate obtained from the FPGA! In other words, mining Bitcoin with ordinary boards is neither logical nor cost-effective!

But how is achieving such a hash rate possible? With that kind of hash rate, how much income can we expect? Why does Bitcoin income decrease every 15 days or so? We’ll answer these raised questions in a separate article if the opportunity arises. Your interest and comments could create that opportunity.

By the way, in the end, I must say that in my opinion and that of many others, the cryptocurrency trade—especially mining—can offer a good market and income. And of course, the key and important question is: as an electrical engineer, what unique abilities can I have in this market, beyond just investing and buying miners like ordinary people in society? A question that surely can have highly significant answers!

FAQ – Building a Miner with FPGA and ARM

Can I mine Bitcoin profitably with a Raspberry Pi or Orange Pi?

No — even the best ARM boards (RPi 3, Orange Pi) achieve only ~1–1.4 MH/s. The Bitcoin network is currently at ~1 ZH/s (1,000,000 TH/s). Your share would be essentially zero, and electricity cost would exceed any reward.

What about desktop CPUs (Intel i7, etc.)?

Still not viable. Even a high-end i7 reaches only ~30–40 MH/s. Modern Bitcoin ASICs deliver hundreds of TH/s per unit while being far more power-efficient. CPU/GPU mining died around 2013.

Why are FPGAs much faster than CPUs for SHA-256?

SHA-256 is dominated by bitwise operations (AND, OR, XOR, shifts, rotations). FPGAs can implement dozens of parallel pipelines custom-designed for these operations, while CPUs waste cycles on general-purpose overhead (branch prediction, cache, etc.).

What is the current Bitcoin network hashrate (Dec 2025)?

Around 1 ZH/s (1 zettahash = 10²¹ H/s) — that’s 1,000,000,000,000 GH/s. Even the best FPGA boards from 2011 (~800 MH/s) are now completely irrelevant.

What hardware actually mines Bitcoin today?

ASICs (Application-Specific Integrated Circuits) — chips designed exclusively for SHA-256. Modern units (Bitmain S21, MicroBT M60) deliver 200–400 TH/s at ~15–20 J/TH efficiency.

Why is Proof-of-Work based on SHA-256?

It’s a one-way function: easy to compute forward, practically impossible to reverse. Finding a hash below the target requires brute-force trial and error — perfect for creating adjustable difficulty and preventing spam/sybil attacks.

What role does blockchain play in mining?

The blockchain is a tamper-resistant ledger. Each new block references the previous block’s hash. Miners compete to find a valid block; the first to broadcast it wins the reward. The chain structure makes altering past blocks exponentially expensive.

Is Bitcoin mining still profitable for individuals?

Only with latest-generation ASICs, cheap electricity (<$0.05/kWh), and scale (multiple units). Hobby mining with older hardware or high electricity costs is almost always a loss.

As an electronics engineer, how can I enter the mining market?

• Design custom ASIC control boards
• Optimize power delivery and cooling
• Develop firmware and monitoring systems
• Build immersion cooling solutions
• Create efficient hosting facilities7

Leave a Reply