ESP32 LoRa APRS Modem
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
sh123 99b4f97116
6 days ago
extras Update 6 days ago
include Allow to specify preamble length and select modem type from platformio ini 1 week ago
src Allow to specify preamble length and select modem type from platformio ini 1 week ago
.gitignore Added wide board pcb 6 days ago
LICENSE Create LICENSE 3 years ago Update 6 days ago
platformio.ini Update espressif and libraries to latest versions 1 week ago

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