2c5f875f23825bdbf910c9f68331602db38bd546
LoRa KISS Modem
This project implements a KISS (Keep It Simple Stupid) modem for LoRa radios, targeting widely available commercial development boards (e.g., Heltec, RAK, Seeed, ESP32, nRF52840). It bridges a KISS serial interface to a LoRa radio, enabling packet radio applications over long-range wireless links.
Features
- KISS TNC protocol over UART/USB serial
- LoRa radio support (Semtech LR11xx and compatible)
- Zephyr RTOS-based for portability and reliability
- No dynamic memory allocation (static stack/heap usage)
- Designed for low-power, embedded use
Hardware Requirements
- Supported LoRa development board (e.g., Heltec, RAK, Seeed, ESP32, nRF52840)
- LoRa radio module (LR11xx or compatible)
- USB or UART connection to host
Building the Firmware
Prerequisites
- Zephyr SDK
- west (Zephyr meta-tool)
- Board support package for your target board
Steps
- Initialize Zephyr workspace (if not already):
west init -l . west update west zephyr-export - Build for your board:
Replace
<board>with your board's Zephyr name (e.g.,heltec_wifi_lora32_v2).Example:west build -b <board> .west build -b heltec_wifi_lora32_v2 .
Flashing the Firmware
- Connect your board via USB.
- Flash using west:
(You may need to specify
west flash--runneror additional options depending on your board.)
Serial Interface
- Default baud rate: 115200
- KISS protocol framing
- Connect to
/dev/ttyUSBxor equivalent on your host
Directory Structure
app/– Zephyr application codedrivers/– LoRa radio drivers (e.g., LR11xx)boards/– Board overlays and configurationdts/– Device tree sourceszephyr/– Zephyr RTOS (west workspace)
License
See LICENSE file for details.
References
Description
Languages
C
92.9%
CMake
7.1%