# 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](https://docs.zephyrproject.org/latest/develop/getting_started/index.html) - [west](https://docs.zephyrproject.org/latest/develop/west/index.html) (Zephyr meta-tool) - Board support package for your target board ### Steps 1. **Initialize Zephyr workspace (if not already):** ```sh west init -l . west update west zephyr-export ``` 2. **Build for your board:** Replace `` with your board's Zephyr name (e.g., `heltec_wifi_lora32_v2`). ```sh west build -b . ``` Example: ```sh west build -b heltec_wifi_lora32_v2 . ``` ## Flashing the Firmware 1. **Connect your board via USB.** 2. **Flash using west:** ```sh west flash ``` (You may need to specify `--runner` or additional options depending on your board.) ## Serial Interface - Default baud rate: 115200 - KISS protocol framing - Connect to `/dev/ttyUSBx` or equivalent on your host ## Directory Structure - `app/` – Zephyr application code - `drivers/` – LoRa radio drivers (e.g., LR11xx) - `boards/` – Board overlays and configuration - `dts/` – Device tree sources - `zephyr/` – Zephyr RTOS (west workspace) ## License See LICENSE file for details. ## References - [KISS TNC Protocol](https://en.wikipedia.org/wiki/KISS_(TNC)) - [Zephyr Project Documentation](https://docs.zephyrproject.org/)