LoRaWAN Gateway

Recently I have been playing with LoRa radio transceivers. – Long Range, low power.

I found it is easy to to setup a point to point link with two LoRa modules but as soon as you start playing with the LoRaWAN protocol, you find you need a gateway device to go much further.

RAKWireless recently released a low cost gateway concentrator board – the RAK831.

Most current DIY gateways use the Raspberry Pi to drive the gateway board. I looked at using this with the RAK831 but decided to try and find a neater/smaller solution.

Enter the NanoPi Neo.  Friendly Elec – http://www.friendlyarm.com/ sell the NanoPi Neo – significantly cheaper and smaller than the full sized Raspberry Pi and easier to use than the Raspberry Pi Zero.

Here’s a board with the NanoPi Neo that also supports a GPS module, OLED display and BMP280/BME280 sensor. All these are of course optional and the board only needs a few resistors to operate as a gateway.


The GPS module is a UBLOX Neo 7m. This has a USB interface to allow the GPS module to be configured. The PPS output is made available to the RAK831 along with the serial data output to the NanoPi Neo on serial port 1. I have provided a jumper to disable/enable the Nano transmit/GPS receive line. I found that the echo from the Nano would cause the GPS serial port problems…and sometime stop valid data being sent from the GPS.

You could also disable serial port echo on the Nano if needed.

The OLED display is a 128×32 0.91″ i2c model. The OLED is soldered directly to the back of the board. Reasonably easy to solder if you have good soldering skills. The OLED display is on the bus at address 0x3C (pretty standard for SSD1306 type displays).

Should you not wish to use or install the on board display, I have provided a 4 pin i2c header for remote display or whatever.

There is also a BME/BMP280 sensor option should you want to monitor your gateway’s environment.

The Nano/RAK/PCB can be powered by the common 5V connector or the Nano can be powered separately through the Nano USB port. A jumper on the PCB is provided for this.

The Nano is running Friendly Elec’s supported version of Ubuntu.

The OLED is driven by the Luma OLED library.

Gateway software for “The Things Network” gateway can be found here:


You will need to edit the start.sh file to change the reset pin for the NanoPi Neo – Pin1

If you use the GPS option, you will also need to change the serial port to ttyS1 in the global_conf.json file.


Here’s my unmounted board. I recommend you buy the optional NanoPi Neo heatsink.

My board runs at fairly cool. Operating after 3 hours my board was running at about 32 deg C.  (background temp is about 18 deg at the moment).

Eagle Schematic and PCB files can be found here:


As always, use at your own risk. It works for me!











  1. Hi! Thank you for sharing. I am very interested in your project.
    I saw in your pcb file but I can’t find information about C3 and C11.
    Could you please give me more information of these parts.
    Thank in advance.


    1. They are just super-caps, I used 0.22F
      Since these come in different packages, there are two parts shown.
      Only one is needed. Use the holes that fit your cap.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s