LowCostLoRaGw
Low-cost LoRa IoT & gateway with SX12XX (SX1261/62/68; SX1272/76/77/78/79; SX1280/81), RaspberryPI and Arduino boards
Install / Use
/learn @CongducPham/LowCostLoRaGwREADME
Low-cost LoRa IoT framework developed in the EU H2020 WAZIUP/WAZIHUB projects
<img src="https://github.com/CongducPham/LowCostLoRaGw/blob/master/images/WAZIUP.png" width="300"> <img src="https://github.com/CongducPham/LowCostLoRaGw/blob/master/images/wazihub.png" width="300"> <img src="https://github.com/CongducPham/LowCostLoRaGw/blob/master/images/hubiquitous.png" width="300"> <img src="https://github.com/CongducPham/LowCostLoRaGw/blob/master/images/intel-irris-logo.png" width="300">
We are not maintaining this repo anymore
First of all, thank you for all the stars you gave us! We started the work on low-cost LoRa gateway back in 2015. It has been a great challenge for us and we learned a lot. We also hope that this early work has been useful for you in your projects. As we collaborated with WAZIUP e.V. on the development of a more efficient gateway software, some of our code served as foundation for a new development line called WaziGate by WAZIUP e.V. team who is doing a great work! In 2021, we completely shifted to this WaziGate distribution to build the edge-enabled LoRa gateway for the PRIMA INTEL-IRRIS project. You can read more detail on the dedicated INTEL-IRRIS GitHub repo. Then, in 2025, as our works in INTEL-IRRIS are continuing in the PEPR AgriFutur project, at time of writing, the latest edge-enabled gateway we are building on top of the general WaziGate framework provided by WAZIUP e.V is available from the dedicated PEPR AgriFutur GitHub. Check our latest development on this GitHub repo.
News from EU commission
-
April 12th, 2022. European Internet of Things technology supports innovation in Africa: two EU-Africa innovation projects have succeeded in rolling out advanced digital technologies to support entrepreneurship in sub-Saharan Africa.
-
June 19th, 2020. The low-cost, low-power and long-distance cattle collar developed in the EU H2020 WAZIUP project has been identified by the European Commission's Innovation Radar! See more information at the end of this page.
Latest news
-
NEW-Dec22 Both the 32-bit OS and the 64-bit OS have now been upgraded and tested for RPI4 (including CM4). See README for RPI4 and/or 64-bit OS.
-
NEW-Oct21 We have now a beta version of the whole low-cost Raspberry-based gateway with embedded advanced AI frameworks. The embedded AI framework will be used in PRIMA INTEL-IRRIS project to build low-cost and smart irrigation systems for smallholders. Follow INTEL-IRRIS Twitter channel for updates. See README on AI framework. Download the 64-bit RaspiOS SD image to be flashed on a 32GB class 10 SD card, see below for download links.
-
NEW-Jan21 To provide support for next 64-bit OS, the low-level SPI library on the Raspberry gateway has moved from Libelium's
arduPilib to Gordon'swiringPilib becausearduPirelies heavily on direct memory accesses that are difficult to port. The main reason for 64-bit OS is to prepare the whole low-cost Raspberry-based gateway to embed advanced AI frameworks that are mostly based on 64-bit OS. See README for RPI4 and/or 64-bit OS.wiringPiis now the default low-level SPI layer in the GitHub source distribution. -
NEW-Nov20 To support the new SX126X and SX128X LoRa chips, we updated and added Arduino ProMini PCBs to easily connect NiceRF SX1262 and NiceRF SX1280 modules. These modules have same size than the HopeRF RFM95W for SX1276.
-
NEW-Oct20 The low-level radio communication library has moved to the SX12XX LoRa library from Stuart Robinson in order to build devices and gateways with SX126X, SX127X and SX128X LoRa chip. The default gateway program is compiled for an SX127X based module using the SX12XX library. This is a major move to provide support for the most recent LoRa chips including those for 2.4GHz LoRa. See README on porting to SX12XX library.
Quick start
- Beta version of RaspiOS (Debian Buster 64-bit) with AI framework is ready for testing! It has everything you need (all features of 32-bit version) + the embedded AI framework. zipped 8GB SD card image from GoogleDrive. The image is about 3GB for download. You can take the 8GB image for flashing on 16GB or 32GB SD card and use
raspi-configto expand the file system. - The current SD card image (Debian Buster 32-bit) has everything you need! zipped 8GB SD card image from GoogleDrive. To be flashed on a 8GB class 10 SD card. See installation section.
- Use the single-channel gateway for LoRaWAN-like communication (including downlink) with LoRa 2.4GHz. Upload to TTN or ChirpStack network servers. See README
- Use the single-channel gateway for limited LoRaWAN (including downlink and OTAA feature) on the 433MHz band for devices with our modified LMIC
- The single-channel gateway now also provides LoRaWAN downlink and OTAA features for devices with our modified LMIC. See updated README
- Includes support of the open-source ChirpStack LoRaWAN Network Server, see README
- Support of multi-channel RPI SX1301 LoRaWAN gateway: benefit from the open, versatile, multi-cloud Low-cost LoRa IoT framework with the flexibility and scalability of a multi-channel LoRaWAN gateway, see README
- We have a new online Arduino-Sensor-LoRa tutorial and here is the direct link to the LoRa part
- Read the Low-cost-LoRa-device leaflet
- Read the Low-cost-LoRa-GW leaflet
- Look at the Low-cost-LoRa-GW web admin interface tutorial. For most end-users, the web admin interface is sufficient to configure and manage the gateway. For instance, to configure a new gateway, it is recommended to use the web admin interface to update the gateway software and to run the basic configuration procedure as described here
- The rest of this README file contains additional information to better understand the proposed low-cost IoT framework.
PCBs
In order to facilitate connection between an Arduino board or a RaspberryPI and the well-known RFM95W (SX1276) LoRa radio module, we developed simple PCBs for Arduino ProMini, Arduino Nano and RaspberryPI and make them freely available.
The first PCB is a simple RFM95W breakout with header pins for both the Raspberry (mainly to make a gateway) and Arduino boards. The RFM95W breakout initially designed for the HopeRF RFM95W (referred to as old RFM95W breakout) can actually also host the recent NiceRF SX1262 as both radio modules have similar pinout. However, we updated the old RFM95W breakout's wiring to also expose DIO2 and DIO1 on the Raspberry header to better support the NiceRF SX1262 module (DIO2 location on the RFM95W is the BUSY pin on the NiceRF SX1262 and DIO1 pin is used for RX/TX done interrupt on the NiceRF SX1262 instead of the DIO0 pin on the RFM95W). BUSY pin is needed for the SX126X so if you are using the old RFM95W breakout you need to solder a wire. Our modified communication library does not need DIO1 pin. When updating the RFM95W breakout we also added a 4-pin header to easily connect a small OLED screen to a Raspberry using the I2C bus (SCL and SDA pin).
We also made a variant to support the NiceRF SX1280 module which provides LoRa modulation on the 2.4GHz band (I really don't know why the SX1280 did not use the same pinout than the SX1262 which is similar to the RFM95W!). All these breakout PCBs are illustrated in the following figure.

These PCBs can therefore be connected to the GPIO header row of the Raspberry as shown below. Pins on the Raspberry for RST, CS (or NSS), DIO2/BUSY and DIO1 are shown.

These breakouts can also be used for Arduino boards as it will be explained in Section [connect a radio module to your end-device](https://github.com/CongducPham/
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
