Packet Forwarder Architecture
To be a Helium Miner, there are three principle components to know about
Any device that can run an 8 channel LoRa front-end (such as SX1301 or SX1302) can be used to participate in the Helium Network. The Light Hotspot Client is designed to send and receive packets using the Semtech Gateways Messaging Protocol (GWMP), making it compatible with almost every LoRaWAN Gateway on the Market.
Many off-the-shelf LoRaWAN gateways work very well and using one of them gives you one less thing to worry about as the Packet Forwarder is setup and ready to go.
This guide, however, is for those that want a more hands-on experience. We will essentially be assembling a LoRaWAN gateway with discrete parts, loading up an open-source Linux distribution, compiling the packet forwarder, and running it all ourselves. In short, we'll be learning gateways that hard way!
This guide is experimental and for advanced users only, and you may run in to various issues trying to get this working.
If you don’t have your own hardware yet, we recommend using a Raspberry Pi 4B running the latest 64-bit RaspiOS image.
We recommend this configuration in particular if you are interested in running the Miner on the gateway itself; it's easy to run our Docker image from Quay on a 64-bit ARM system. If you choose to run the Miner elsewhere, it's possible to downgrade all the way to a Pi0, for example, since you will only be running the packet forwarder on the gateway.
RAK Wireless sells multiple "Pi Hats" that provide the 8-channel front-end:
Or you can check out their WisGate Developer line where they provide bundles:
Ultimately, which configuration works for you depends on your situation, but all of them will work with this guide with little adjustment.
You can create an SD card from this image by looking for the recently inserted SD card in your system
Generally, the timestamp is enough to indicate which device is the SD card. Next write the image to the SD card. For example:
Use the command
sync to make sure the filesystem is written before trying to remove the SD card. Once the
sync command returns, you can eject and remove the SD card from your system.
With a keyboard, mouse, and monitor plugged in, power on the Raspberry Pi. Proceed through the guided RaspiOS setup where you will update your password, configure your WiFi, etc.
Enable SPI and I2C using the raspi-config tool:
Interface Options, and enable
SPI from within the menu system. This is also a good time to enable SSH if you want it.
Installing the Semtech Packet Forwarder
Depending on which SX130x radio you are running, you will want to select the appropriate packet forwarder application.
Pull down Helium's fork of the SX1302 packet forwarder:
git clone https://github.com/helium/sx1302_hal.git
Go into the directory and build:
Next, go into the the packet_forwarder directory, where we will create a link to the reset script:
We will also create a link to the appropriate regional configuration. For example:
We are now ready to test the start-up. From
If you get the following output, you are good to go:
You are now ready to setup the light hotspot client.