# LowCostLoRaGw and the single channel LoRa gateway it left behind

> LowCostLoRaGw is a C implementation of a low cost LoRa gateway for Raspberry Pi and Arduino, covering the SX126X, SX127X and SX128X radio families, with SD card images for the Raspberry build. The important fact for anyone evaluating it today is that the project states it is no longer maintained and points at WaziGate and later repositories for current work.

**CongducPham/LowCostLoRaGw** — Low-cost LoRa IoT & gateway with SX12XX (SX1261/62/68; SX1272/76/77/78/79; SX1280/81), RaspberryPI and Arduino boards

- Repository: https://github.com/CongducPham/LowCostLoRaGw
- Stars: 750 · Forks: 354
- Language: C
- License: not declared
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/congducpham-lowcostloragw

## The project says plainly that it is no longer maintained

The most useful thing in this repository is its first substantive line, and it is not a feature description. It reads: we are not maintaining this repo anymore.

What follows is an explanation rather than an apology. The work on the low cost LoRa gateway started in 2015, and the maintainers say the collaboration with WAZIUP e.V. on a more efficient gateway software meant some of their code served as the foundation for a new development line called WaziGate, built by the WAZIUP e.V. team. In 2021 they shifted completely to that WaziGate distribution to build the edge enabled LoRa gateway for the PRIMA INTEL-IRRIS project, with a dedicated repository for it.

Then the chain continues one step further. In 2025, as the INTEL-IRRIS work continued under the PEPR AgriFutur project, the latest edge enabled gateway built on top of the general WaziGate framework was made available from a dedicated PEPR AgriFutur GitHub repository, and the documentation points there for the latest development.

So the project lineage is legible. This repository is the 2015 origin, the code that fed into WaziGate, and the documentation of how the SX12XX radio support and the 64-bit Raspberry Pi port were done. For a new deployment in 2026, the intended target is one of the later repositories.

The last push was on 2026-04-21 and the repository is not archived, and it publishes no GitHub releases, so there is no version history to consult. The maintainers also thank readers for the stars they received, and note that they hope the early work was useful in other people's projects. That is the honest shape of the thing: a finished and superseded research codebase that remains readable.

## The radio support spans three chip families, which is the hard part

The radio layer is where the engineering effort went, and the change log in the documentation is organized around it.

The project covers the SX12XX family in three groups: SX1261, SX1262 and SX1268; SX1272, SX1276, SX1277, SX1278 and SX1279; and SX1280 and SX1281. The October 2020 entry records the key move: the low level radio communication library was changed to the SX12XX LoRa library by Stuart Robinson, so that devices and gateways can be built with SX126X, SX127X and SX128X chips. The default gateway program is compiled for an SX127X based module using that library.

The reason the change was needed is stated: to provide support for the most recent LoRa chips, including those for 2.4GHz LoRa. That is the substantive point, because 2.4GHz LoRa sits in the same band as WiFi and the 868MHz and 433MHz bands do not, which changes both the antenna story and the regulatory one.

A November 2020 entry covers the hardware side of the same problem. Arduino ProMini PCBs were added so that NiceRF SX1262 and NiceRF SX1280 modules can be connected easily, and the note says these modules are the same size as the HopeRF RFM95W for SX1276. That is a practical detail for anyone building the device side, because a board that fits an RFM95W is a board you can reuse.

So the radio support is genuinely broad. What is not claimed is a certification position, a frequency plan beyond the bands mentioned, or any performance figure, and none of those appear in the documentation.

## Getting the gateway onto a Raspberry Pi means flashing an SD image, not compiling

The quick start section is written for people who want a working gateway rather than a development environment, and it is built around prepared SD card images.

Two images are offered. The current one is a zipped 8GB SD card image for Debian Buster 32-bit, to be flashed on an 8GB class 10 SD card. The newer beta is a 64-bit Debian Buster image that includes an embedded AI framework, and it is described as having everything the 32-bit version has plus that framework. The download is about 3GB, and the 8GB image is meant for a 16GB or 32GB card, with `raspi-config` used to expand the file system afterwards. The 64-bit image was announced in October 2021 for the PRIMA INTEL-IRRIS project, to build low cost smart irrigation systems for smallholders.

Neither image is hosted in the repository. Both are Google Drive downloads, which is worth knowing before you plan an offline or air gapped installation, and the images are large enough that a slow link is a real part of the setup time.

The source tree, by contrast, is laid out for building from scratch. The top level has an `Arduino/` directory, a `PCBs/` directory with the board designs, `gw_full_latest/` holding the current gateway code, `tutorials/`, `zip/` and `images/`. Inside `gw_full_latest/` there are per topic documentation files, and the directory names show the scope: `README-SX12XX.md` for porting to the SX12XX library, `README-WiringPi-64bit-OS.md` for the 64-bit Raspberry Pi work, `README-downlink.md` for the LoRaWAN downlink and OTAA features, `README-AI.md` for the embedded AI framework, plus `scripts/chirpstack/README.md` and `scripts/rak2245-rak831/README.md`.

The practical route is therefore: flash the image, connect the radio, and only build from source if you need to change something the image does not already contain.

## A 64-bit port meant swapping arduinoPi for wiringPi

One change in the changelog explains a lot about the constraints of the Raspberry Pi build, and it is a good example of a low level dependency forcing a redesign.

The January 2021 entry says the low level SPI library on the Raspberry gateway moved from Libelium's `arduPi` library to Gordon's `wiringPi` library, because `arduPi` relies heavily on direct memory accesses that are difficult to port. The stated reason for the port is to prepare the whole low cost Raspberry based gateway to embed advanced AI frameworks, which are mostly based on 64-bit OS. And the conclusion is explicit: `wiringPi` is now the default low level SPI layer in the GitHub source distribution.

The reasoning is worth tracing because it shows the shape of the constraint. A direct memory access library is not portable to a 64-bit userland without a rewrite, and the gateway is doing bit level SPI work with a radio, so it needs the low level path. The decision was not about preference between libraries but about which one could survive the jump to 64-bit.

The December 2022 entry then records that both the 32-bit and the 64-bit OS versions have been upgraded and tested for the Raspberry Pi 4, including the CM4 compute module. That entry is the most recent item in the news list, which tells you where the project stopped.

For anyone picking this up, the practical consequence is that the Raspberry Pi 4 and CM4 are the tested targets for the 64-bit path, and the low level SPI access goes through `wiringPi`. Anyone porting to a newer Raspberry Pi or a different 64-bit userland is picking up work the project itself did not finish.

## Single channel, LoRaWAN-like, and not the same thing on both bands

The quick start lists several ways to use the gateway, and the differences between them matter more than they first appear.

The single channel gateway provides LoRaWAN-like communication including downlink with LoRa 2.4GHz, and uploads to TTN or ChirpStack network servers. The single channel gateway also provides LoRaWAN downlink and OTAA features for devices using the project's modified LMIC, and the 433MHz path is described as limited LoRaWAN with downlink and OTAA for devices using the modified LMIC as well. The modified LMIC is a separate repository of its own.

So the 2.4GHz and 433MHz configurations are not two flavours of the same thing. One is described as LoRaWAN-like, the other as limited LoRaWAN, and both depend on a modified LMIC on the device side for the 433MHz and downlink cases. The OTAA and downlink features are tied to that modified stack, not to the gateway alone.

The project also supports a multi channel Raspberry Pi SX1301 LoRaWAN gateway, with the rak2245-rak831 hardware, and the documentation frames that as the open, versatile, multi cloud framework with the flexibility and scalability of a multi channel gateway. That is a different hardware path, using a concentrator board rather than a single radio module.

The scope statement in the repository description lists the supported hardware families and the Raspberry Pi and Arduino boards. The Arduino directory in the tree is the device side, and the tutorials directory holds an Arduino sensor to LoRa tutorial among other things.

The honest summary is that a single channel gateway is a personal, small scale setup with one radio and one or a few devices, and the multi channel SX1301 path is what you would build for a real deployment.

## What a newcomer should actually use instead

The alternative is not another codebase. It is the successor the project itself names, and the difference is one of maintenance rather than architecture.

WaziGate is the development line that took over the code, and it is where the WAZIUP e.V. team develops the gateway software. The PEPR AgriFutur repository is the most recent step, hosting the edge enabled gateway built on top of the WaziGate framework, and the documentation explicitly says to check that repository for the latest development. Both are the same author, so the code lineage is direct rather than a parallel reimplementation.

The difference in approach is the difference between a frozen snapshot and a moving target. In this repository you get a known state: a 32-bit or 64-bit Debian Buster image, a specific SPI library choice, a documented set of radio families, and a changelog that stops in 2022. In the successor you get whatever the current edge enabled framework provides, with the AI framework work still in progress as of the 2025 entry.

There is also the open source ChirpStack LoRaWAN Network Server, which this project includes support for, and TTN as a server option. Those are the server side of the deployment and they are independent of the gateway firmware.

So the practical guidance is straightforward. If you need to run a gateway today, follow the pointer to PEPR AgriFutur and the WaziGate framework. If you need to understand how the SX12XX port was done, or need the 433MHz and downlink path that the successors may not carry in the same form, or you are extending the Arduino device side, this repository is where that history lives, and the code is C and readable.

## Conclusion

LowCostLoRaGw fits an engineer who already has a single channel gateway running, wants the source to fix a radio driver problem, or needs the Arduino side for a sensor node, and who is prepared to maintain it themselves. It is the wrong starting point for a new deployment, because the project states outright that it is no longer maintained and directs new work to WaziGate and the PEPR AgriFutur repository. Before you build on it, check three things: which of the SD card images matches your board and OS, since a 32-bit Debian Buster image and a 64-bit one with the AI framework are offered separately, whether your radio module is on the supported list of SX12XX variants, and whether the LoRaWAN features you need, OTAA and downlink, are in the 433MHz path or the 2.4GHz path, because they differ. No licence is recorded for the repository, and the last push was on 2026-04-21.

## FAQ

### Is LowCostLoRaGw still maintained?

No. The project states plainly that it is no longer maintaining the repository, and explains that some of its code became the foundation for the WaziGate development line by WAZIUP e.V. The last push to the branch was on 2026-04-21 and the repository publishes no GitHub releases.

### Which LoRa radio chips does LowCostLoRaGw support?

The SX12XX family is covered in three groups: SX1261, SX1262 and SX1268; SX1272, SX1276, SX1277, SX1278 and SX1279; and SX1280 and SX1281. The low level radio library used is the SX12XX LoRa library by Stuart Robinson, and the default gateway program is compiled for an SX127X based module.

### How do I get the LowCostLoRaGw gateway software onto a Raspberry Pi?

The documentation offers prepared SD card images rather than a build step: a zipped 8GB image for Debian Buster 32-bit to be flashed on an 8GB class 10 card, and a 64-bit Debian Buster beta image that adds an embedded AI framework, meant for a 16GB or 32GB card with `raspi-config` used to expand the file system. Both are Google Drive downloads.

### Does LowCostLoRaGw support LoRaWAN OTAA and downlink?

Yes, for devices using the project's modified LMIC. The 433MHz configuration is described as limited LoRaWAN with downlink and OTAA, while the 2.4GHz configuration provides LoRaWAN-like communication with downlink, and both upload to TTN or ChirpStack network servers.

### Why did LowCostLoRaGw move from arduinoPi to wiringPi?

Because `arduPi` relies heavily on direct memory accesses that are difficult to port, and the move was needed to support 64-bit operating systems in preparation for embedding advanced AI frameworks. `wiringPi` is now the default low level SPI layer in the source distribution, and both the 32-bit and 64-bit builds were tested for the Raspberry Pi 4 including the CM4.

## Sources

- [CongducPham/LowCostLoRaGw on GitHub](https://github.com/CongducPham/LowCostLoRaGw)
- [Issues](https://github.com/CongducPham/LowCostLoRaGw/issues)
- [README](https://github.com/CongducPham/LowCostLoRaGw/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/congducpham-lowcostloragw
