ESP32 LoRa APRS Modem
Go to file
sh123 77515ce9f7 Merge branch 'master' of 2023-08-09 17:12:40 +03:00
extras Update 2023-03-18 22:16:29 +02:00
include Allow to specify preamble length and select modem type from platformio ini 2023-03-15 08:26:07 +02:00
src Allow to specify preamble length and select modem type from platformio ini 2023-03-15 08:26:07 +02:00
.gitignore Added wide board pcb 2023-03-18 22:09:23 +02:00
LICENSE Create LICENSE 2020-06-24 15:14:52 +03:00 Update 2023-03-18 22:15:40 +02:00
platformio.ini Added lora32-v2 env 2023-08-09 17:12:21 +03:00

ESP32 LoRa APRS Modem

Modes of operation

This project is amateur radio ESP32 based LoRa KISS Bluetooth/BLE/USB/TCPIP modem + LoRa APRS-IS RX/TX iGate server over WiFI + LoRa APRS digipeater + Codec2 DV modem (with Codec2 Talkie Android application).

To configure sketch modify default parameters in config.h file.

⚠ Project also supports APRSDroid TNC2 text APRS packet mode (configurable), which makes it interoperable with other LoRa APRS trackers without AX25 support.

Supported module types: SX126X, SX127X and other modules supported by RadioLib.

Modules, which are used by users and known to work

  • SX126X (suggested, 1W modules will provide decent coverage for APRS, stable frequency suitable for < 125 kHz BW at 433 MHz, 5V from USB power bank is enough to power it, has additional LNA)
  • SX127X (low power, 50-100mW, temperature frequency drift, problematic for narrow band)
    • RA-01 (SX1278)
    • RA-02 (SX1276)
    • TTGO T-Beam (SX1276)


  • Update include/config.h with your radio settings
    • If you are using lora-aprs iGate (non AX.25) then set CFG_TEXT_PACKETS and CFG_TEXT_PACKETS_3 config parameters to true and use APRSDroid TNC2 connection protocol
  • To build for client/tracker mode use pio run -e esp32dev
  • To build for iGate mode use pio run -e esp32dev_igate

Development board

Development board schematics, case and antenna models are available under extras/cad and extras/schematics.

Supported ESP32 boards are with 36 and 38 pinouts (configured with solder pads).

There are ESP32 boards with different socket widths: 22mm and 25mm, board files for 25mm have _wide suffix in file names.

Modes of operation