I was often intrigued with the possibilities of using LoRa as an alternative form of communication for situations where the standard communication services were not available. This is especially important in disaster situations like fires, earthquakes, floods or anything else where there might not be power for the cell service or where communication is needed in areas without cell service in the first place.
So, when Reyax offered to send me the RYLR999 BLE and LoRa module for me to test, I immediately knew the project I will make with it and started working on creating a BLE to LoRa gateway that I paired with and Android application to create an off-grid messenger system.
What You’ll Need
To make the gateways, the only thing you will need is the RYLR999 module from Reyax. It can be found on the links below:
Understanding the Reyax BLE+LoRa Module
The Reyax RYLR999 BLE+LoRa module represents an innovative integration of Bluetooth Low Energy (BLE) and LoRa technologies in a single compact form factor. This dual-radio solution enables seamless conversion between short-range BLE communications and long-range LoRa transmissions, making it ideal for IoT applications requiring both local device connectivity and extended wireless range.
The module can be interacted via UART and through simple AT commands, users can configure network parameters, radio settings, and data routing between the BLE and LoRa interfaces.
The module features industry-standard UART interfaces for both radios, SMA antenna connectors for optimal RF performance, and supports regional ISM bands (868MHz/915MHz). With 20dBm BLE output power and up to 30dBm LoRa transmission capability, it delivers reliable connectivity for diverse deployment scenarios, from urban environments to remote field applications.
What makes this module special is the compatibility it has between the two interfaces and how the pins are placed on the board. Using simple pin jumpers, we can bridge TX from the BLE interface to RX of the LoRa interface and vice-versa so whatever we send to BLE, will be received by the LoRa interface and whatever is received via LoRa, will be sent to the BLE device. Just like that, with two simple jumpers, we've created a bridge that we can then use from BLE with a mobile phone, without adding any microcontroller in the build.
Setting Up the Modules
To configure the modules, you'll need to connect each module to a USB-to-serial adapter. Make sure to connect TX to RX and vice versa between the adapter and module, and don't forget to attach the antennas before powering anything on.
For initial testing, I recommend using Reyax COMFORT software to communicate with the modules. You'll need to configure each one with a unique address and matching network ID - I typically set one as address 1 and the other as address 2, both on network ID 1. The key commands you'll use are AT+ADDRESS to set the ID and AT+NETWORKID to configure the network. Here are all the commands that you need:
AT+ADDRESS=1 AT+NETWORKID=1 AT+BAND=868000000,M
For the BLE configuration, the only thing you will need is to set the module name to be recognizable when searching for a BLE device. This can easily be done by issuing the 'AT+NAME' command like so:
AT+NAME=RYLR999_DEV1
Once both modules are configured, you can test the connection by sending basic AT commands between them. I like to start with simple messages like "AT+SEND=1,5,HELLO" to verify communication works before moving on to the Bluetooth integration.
Android Test Application
For testing the communication between devices, I developed a simple Android application that connects to the Reyax module via Bluetooth. The app has just two main functions - sending typed messages to the paired module and displaying incoming messages received through the LoRa network. You don't need advanced programming skills to use it, as I've kept the interface straightforward with just a connection button, message field, and display area.
The magic happens through standard Bluetooth GATT operations. When you press send, the app takes your text message and packages it into the proper AT command format that the Reyax module understands. I used the basic "AT+SEND" command structure, where you specify the target address, message length, and content. The receiving module then automatically converts this to a LoRa transmission and sends it to the other unit because we've already jumped over the contacts of the two interfaces.
On the receiving end, the module receives incoming LoRa messages and since the interfaces are bridged, it sends to the BLE interface. The app listens for these notifications and displays them in real time. I tested this with two smartphones, each connected to separate Reyax modules, and was able to maintain communication over several kilometers. The entire system works without internet access, making it perfect for emergency situations or remote locations. You can find the complete source code for this test application in the project's GitHub repository.
Building the Enclosure
To make the enclosure for the modules, I've used an electrical box and I placed the two antennas on the lid. Inside the box, I used two 18650 lithium cells with a TP4056 module with built in step up circuit to power on the RYLR999 module.
A switch is added between the batteries and the module so that it can be completely turned off when not needed.
This setup makes the gateway portable and easy to be carried around, placed where needed and independently powered for situations where power is not available.
Real-World Range Testing
To test out the modules communication and range, I placed one of the gateways outside on my balcony as per usual in my tests and I had my son helping from home, where he had his phone connected to the BLE interface of it.
The other gateway I took with me and drove out to several locations in the valley in front of my house. The first test I made at a distance of around 750 meters, the second at 8 kilometers and the last and final test was on 16 kilometers. Each time, the modules were able to communicate with each other and they were able to exchange messages via the Android app. Since I've already done similar tests with other LoRa modules from Reyax, I was confident that the RYLR999 module will perform just as good if not better than the previous modules.
Conclusion
After putting this Bluetooth to LoRa gateway through its paces, I'm genuinely impressed by how well it performs. What started as a simple experiment turned into a reliable communication system that works when traditional networks fail. The Reyax modules made the technical side surprisingly straightforward - no complex coding, just clean hardware design and sensible AT commands.
The real-world tests proved this isn't just a theoretical exercise. Being able to send messages across 16 kilometers without any cellular infrastructure opens up so many practical applications. Whether it's for emergency responders, remote job sites, or outdoor adventures, this system gives you peace of mind when you need it most.
If you're looking for an off-grid communication solution, I highly recommend trying this build. All the resources - from wiring diagrams to the Android app code - are available for free. It's one of those projects that's both satisfying to build and genuinely useful to have. I'll be keeping mine in my emergency kit, and I'm already thinking about ways to expand its capabilities.
Also, if you try to make it for yourself, keep in mind that the app is only developed as a proof of concept and it is not production ready nor it is intended to be. If you have interest in making it better or expanding it, feel free to contact me or propose a pull request.