Installation

Requirements

Hardware

LoRaDomo supports the following ESP32 LoRa boards out of the box — all pins are pre-configured, no wiring needed:

Board MCU Radio UI name
Heltec WiFi LoRa 32 V2 ESP32 SX1276 "Heltec V2"
Heltec WiFi LoRa 32 V3 ESP32-S3 SX1262 "Heltec V3"
Heltec WiFi LoRa 32 V4 ESP32-S3 SX1262 "Heltec V4"
TTGO LoRa32 V1 ESP32 SX1276 "TTGO V1"

You need at least two supported boards: one acting as the gateway, the others as nodes. Boards can be mixed freely on the same network.

The board is auto-detected from your IDE or PlatformIO board selection. If auto-detection fails, add one of these defines in your sketch before any #include:

#define LORADOMO_HELTEC_V2
#define LORADOMO_HELTEC_V3   // or LORADOMO_HELTEC_V4
#define LORADOMO_TTGO_V1

Software


Library Installation

  1. Open Arduino IDE
  2. Go to Tools → Manage Libraries (or Sketch → Include Library → Manage Libraries)
  3. Search for LoRaDomo
  4. Click Install
  5. Done — dependencies are installed automatically if prompted

Option B — Arduino IDE (ZIP)

  1. Download LoRaDomo_v1.1.0.zip
  2. Open Arduino IDE
  3. Go to Sketch → Include Library → Add .ZIP Library
  4. Select the downloaded ZIP
  5. Done — the library appears under Sketch → Include Library → LoRaDomo

Option C — PlatformIO

Add to your platformio.ini:

lib_deps =
    https://github.com/Mizar03110/LoRaDomo

Or by the the Arduino registry:

lib_deps =
    LoRaDomo

Dependencies

The following libraries must be installed separately:

Library Install name Purpose
RadioHead RadioHead SX1262 LoRa driver
PubSubClient PubSubClient by Nick O'Leary MQTT client
WebSockets WebSockets by Markus Sattler WebSocket server
ArduinoJson ArduinoJson by Benoit Blanchon JSON for WebSocket UI

In Arduino IDE, install each via Tools → Manage Libraries.

In PlatformIO:

lib_deps =
    https://github.com/YOUR_USERNAME/LoRaDomo
    mikem/RadioHead
    knolleary/PubSubClient
    links2004/WebSockets
    bblanchon/ArduinoJson

MQTT Broker

The gateway requires a running MQTT broker on your local network. MQTT is a lightweight publish/subscribe messaging protocol widely used in home automation.

A popular choice is Mosquitto:

# Raspberry Pi / Debian
sudo apt install mosquitto mosquitto-clients
sudo systemctl enable mosquitto

Minimal /etc/mosquitto/mosquitto.conf:

listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd

Create a user:

sudo mosquitto_passwd -c /etc/mosquitto/passwd myuser

The gateway connects to the broker and publishes sensor values on structured topics. Your home automation controller (Home Assistant, Jeedom, Domoticz, Node-RED, etc.) subscribes to those topics to receive data.


Verify Installation

Upload the Gateway example to one board and the Node example to another. Open the Serial Monitor (115200 baud) with debug enabled.

You should see on the node:

[Node] begin() - radio OK freq=868.0MHz tx=13dBm
[Node] begin() - name='living_room' id=0x... key=0x...
[Node] addSensor() - id=1 type=2 name='temperature' interval=30s act=no read=no
[Node] sendNodePresent() - id=0x... name='living_room'

And on the gateway:

[GW] begin() - name='home' mqtt=192.168.1.10 ssid=MyWifi
[WiFi] Connecting...
[MQTT] Connecting... OK
[GW] handleNodePresent() - node accepted: id=0x... name='living_room' rssi=-24
[GW] sendAckNode() - ACK_NODE -> 0x...

Open a browser and navigate to the gateway's IP address to see the web dashboard.