-
Notifications
You must be signed in to change notification settings - Fork 39
First steps into APRS over LoRa
LoRaPRS is a APRS over LoRa project with the goal to have operational APRS LoRa client terminals and APRS LoRa iGate, which is both RX/TX capable and has digipeating support.
Client APRS terminal is headless ESP32-WROOM based KISS serial bluetooth modem with LoRa custom made shield, which operates in conjustion with APRSDroid application on the user mobile phone over bluetooth connection. It is also possible to use modem with any existing APRS software over KISS bluetooth serial connection on Linux systems, such as PC or Raspberry PI.
APRS LoRa iGate is a full standalone ESP32 iGate with RX/TX and digipeating support. It is capable of forwarding APRS packets from LoRa RF into APRS-IS network and vise versa. Plus, it supports digipeating to support larger coverage. Connectivity to Internet and APRS-IS server is done through WiFi connection natively supported by ESP32 platform.
There are several bands, where different LoRa modules could operate:
- [✗] ~160-173.5 MHz, untested, outside of amateur and ISM radio band plans, not possible to use, E32-170T30D modules, https://www.manualslib.com/manual/1606382/Ebyte-E32-170t30d.html
- [✓] ~410-480 MHz, 433.775 MHz is the center of operation inside the amateur radio band plan in IARU1 region (EU/US)
- frequency of operation is choosen based on proposal from https://vienna.iaru-r1.org/wp-content/uploads/2019/01/VIE19-C5-015-OEVSV-LORA-APRS-433-MHz.pdf
- maximum bandwidth in IARU1 region for 433 MHz band is limited to 20 KHz, which requires stable TXCO sources or automatic frequency correction, it might also be possible to run at 125 KHz depending on the region and local band plan
- [✓] ~868 MHz, untested, outside of amateur radio band plan, but possible to run using ISM band plan
- [✓] ~915 MHz, untested, operation inside the amateur radio band plan in IARU2 region (US)
- [✓] ~2400 MHz, untested, inside the amateur band plan, also possible to run using ISM band plan, E28-2G4M27S modules, https://www.manualslib.com/manual/1591128/Ebyte-E28-2g4m27s.html
LoRa modules support various SF (spreading factors) and various bandwidths, table below summarizes possible options, with the maximum reasonable speed and signal level:
- 433 MHz: ranging from 292 bps (SF9, -138 dbm) up to 1560 bps (SF6, -128 dBm) for legal 433 MHz 20kHz channel
- 868/915MHz: ranging from 293 bps (SF12, -137 dbm) up to 9375 bps (SF6, -118 dBm) for legal 868 Mhz 125kHz channel
- 2400Mhz: up to 2 Mbps, up to 27 dBm
Test modem was constructed based on ESP32-WROOM dev board and custom made Ra-02 SX1278 shield. 3.3V/GND was provided from the ESP32. For data pinouts next connectivity was used from LoRa to ESP32, SS/RST/DIO0 could be overriden in software:
- SS: GPIO_5
- RST: GPIO_26
- DIO0: GPIO_14
- MOSI: GPIO_23/VSPI_MOSI
- MISO: GPIO_19/VSPI_MISO
- SCK: GPIO_18/VSPI_SCK
Open esp32_loraprs.ino and modify config based on instructions from README.md
Multiple practical successful tests were performed and LoRa modem running at just about 60-100 mW with 20kHz/SF9 or 125kHz/SF12 has comparable range to existing 5W APRS AFSK at 1200 bps, but requires much less power, so can be powered from solar power source. With some additional work and deep sleep ESP32 mode could operate for days from the battery.