Single Channel LoRaWAN Gateway
C++ C Makefile
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
LICENSE Initial commit Dec 8, 2015
Makefile Initial commit Dec 8, 2015 added deprecation note May 9, 2017
base64.c Initial commit Dec 8, 2015
base64.h Initial commit Dec 8, 2015
main.cpp Change IP address of TTN server Jan 6, 2016


Please note this repository is deprecated, and the code is not up-to-date to use on The Things Network.

This repository will not be further maintained. Please find another repository if you want to deploy a single channel gateway.

Single Channel LoRaWAN Gateway

This repository contains a proof-of-concept implementation of a single channel LoRaWAN gateway.

It has been tested on the Raspberry Pi platform, using a Semtech SX1272 transceiver (HopeRF RFM92W), and SX1276 (HopeRF RFM95W).

The code is for testing and development purposes only, and is not meant for production usage.

Part of the source has been copied from the Semtech Packet Forwarder (with permission).


  • listen on configurable frequency and spreading factor
  • SF7 to SF12
  • status updates
  • can forward to two servers

Not (yet) supported:

  • PACKET_PUSH_ACK processing
  • SF7BW250 modulation
  • FSK modulation
  • downstream messages (tx)


  • SPI needs to be enabled on the Raspberry Pi (use raspi-config)
  • WiringPi: a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. sudo apt-get install wiringpi see
  • Run packet forwarder as root


SX1272 - Raspberry

3.3V - 3.3V (header pin #1) GND - GND (pin #6) MISO - MISO (pin #21) MOSI - MOSI (pin #19) SCK - CLK (pin #23) NSS - GPIO6 (pin #22) DIO0 - GPIO7 (pin #7) RST - GPIO0 (pin #11)



  • LoRa: SF7 at 868.1 Mhz
  • Server:, port 1700 (The Things Network:

Edit source node (main.cpp) to change configuration (look for: "Configure these values!").

Please set location, email and description.


The source files in this repository are made available under the Eclipse Public License v1.0, except for the base64 implementation, that has been copied from the Semtech Packet Forwader.