The Helium network is growing at breakneck speed, and for every new entrant that means another node in which to split a fixed block reward. However, the reward division is not clean cut, after all it depends on coverage provided and proximal node density. Everybody knows how much HNT reward they earn, but is the node performing well? Another related, and more tricky question to answer is where are rewards going after the network 10x’s in size? The rest of this article will lay out some numbers to answer these questions.


First, some ground rules: for a node to be eligible in this analysis it must meet two criteria. This is done to filter out new nodes and nodes with too much downtime. Any node in good working order, even lone wolves, won’t have a problem satisfying these conditions.

1. In a 1 month span, a node must have at least 25 reward events.
2. A node’s first and last reward in a month must be separated by at least 25 days.

The analysis consists of 500 randomly selected nodes, with HNT tabulated over 31 days. I’m not filtering for known gaming populations, consensus elections or any location in specific. To do all this I queried the Helium API and used a statistics package. If you want the python let me know.

One thing to keep in mind – on December 16th 2020, the Helium team officially pushed a major reward change in the form of HIP15 / HIP17 (see this great video to understand the concepts). This makes it difficult to draw parallels from 2020 since that reward structure operated under a different set of rules. Don’t forget the monetary policy shift of HIP20, which introduced a max supply cap and halving schedule! Come August, all of this analysis will be turned on its head as rewards reduce by 50% over night.

Growth and reward

As of March 2021, the Helium network is seeing tremendous growth. Helium team members fully expect from at least 100k, maybe 200k nodes by the end of 2021 [1]. Which is nuts.

This is a box plot of five 1-month snapshots in time. (Need a box plot reminder?)
A few points on the box plot graph:
  • The blue line connects the means (don’t confuse mean with median!)
  • The “box” contains two middle quartiles. The middle 50% of earners live in this box.
  • The Nov 2020 to Jan 2021 transition is interesting, because it shows the impact of HIP15/17.
  • HIP15/17 had a democratizing effect on earnings: the middle 50% of earners earned more because the box shifted upwards towards greater earnings. The end result of HIP15/17 is a big clump of people on the bottom end of the spectrum (10-50HNT/mo) actually earned more after the HIP15/17 drop.
  • Ultra high end earners saw a slight dip after HIP15/17 dropped.

Another way of showing this information is with a cumulative distribution plot.

A few takeaways:
  • If your node made ~120 HNT in February 2021, you did better than 50% of people.
  • If your node made ~550 HNT in February 2021, you did better than 90% of people.

January to February had modest growth in node count, adding about 3000 (20% overall inflation), and the 50th percentile monthly reward shrank by about 10% and the long tail rewards by about 15%. As the network continues its march to 100-200k nodes, we will see the CDF lines shift left as everybody makes less and less HNT. So far it looks like the low & high ends are more affected by node dilution.

Where from here?

Adopting the Jan to Feb trajectory as a simple rule (20% node inflation = 10% drop in 50th-% rewards, 15% drop in 90th=%), the rest of the year looks a little bit like this.

  • By 50,000, your 50th percentile node brings in 70 HNT monthly.
  • By 100,000, your 50th percentile node brings in 45 HNT monthly.

This is my 5 minute back of the envelope projection — no doubt there are better ways of modeling this. As the great 2021 gold rush plays out I may refresh it.


This post is a long winded way of saying it’s great to be an early adopter in a promising project :)

2021 will be an exciting year for Helium. The project has already captured numerous “world largest X”, and there is still a clear path to 10x’ing node coverage within 12 months. What will the headlines say in 2022? What fantastic new use cases will emerge for an ever present network, unconstrained by battery life and Big Telco costs? Temperature sensors, weather stations, rat traps.. those have great utility, but are frankly pretty boring. We’re just scratching the surface.



There are a few reasons in the Helium world why you might want to turn a raspberry pi into an ethernet router. However, what I care about is a customizable approach to cell backhaul. As it stands right now all off the shelf Helium miners are essentially black boxes with no SSH, no USB, and no real interfaces except through the app and any bluetooth switches. So the goal with a DIY ethernet router is to create a machine which forwards internet from another location to the miner, from which you can load up with all sorts of customized solutions.

Now, a warning. Doing this is fraught with pitfalls and unexplained bugs. I have figured out a sequence of steps which works for my setup, but inevitably some things can change which screws up this carefully choreographed setup.

A few tips before starting

  • Have another SD card with a fresh raspberry pi reflash ready to go. Starting from scratch is quicker than undoing whatever mess was made.
  • You need local access to the raspberry pi. If you’re SSH’ing over wifi, its going to cause trouble.
  • I have tried this on Raspberry Pi OS and OS Lite (32-bit) dated from late December 2020 to January 2021. Use the official Raspberry Pi SD card reflasher tool.
  • Tested on Pi 3b+ only.

Routing usb0 to eth0

The behavior I want is that any device connected to the Pi via ethernet cable will view the Pi as a router. The Pi will assign IP an address and function just as a router, forwarding any source of internet to the connected device. To do this there are prerequisites and certain scripts must be run on the Pi.

Step 1: install dnsmasq

This is a straight forward and easy step. sudo apt-get install dnsmasq

Step 2: install the internet routing script

This step is the most troublesome. There are many instructions to accomplish this on the internet, however, this is the only reliable way I have found to accomplish what I am after. Here is a list of instructions which didn’t work for me: [1][2][3][4]

Back to what worked:
curl -O

Move it to /pi/home/
sudo mv /downloads/ /home/pi/

Give the right permissions
sudo chmod 755

Step 3: modify for your needs

!! Important !! You need to change one line depending on your internet channel configuration. By default, will forward wlan0 to eth0, in other words forward wifi to the ethernet port. I want to change that to forward usb0 to eth0. Usb0 will eventually be the name of the cell internet portal. Depending on your exact Pi Hat situation, it may also be called wwan0.

With nano,
sudo nano /home/pi/

Change this line:


Step 4: finish the config

This script needs to run at boot. To do this, run these commands: sudo nano /etc/rc.local

Add this command before exit 0
bash /home/pi/

Test it by connecting a device by ethernet to your Pi. It should go straight into an automatically assigned IP address with internet connectivity.



It’s a common and important question. How much data do these boxes actually need?

The state of Helium in January 2021 is such that the next big wave of boxes entering the scene (RAK v2) will be packet forwarders and miners all in one – meaning no DIY cloud miners with endpoint nodes subsisting on a whisper of data. If you’re concerned about bandwidth usage, listen closely. RAK v2’s will have the mining software built along side the LoRa forwarding software, all in one convenient package, but only accessible via bluetooth, ethernet or wifi, with a Raspberry Pi running the show.

To really dig deep, I brought together a Raspberry Pi to act as a cell backhaul wired router (more on this at a later date). My Helium hotspot has LoRa transmit + miner included, aka the full data hog setup. I’m utilizing a 4G/LTE data plan with no speed caps to make these measurements. My node is nothing special, it has about 4-5 witnesses and brings in 10-15 HNT per day as of early January 2021.

I use the eth0 fields within /proc/net/dev as a way to measure bandwidth usage. Informational link.

cat /proc/net/dev

Below are graphs on a cumulative basis (the linear looking ones) and on an 15 minute increment basis. In this 5 day period, a couple takeaways:
  • You’re receiving 2-4 mb every 15 minutes.
  • You’re transmitting between 2-7 mb every 15 minutes.
  • Usage is consistent through the 24 hours.
  • Extrapolating to a month, thats 8.6gb per month receive, 20gb per month transmit.

As an independent source of data, I asked my mobile carrier to give me a report in this same timespan. One datapoint in their (confusing) report is I used 824090 kb during a 72159 seconds session across receive and transmit, or about 90 kbps on a continuous basis.

It’s important to note I was not in a consensus group during this period. I hear those need even more data, possible 10x more, for a limited period of time.

This 5 day window overall has smooth consistent predictable level of traffic – no highs or lows. There’s an interesting transmit inflection point on January 11th 2021 – software update? Not sure.

So the TLDR is budget for 30gb between receive and transmit. Is that a lot? According to some sources, Netflix consumes between 20-60gb/month. So, bringing a Helium miner into your home is like having another roommate who watches a lot of Netflix.



So you want to run a cellular backhaul for your helium mining setup? Welcome to the first step in achieving the ultimate in locational flexibility. Identifying a data plan in conjunction with the right 4G/LTE hardware is an important step. Here’s a short survey of the data plan landscape with a Helium miner use case in mind.

Some of the nuance of data plan selection comes from the nature of the Helium use case. Helium is “IoT-ish” – it facilitates the IoT landscape, but the miner itself is hardly IoT. A non-cloud miner, in other words every hardware generation besides the short-lived DIY program, will consume 10’s of gb per month, or 100-200mb per day. Yes, that means the RAK v2 miners too — in fact, the RAK v2 cannot be made into a cloud mining compatible machine. Officially sanctioned cloud mining native hardware is still a far away dream for the Helium community as of early 2021.

Back to picking a data plan. Mining cares less about bandwidth – the mining task needs 100-200mb per day, and can subsist at a trickle rate. Its enough data to be a meaningful consideration, but there is no human in the loop to get frustrated at buffering youtube videos, so we can trade off bandwidth with cost.

Dont end up like this, pick your data plan wisely

The “helium as a member of my family” plan

Pros: Simplicity. Might even be cheap for 1-2 added lines. Its fast and easy to manage within preexisting frameworks provided by your carrier.
Cons: If you want more than a handful of miners running, this method just doesn’t scale. Plus you’re paying for capabilities like voice/SMS which you just don’t need. You might blow through your data allowances by consuming 10’s of GB per month, then your mom or wife will be ticked off they can’t listen to spotify because you’re mining cryptocurrency with a cellphone.
Verdict: Great if you don’t want to complicate your life.

The Twilio / Sixfab pay-as-you-go interface

Twilio / Sixfab pay-as-you-go (link)

Pros: Up and running quick. Works on large variety of bands, including LTE-M & NB-IoT which are “IoT” type bands, supporting low power and low bandwidth hardware (for example, Quectel’s BG96 module). Data dashboards to visualize usage, uptime, availability.
Cons: Holy mother of expensive data. $0.10 per mb? How does the tune of $500 / month in data consumption sound? Use for prototyping, but avoid. I wouldn’t even use with cloud mining because one poorly planned device firmware update could have you wake up to $500 bills.
Verdict: Great if you like losing money.

Above: Embedded Works support team in action

IoTDataWorks / Embedded Works Unlimited plans (link)

Pros: The price is right for 64kbps versions at $40/year. Compatible with readily available 4G radios: Quectel’s EC25 (Cat-4) and Telit’s LE910C1 (Cat-1). No frills: just data, no voice/SMS. When I ask them questions via email I’m connected with people who know what they are talking about. Refreshing. Two thumbs up from me.
Cons: Will NOT work on Cat-M1/NB-IoT radios. Their backend is just plain janky – you literally “shoot them an email” to get the SIM “cranked on”. No way to monitor usage, uptime, total data — again, “shoot them an email” and they can tell you. They need to up their game here.
Special note about buying from Embedded Works actual website – they have a special listing for static IP address assignments for the cool price of $20/year. This could potentially make some tasks easier.
Verdict: Looks like a winner, but no frills. NOTE: IoTDataWorks is the same as Embedded Works.

AT&T LTE-M One Rate Plan (link)

Pros: The price looks right at $32/year with unlimited access to the LTE-M bands, which are capped at 300-400kbps (fine for our needs). I see Quectel’s LTE-M radios BG96, BG95 listed in AT&T’s gigantic list of approved modules.
Cons: The fine print on this plan spooks me: “May not be used to establish a continuous, unattended connection to the AT&T network.” Uh..that’s literally what I need. I fully expect the ban-hammer to be indiscriminately applied, with kafkaesque attempts at seeking tech support.
As luck would have it I have a Quecetel BG96 Pi HAT around which uses the LTE-M spectrum. While AT&T’s interface is nice, my experience with the LTE-M spectrum its self was pretty lackluster. I could never maintain a solid connection.
Verdict: The problem isn’t with AT&T’s web interface, but my experience on LTE-M was pretty crappy. I’ll stick to your garden variety LTE/4G

Pros: Flashy website, easy to get rolling. Love the color scheme.
Cons: I don’t see any cheap trickle data plans. I’ve heard anecdotes of waking up to $500 charges due to poor data cap configurations.
Verdict: There’s better stuff out there for the Helium use case.

Choice IOT

Next time maybe we can try out Choice IOT, if they ever return my emails :).



Welcome to DeWiGo.
De = Decentralized
Wi = Wireless
Go = GO!

Stay tuned for more posts documenting my exploits in developing cellular backhaul applications & other technical ramblings pertaining to the Helium network.
  • Which 4G modems work and where?
  • Whats the best data plan?
  • Deploying hotspots in remote areas.
  • Pontificating profitability.
  • DIY options.
  • Hardware shopping lists.