Saturday, December 26, 2020

LoRa APRS - part 3: Raspberry PI (3 or 4) image - ready to use with LoRa & 2m APRS and OpenWeb RX ( RTL-SDR )

Project description
It is exactly one year from my first LoRa APRS test. Thanks to Ondra OK1CDJ who sent me first device for testing. I have opened Facebook room about LoRa APRS a few weeks ago. Thanks this more and more people are interested to try it. That's why I have decided to prepare Raspberry PI (3 or 4) SD card image for PnP - you need to change your station data. You can use this image for LoRa APRS iGate based on IOT4pi project, also 2m (70cm) classic APRS based on RTL-SDR and OpenWeb RX.

All of my LoRa APRS blog posts here.

Download image and upload it to the SD card
At first you need to download image and upload it to SD card. You need 32 GB 8 GB (rev. 3) or bigger one. I recommend to use Samsung EVO or some similar higher quality card.

You can find last image here.
Download image from the link on this page and unZip it.

Then you need to copy it to the SD card. This is for windows users :) So please download and install this software: Win 32 disk Imager

Now you can insert SD card to PC, start Win32DiskImager and open UnZipped image. Select right Device (microSD card) and press Write. If you see error, eject and insert SD card again.

After that you can insert microSD card to Raspberry PI and start it. If the Raspberry is connected to LAN you need to find its IP address. You can find it in your router (DHCP clients), using some LAN IP scanner or connect HDMI monitor.

If you use LAN connection, download and run Putty.
Write right IP address and press Open. You will see information about certificate - do agree.
Write username: pi and password: raspberry 
Now you should be logged in:

It is highly recommended to change password by: passwd
Write current one: raspberry and write your new one.

If you have bigger SD card than 32 GB you should resize partition. 
You can check free space by: df -h
Resize card: sudo raspi-config

You can run Midnight Commander: mc

RTL-SDR device: test and calibration
Test if you can see RTL-SDR(s): sudo lsusb
You can see my two devices connected:

Calibration: sudo kal -d 0 -s 900
Means -d 0 is first RTL-SDR, -d 1 is the second one. -s 900 means calibration on 900 MHz GSM

Calibration using one of the scanned chanels: kal -d 0 -c 45

You can see my RTL-SDR frequency mistake. This one has internal TCXO, so it is very stable compare to cheaper plastic one. You can use this value to 2m APRS and OpenWEB RX.

LoRa APRS 70 cm based on IOT4pi
More about this project is here.
Tested with Raspberry PI daughterboard by Ondra OK1CDJ - , with RFM-96 (433MHz) You can use also I2C oled display + buttons.

Configuration file is located in: /home/pi/iot4pi
File is: sudo nano APRS.conf 

You can start IOT4pi with output to screen by: sudo ./iot4pi_LoraGW_01 (end CTRL + C)

APRS (2m or 70cm) with the PYMULTIMONAPRS
You can test RTL-SDR with raw decoding to screen: 
sudo rtl_fm -f 144.800M -s 22050 - | multimon-ng -a AFSK1200 -A -t raw -  (end CTRL + C)

Configuration file is located in: /home/pi/rtl/pymultimonaprs 
File is: sudo nano pymultimonaprs.json 

You have to change: 
 - callsign: yourcall-10 (can have different number)
 - ppm: more in calibration info
 - gain: check gain you need with OpenWeb RX
 - device_index: number of RTL-SDR - 1st is 0, 2nd device is 1 etc. There can be two RTL-SDR, one for 2m APRS and second for OpenWeb RX. 
 - lat, lng position: click on map and add point - this will show you position
 - comment and text is up to you

Save configuration by CTRL + O (enter) and CTRL + X. 
Copy config file to /etc by: sudo cp pymultimonaprs.json /etc/pymultimonaprs.json

Manual start with output on screen:  
sudo pymultimonaprs -v (close with CRTL + C, later could start after boot)

Some more info at: this link

OpenWeb RX - web based receiver (RTL-SDR)
OpenWeb RX allows you to use RTL-SDR as web based receiver. You can have more frequency profiles, you can use also internal decoders like: WSJT-X, DMR, D-STAR, FreeDV, Packet Radio (can works as APRS iGw too) etc. 

Configuration file is located in: /home/pi/rtl/openwebrx file is: (open with F4)

Configuration instructions are here.
If you use more RTL-SDR in one Raspberry PI, then select different device index (-d 0 or 1) for 2m APRS and OpenWeb RX. I recommend to use first for OpenWeb RX and second for PYMULTIMONAPRS.

Manual start with output on screen: (close with CRTL + C, later could start after boot)

You can open your browser: raspberry_IP:8073    example:

Automatic start after the boot:
There is file where you can uncomment what do you like to start after the boot automatically:
File: sudo nano /etc/rc.local
Example for IOT4pi auto start

Example for 2m APRS and LoRa Igate

All together :

My instalations:


- Raspberry PI with LoRa APRS, RTL-SDR for 2m APRS and RTL-SDR for OpenWeb RX
- Wideband LNA + FM notch filter + 3-way CATV splitter. Lora has 433MHz BPF.
- Antenna is dualband X-30

OK2ZAW-2 & OK2ZAW-4 Cottage

- Raspberry PI with LoRa APRS and RTL-SDR for 2m APRS.
- Wideband LNA  + 2-way CATV splitter. Lora has 433MHz BPF.
- Antenna is dualband X-30

Wednesday, December 9, 2020

LoRa APRS - part 2: TTGO Lora32 as iGate  & Digipeater 

There is some small info about cheap LoRa APRS iGate or Digipeater on small TTGO board. This board is used at my Digipeater in the Eagle Mountains as OK2ZAW-17. All HW is solar powered with 4 Ah / 12 V. Power consumption is around 0,035 A / 13 V what is around 11 W per day. Lets see how the solar power system could work in 1100 m asl during the winter time. More at

Github project by Peter Buchegger: LoRa APRS iGate (link)

- Check supported boards

- There is quick start in german: Installation notes

Installation step by step:

(There are also notes, how to uploade code - tracker  - LINK here )
- Download project code (ZIP file): link here

- Download and install PlatformIO IDElink here

- When installed open IDE, go to left side and click Extensions - search PlatformIO and install it

- Then click to "UFO head"

- Right side: Import Arduino Project

- Select board you would like to use and open project 

- In data/is-cfg.json you have to set what do you need:
- iGate or Digipeater, position, call, wifi etc.
- for Digipeater set: digi/active to true
- for APRS iGate set: aprs_is/active to true, than password and server setting

- In platformio.ini you need to select right board. After upload you will see if LCD works :)

- Then you can try Compile and Upload - you have to connect board to USB firts

- LCD should be:

- This means, than you uploaded code, but not configuration - half win :)
- Lets upload configuration file - you must do it anytime when you change Data file

- Now you should be online :) - Digipeater configuration

Thanks a lot to Pavel OK1PHU for help :) I was going crazy from PlatformIO :D

 LoRa APRS on 70 cm - part 1: Informations

The LoRa® modulation is a spread-spectrum technique that uses wideband linear frequency modulated pulses to encode information, whose frequency increases or decreases over a certain amount of time.
As with other spread-spectrum modulation techniques, LoRa® uses the entire channel bandwidth to broadcast a signal, making it robust to channel noise. In addition, because LoRa® modulation uses a broad band of the spectrum, it is also resistant to long term relative frequency error, multi-path fading and Doppler effects.

LoRa ARPS on spectrum with 433 MHz wireless sensors in the city

Some useful websides:

LoRa APRS Gateway on Raspberry PI

- You can run also 2m APRS (RTL-SDR)
- Web based SDR (RTL-SDR)

LoRa APRS Gateway on TTGO board

- Smaller power consumption compare to raspberry PI
- Cheaper

My instalations:


- Raspberry PI with LoRa APRS, RTL-SDR for 2m APRS and RTL-SDR for OpenWeb RX
- Wideband LNA + FM notch filter + 3-way CATV splitter. Lora has 433MHz BPF.
- Antenna is dualband X-30

Coverage OK2ZAW-1 December 2020

OK2ZAW-2 & OK2ZAW-4 Cottage

- Raspberry PI with LoRa APRS and RTL-SDR for 2m APRS.
- Wideband LNA  + 2-way CATV splitter. Lora has 433MHz BPF.
- Antenna is dualband X-30

Coverage OK2ZAW-2 December 2020

OK2ZAW-17 LoRa Digipeater in Eagle Mountains

- Unter first testing - missing MPPT solar charger
- TTGO Lora32
- 4 Ah / 12 V Pb aku + 10 W solar panel - 0,035 A @ 13 V
- QTH: Koruna JO80fg 1100m asl, antenna 2m above gnd
- Antenna is dualband X-30

OK2ZAW-15 solar powered WX station in Eagle Mountains

LoRa APRS coverage of all GW in OK (Dec. 2020)

ALL iGates in OK - link here

Part 2: TTGO Lora32 as iGate or Digipeater