โŒ

Normal view

There are new articles available, click to refresh the page.
Before yesterdayW0RMT radio blog

LoRa APRS Config Files

20 April 2024 at 20:58

A couple of folks have asked for my configuration files for my LoRa APRS trackers and i-gates, so I thought I would just share them in a follow-up post. Be sure to read my first and second LoRa APRS posts.

Here is my tracker_config.json file:

{
	"beacons": [
		{
			"callsign": "W0RMT-XX",
			"symbol": "[",
			"overlay": "/",
			"micE": "",
			"comment": "",
			"smartBeacon": {
				"active": true,
				"slowRate": 120,
				"slowSpeed": 3,
				"fastRate": 60,
				"fastSpeed": 15,
				"minTxDist": 50,
				"minDeltaBeacon": 20,
				"turnMinDeg": 12,
				"turnSlope": 60
			}			
		},
		{
			"callsign": "W0RMT-XX",
			"symbol": "k",
			"overlay": "/",
			"micE": "",
			"comment": "",
			"smartBeacon": {
				"active": true,
				"slowRate": 120,
				"slowSpeed": 10,
				"fastRate": 60,
				"fastSpeed": 70,
				"minTxDist": 100,
				"minDeltaBeacon": 12,
				"turnMinDeg": 10,
				"turnSlope": 80
			}
		},
		{
			"callsign": "W0RMT-XX",
			"symbol": "b",
			"overlay": "/",
			"micE": "",
			"comment": "",
			"smartBeacon": {
				"active": true,
				"slowRate": 120,
				"slowSpeed": 5,
				"fastRate": 60,
				"fastSpeed": 40,
				"minTxDist": 100,
				"minDeltaBeacon": 12,
				"turnMinDeg": 12,
				"turnSlope": 60
			}
		}
	],
	"display": {
		"showSymbol": true,
		"ecoMode": false,
		"timeout": 4,
		"turn180" : false
    },
	"other": {
		"simplifiedTrackerMode": false,
		"sendCommentAfterXBeacons": 10,
		"path": "WIDE1-1",
		"nonSmartBeaconRate": 15,
		"rememberStationTime": 30,
		"maxDistanceToTracker": 30, 
		"standingUpdateTime": 15,
		"sendAltitude": true,
		"sendBatteryInfo": true,
		"bluetoothType": 1,
		"bluetoothActive": true,
		"disableGPS": false
	},
	"winlink": {
		"password": "ABCDEF"
	},
	"bme": {
		"active": false,
		"sendTelemetry": false,
		"heightCorrection": 0
	},
	"notification": {
		"ledTx": false,
		"ledTxPin": 13,
		"ledMessage": false,
		"ledMessagePin": 2,
		"ledFlashlight": false,
		"ledFlashlightPin": 14,
		"buzzerActive": false,
		"buzzerPinTone": 33,
		"buzzerPinVcc": 25,
		"bootUpBeep": false,
		"txBeep": false,
		"messageRxBeep": false,
		"stationBeep": false,
		"lowBatteryBeep": false,
		"shutDownBeep": false
	},
	"lora": [
		{
			"frequency": 433775000,
			"spreadingFactor": 12,
			"signalBandwidth": 125000,
			"codingRate4": 5,
			"power": 20
		},
		{
			"frequency": 433775000,
			"spreadingFactor": 12,
			"signalBandwidth": 125000,
			"codingRate4": 5,
			"power": 20
		},
		{
			"frequency": 433775000,
			"spreadingFactor": 12,
			"signalBandwidth": 125000,
			"codingRate4": 5,
			"power": 20
		}
	],
	"pttTrigger": {
		"active": false,
		"io_pin": 4,
		"preDelay": 0,
		"postDelay": 0,
		"reverse": false
	}
}

And here is my igate_conf.json file:

{
    "callsign": "W0RMT-XX",
    "wifi": {
        "autoAP": {
            "password": "1234567890",
            "powerOff": 10
        },
        "AP": [
            {
                "ssid": "networkssid",
                "password": "networkpwd"
            }
        ]
    },
    "beacon": {
        "latitude": XX.XXXXXX,
        "longitude": XXX.XXXXXX,
        "comment": "LoRa APRS IGATE",
        "interval": 15,
        "overlay": "L",
        "symbol": "a",
        "path": "WIDE1-1",
        "sendViaAPRSIS": true,
        "sendViaRF": true
    },
    "digi": {
        "mode": 2
    },
    "aprs_is": {
        "active": true,
        "passcode": "XXXX",
        "server": "noam.aprs2.net",
        "port": 14580,
        "filter": "m/50",
        "toRF": true
    },
    "lora": {
        "txFreq": 433775000,
        "rxFreq": 433775000,
        "spreadingFactor": 12,
        "signalBandwidth": 125000,
        "codingRate4": 5,
        "power": 20,
        "txActive": true,
        "rxActive": true
    },
    "display": {
        "alwaysOn": true,
        "timeout": 4,
        "turn180": false
    },
    "syslog": {
        "active": true,
        "server": "logservernamehere",
        "port": XXXXX
    },
    "bme": {
        "active": false
    },
    "ota": {
        "username": "",
        "password": ""
    },
    "other": {
        "rememberStationTime": 30,
        "sendBatteryVoltage": false,
        "externalVoltageMeasurement": false,
        "externalVoltagePin": 34
    }
}

In each case you will need to customize for your callsign and SSID, Winlink pwd, WiFi network, APRS-IS access, lat/lon, etc.

Please comment if you have any questions!

More on LoRa APRS

13 April 2024 at 00:42

Iโ€™ve been experimenting with and using LoRa APRS for a couple of weeks now. Here is the first post I wrote about getting started with it. If you havenโ€™t read that one yet, I suggest you start there. Iโ€™ve also been trying to learn a bit more about the LoRa modulation (or โ€œFrequency Shift Chirp Modulationโ€) protocol.

LoRa Modulation

This video offers a very good introduction to the specifics. It is a bit mathematical, so be prepared for that, but also accessible.

LoRa APRS as implemented in the code by Ricardo CA2RXU uses a spreading factor of 12. If you watched the video you know that this corresponds to a symbol set of 212 (4096), or 12 bits/symbol. That is 4096 different chirp waveforms! LoRa uses a pretty interesting method to discern one waveform from another, and therefore decode the corresponding symbol. Watch the video above as the author explains it better than I can.

What I am really interested in knowing is how this modulation technique performs in real-world applications with beaconing positions at low power.

LoRa APRS Practical Use

Iโ€™ve been trying to use LoRa APRS in a variety of use cases. I now have i-gates set up at my home and work locations. I am also building a portable LoRa APRS digipeater and/or i-gate that I can deploy as needed to additional coverage. That will be the subject of a future post.

The i-gate in my office (W0RMT-41) in downtown Denver is on the 7th floor of my building against a window facing northeast, and uses one of the small โ€œHersheyโ€™s kissโ€ 433 MHz mag mount antennas on top of my filing cabinet. I would call it a compromise setup for sure.

Denver-Boulder metro area LoRa APRS i-gates as of 04/10/2024

I have a tracker in my mobile with a 10W amplifier, and a low-power (100 mW) portable tracker that I use while walking and running. I have re-cased the low power tracker since my last blog post, thanks to AG7U for providing the 3D printed case!

100 mW LoRa APRS tracker built with a Lilygo T-Beam in a 3D printed case. The case is about 10cm x 3.8cm x 3.8cm

At 10W, my mobile tracker does very well in all of the areas that I drive on a regular basis. I get solid tracks that are much better than those I get using VHF FM APRS and the same smart beaconing settings. Here is a typical track from home to the office, before I installed an i-gate in my office in downtown Denver.

LoRa APRS track of my mobile on the commute from home to work.

Since installing the i-gate in my office, I also get good coverage for the 100 mW tracker downtown. In this example, you can see where I parked my truck (W0RMT-46), the truck of another local amateur using LoRa APRS (AB0VZ-45), and my walk from the truck to the office (W0RMT-45).

LoRa APRS track of my walk from the truck to the office in downtown Denver.

And here is where it gets impressive, I think. I went for a run of about 5 miles from the office and wore the tracker in my running belt with the antenna against my back. I was curious to see if my office i-gate would receive my beacons. Part of this run is actually below the street grade along Cherry Creek, and then things open up a bit more once I get to the Platte River and head south. While there is certainly a bit of wonkiness in the below grade section, I would still consider this a full coverage track. Amazing, I think.

W0RMT-45 track on a run from my office in downtown Denver.

And here is a little 3 mile run from home while wearing the tracker in my running belt, with the terrain at or below the home i-gate. This track has great coverage. Remember- the tracker is only 100 mW!

W0RMT-45 3 mile run track into home i-gate.

Finally, I have been pushing the limits of the little 100 mW tracker in terms of power and terrain when running from home. Iโ€™ve done a couple of tests wearing the tracker in my belt as described above, and also while wearing it in the front of my running vest/pack.

W0RMT-45 tracker in my running vest front pocket.

Here are the tracks from two test runs, one (green track) with the tracker in my belt, and the other (blue track) with the tracker in my vest. The actual route is shown in red, as recorded by my watch.

Tracker run test with the actual route in red, belt-mounted tracker track in green, and vest-mounted tracker track in blue.

To be fair, this was challenging for the little tracker as the run goes up on to a mesa above my home digi, and then out across the mesa. So there is no line of sight, and no good reflection surface either (as there is in the city). Here is the profile (out and back).

Elevation profile of the run for the above tracks. Variation in elevation profile on either side of the center is due to terrain differences on the loop route.

Iโ€™ve got a lot more testing ideas and I am looking forward to plaing with the portable digi/i-gate once I build that.

Isnโ€™t amateur radio a great hobby? There are so many things to pursue and learn about. Itโ€™s fun when you open a new door and develop new skills and knowledge.

LoRa APRS

31 March 2024 at 20:53

A local amateur operator (WB5PJB Gary) reached out to me recenty to see if I wanted to get involved using LoRa APRS on 433 MHz. Gary and I used to talk quit a bit years ago when were experimenting with D-STAR and D-RATS file transfers, but we had never met in person. I had played around with 915 MHz briefly using Meshtastic, and had a few of those boards but never really got into it. So when Gary reached out I though this sounded like a fun thing to dive in to and a good opportunity to meet him in person.

A group of amateurs in the South Metro/Douglas County Colorado area have been using LoRa APRS and setting up a network of i-gates which feed into APRS-IS. They have used this system to support a motorcycle ride in the foothills, and have had a lot of success. Check out the ARESDEC LoRa APRS web page for more details.

LoRa (โ€œLong Rangeโ€) is a chirp spread spectrum modulation technique which can be used at low power levels. LoRa โ€œencodes information on radio waves using chirp pulses โ€“ similar to the way dolphins and bats communicate! LoRa modulated transmission is robust against disturbances and can be received across great distances.โ€ LoRa generally operates in unlicensed radio spectrum (e.g., 433 MHz, 868 MHz, and 915 MHz). Because LoRA is suited for small data packets that do not need to be transmitted and received at high speeds, it is a good fit for APRS. Using LoRa for tracking locations and feeding into the APRS system requires LoRa i-gates to connect to APRS-IS, hence this project.

Gary and I met along with Art (N0AIU โ€“ another north metro amateur operator) to set up some LoRa i-gates and trackers. The i-gate hardware are the LILYGOยฎย LoRa32ย 433 MHz (version 1.6 through 2.1), and the trackers are LILYGOยฎย T-Beam Meshtasticย 433 MHz (soldered OLED version 1.0 through 2.1). These devices get programmed with firmware by Ricardo CA2RXU. He has both i-gate firmware and tracker firmware. These are programmed using VSCODE. Ricardo has good instructions for this on his github repositories. Power output for the boards is set at 20 dBm in the firmware, which corresponds to 100 mW. One can use an external amplifier to boost this up to 1W, 5W, 10W, etc if needed.

Thanks to Gary, I am up and running with the northern-most LoRa APRS i-gate in the Denver metro/Front Range area: W0RMT-40. It seems to be the informal convention of this group and mode to use higher SSIDs to distinguish from VHF APRS stations.

W0RMT-40 i-gate powered by 5V from a mains connected converter, feeding a Diamond X-50A.
APRS heat map of positions gated to APRS-IS by LoRa APRS i-gates, and the location of LoRa APRS i-gates in the Denver metro area

Iโ€™ve also got one low powered (100 mW) tracker (W0RMT-45) to mess around with, and a higher-powered (10W) tracker to experiment with as well.

W0RMT-45 low powered tracker in a Pelican 1010 case powered by a 3600 mAH 18650 battery
W0RMT-45 tracker in case with antenna

Iโ€™m looking forward to using this system and experimenting a bit. I am impressed that my i-gate is receiving and decoding beacons from a low-power i-gate over 47 miles away at -123 dBm / -9.75 dB! Below is a profile for the line from a mobile tracker I received that is 34 miles away. Itโ€™s an advantageous line of sight for the mobile, but still an impressive reception and decode for a lower power tracker.

Profile from station AG7U-45 (mobile) to W0RMT-40 i-gate. Received at -119 dBm/-13.00 dB.

And finally, here is a quick test of the 100 mW tracker on the dash on my truck while making a short local round trip. It is amazing what such low power can do.

Track of W0RMT-45 100 mW tracker on the dashboard of my truck with an internal antenna during a local round trip. Map area is roughly 2.5 miles x 1.5 miles

Next steps will be to install a tracker in my truck, and use another tracker in a smaller case (the Pelican case is temporary) while I am hiking and running.

โŒ
โŒ