GithubHelp home page GithubHelp logo

iz7boj / rpi-lora-kiss-tnc-2ndgen Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 5.0 833 KB

LoRa python-based KISS TNC for 1st and 2nd generation LoRa Modules (SX127x/SX126x)

License: GNU General Public License v3.0

Python 100.00%

rpi-lora-kiss-tnc-2ndgen's Introduction

RPi-LoRa-KISS-TNC-2ndgen

Raspberry Pi LoRa KISS TNC

This software emulates a KISS TNC and controls a hardware LoRa transceiver of 1st and 2nd generation (SX127x/SX126x) connected to the Raspberry´s SPI. That makes it possible to use existing APRS software, like aprx or direwolf, with LoRa radio communication, in order to build a powerful APRS digipeater with possibility to mix legacy FSK 1200bps with new Lora technology.

The software shall be executed together with the APRS digi APRX, which connects via "KISS over TCP" and provides powerful APRS digipeating and I-gate functionality for LoRa-APRS.

The Software keeps the compatibility with both standard AX25 packets and Austrian team packet style (called "OE_style").

Hardware compatibility

The LoRa KISS TNC runs on Raspberry Pi 2 or newer together with the SX126x/SX127x LoRa Modules. 128x64 I2C Display (based os SSD1306chipset) is supported for showing last rx/tx packets. Can be enabled/disabled inside config.py

Theoretically, all LoRa modules using SX127x (RFM9x) or SX126x series (SX1261, SX1262, SX1268) or LLCC68 will compatible. However, I personally tested the following configuration:

  • Raspberry Pi3
  • Ebyte E22-400M30S Lora Module
  • RFM96 Lora Module

Most useful and used parameters can be changed inside config.py. Specific section for sx127x/sx126x are present.

A Hat PCB has been developed by Michele I8FUC, however LoRa modules can be wired up to the Raspberry Pi directly aswell. See the schematic and the images images for further details. Note that the GPIO assignment in config.py refers to this schematic. Change it in case of custom assignment.

Wiring Connections

Power pins, SPI pins, RESET, IRQ pins must be connected between RPi and LoRa module in both sx126x/127x cases. The default SPI port is using bus id 0 and cs id 0. DIO1 must be connected for both sx127x/sx126x because is used as RX IRQ. BUSY, TXEN and RXEN must be connected in case of SX126x Ebyte module because are used to manage the RX/TX switch of the module

Note: The GPIO pins are declared with Broadcom pin numbering, they does not indicate the position on the physical connector! To see the correspondance between them, see: https://pinout.xyz/

Installation

Read INSTALL.md for complete Software and Lora/display libraries installation guide

To Do

  • Get buttons working

Credits

This software is an evolution of KISS TNC made by TOM OE9HTK for Lora 1st generation module: https://github.com/tomelec/RPi-LoRa-KISS-TNC Thanks TOM for nice work and starting idea

The PCB is designed by Michele I8FUC. Thanks Michele for nice design and support during Software testing.

rpi-lora-kiss-tnc-2ndgen's People

Contributors

iz7boj avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.