Utilising cheap wireless modules and open source software to communicate over long distances using AX25 and IRC in the unlicensed ISM bands.
-Summary
-Features
-Deployment/Usage
-Contributing
I created this project to allow people to form their own networks that don’t rely on a centralised service provider.
This is ideal for:
-
Privacy minded individuals
-
People living under oppressive governments
-
Remote communities
Using the LoRa radios allow us to reach much further than standard Wifi but at heavily reduced data rates.
You won’t be able to send large files like videos, however the reduced bandwidth of the radios can send data over much further distances.
Link to other Lora Range tests
The small amount of data can still provide us with chat and other basic text services.
LoRachat IRC encrypted
https://youtu.be/R3EcQO4Yrec
Wikipedia Summary Lookup - AX25 LoRa
https://youtu.be/0-O8Qfpu2O0
Simple ncurses menu to operate, no Linux knowledge required.
Internet Relay Chat (IRC) over LoRa radios to chat over long distances
Encrypted IRC Messages
Fetch News, RSS feeds, Wikipedia Summaries from Clients with Internet Connection.
AX25 with TCP/IP networking
Highly Extensible, add your own servers for whatever you like (bandwidth permitting)
link: See my server setup running Mystic BBS, ax25 node, etc
Radio:
RF95 connected via SPI to Arduino with ATmega328
I prefer to use a module with the RF95 pre-soldered, this costs more but the time saved is invaluable.
Premade Modules
Moteino Mega:
https://lowpowerlab.com/shop/product/119
TTGO Lora V2:
Computer:
This should work on any Linux device that allows connection to the radio via UART or USB.
I use a Raspberry Pi Zero W with the radio connected via UART
link to ‘My Hardware’ Page
The Raspberry Pi Zero W allows for many different connection methods.
-
Run a WiFi hotspot for areas without an Internet/Network Connection
-
Use it in Wireless client mode to connect to your existing network.
-
If you connected the radio via UART the spare USB port could be used for the many of the Pi’s OTG modes.
-
Or use the USB port for a network adapter (RJ45 Network Connection etc)
-
Bluetooth to Serial or Bluetooth PAN networking
-
Many other possibilities using the Pi’s GPIO pins
E32-915T30D Lora Long Range UART SX1276 915mhz 1W from CDEBYTE store on Aliexpress:
https://www.aliexpress.com/item/2Pc-Lot-CDEBYTE-915MHz-8000m-Long-Range-SX1276-Wireless-Transmitter-rf-Module-E44-TTL-1W-UART/32802838747.html
Great store on Aliexpress, worth having a look as they often have excellent deals.
Raspbian (debian) Stretch Lite:
https://downloads.raspberrypi.org/raspbian_lite_latest
Arduino-Kiss by Folkert van Heusden:
https://github.com/flok99/arduino-kiss
or instead of Arduino-Kiss by Folkert van Heusden you can try a modified version by Josef Matondang (github: josefmtd) which cleans up the code and makes it more efficient (no CRC etc):
https://github.com/josefmtd/ax25-packet-network
Weechat crypt.py plugin
https://weechat.org/scripts/source/crypt.py.html/
Weechat IRC client
MiniIRCd IRC server
For more of the software used please see the installation instructions: https://github.com/dmahony/Lora-Chat-Device/wiki/Installation-Instructions
Link to Installation Instructions: https://github.com/dmahony/Lora-Chat-Device/wiki/Installation-Instructions
This project is completely open source, contributions are encouraged.
Please contact me at [email protected]
TODO list:
Create installation script with prompts to set callsign, IP address, UART or USB radio connection etc.
Create a Printed Circuit Board that holds a cheap Arduino / esp32 and LoRa chip
Maybe a web interface? There is an excellent frontend for WeeChat called GlowingBear:
https://github.com/glowing-bear/glowing-bear
(May need modification to work offline)
Modify linux AXcall program to not require valid Amateur radio callsigns, current workaround is to use a valid callsign as the source address.
Create Minimal sized image for fast deployment