Files
loramodem/README.md
maze 45d1364a71 Add XIAO Wio-SX1262 overlay; support SX12xx bandwidths (including 62.5 kHz) as default
- boards/seeed/xiao_wio_sx1262: add overlay, .conf, board.yml
- app: support full set of SX12xx bandwidths; default BW set to 62 (62.5 kHz)
- Update Kconfig and prj.conf
- Update lora_modem.h/c for validation and mapping
2026-03-26 13:01:47 +01:00

68 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 `<board>` with your board's Zephyr name (e.g., `heltec_wifi_lora32_v2`).
```sh
west build -b <board> .
```
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/)