LoRa Chat

LoRa Chat is a low-power, long-range wireless chat system developed for my 3rd-year dissertation project at Swansea University. It uses the LoRa radio standard to provide a wide-area text-chat network.


The project aimed to address the issue of poor wireless communications coverage in remote rural areas. This system would provide a baseline service of simple text communications.
The primary considerations were that any system must be cheap and low-power, to ensure availability to any who need it, and to reduce the reliance on existing infrastructure.


The network uses four main components:

1. Client Device

A client device such as a phone, laptop, or tablet is used to connect to the network over a WLAN. This device may then be used to send and recieve messages.

2. Gateway Node

A gateway node is a small device that clients connect to. It is made up of an ESP32 micro-controller and an RFM95W wireless transciever.

This hosts a WLAN which clients connect to. They can send messages to it, via local website or websocket. The gateway uses its transciever to broadcast these messages to the network over LoRa sub-Ghz radio, and forwards any responses to connected clients.

3. Endpoint Node

An endpoint node is another ESP32- and RFM95W-based device. It is connected to a central chat server, either over LAN, or over a regular internet connection.

This device recieves LoRa messages relaying them to the server, and broadcasts messages from the server to the gateway network.

4. Chat Server

The central chat server processes messages, allowing for chat-history storage, moderation, and enabling the network to also be accessible over the internet to remote users.

A diagram of the LoRaChat network structure.

The structure of the LoRa Chat network

A photo of the ESP32 and RFM95W devices used for Gatway and Endpoint nodes.

The devices used for Gateway and Endpoint nodes

A screenshot of a windows chat app for LoRa Chat.

A windows chat application for LoRa Chat