Skip to content

Instantly share code, notes, and snippets.

View darksidelemm's full-sized avatar

Mark Jessop darksidelemm

View GitHub Profile
@darksidelemm
darksidelemm / STRF_Setup.md
Last active October 26, 2025 17:16
Setting up STRF Capture & Processing

Setting up STRF Data Capture & Processing

Author: Mark Jessop (VK5QI) vk5qi@rfhead.net

This guide provides information on how to capture FFT data using the strf toolset, process it to look for satellite signals, and finally compare their doppler shift against TLEs from the SpaceTrack database. This can help with resolving the 'TLE lottery' after new launches, or cataloguing transmissions from spacecraft already in orbit.

It should be noted that the analysis described in this document is but a small subset of what the strf tools are capable of! Scott Tilley has a post describing some of the history behind strf and giving a crash course on the relationship between orbital dynamics and the doppler effect here: https://skyriddles.wordpress.com/2019/01/04/basic-orbital-dynamics/

The target platform is Debian-based distributions (e.g. Debian, Raspbian, Ubuntu), but should be applicable to other Linux-based platforms. The data processing software (rfplot and rffit) is also k

// An attempt at making a 'press-fit' BNC-compatible connector
// Using the inner part of a BNC plug from RFSupplier.
//
// First print attempt used Bambu 0.12mm high quality setting and a 0.4mm nozzle.
//
// Mark VK5QI
// Smoother rendering of cylinders
$fn = 50;
@darksidelemm
darksidelemm / gist:b517e6a9b821c50c170f1b9b7d65b824
Last active June 20, 2025 06:03
PPM Correction under Raspbian using LTE-Cell-Scanner

LTE-Cell-Scanner under Raspbian (and maybe Ubuntu/Debian)

Mark Jessop vk5qi@rfhead.net 2017-11-19

Here in VK-land, GSM is dying, if not already dead in many parts of the country. As such, RTLSDR calibration tools like kalibrate-rtl are not particularly helpful! However, thanks (mainly) to Telstra, we have a very wide coverage 4G (LTE) network on 'Band 28', which is in a good frequency range for use with a RTLSDR (Downlink band 758 – 803 MHz). LTE-Cell-Scanner provides the 'CellSearch' utility, which will search for LTE cells, and determine the RTLSDR's clock offset. This gist attempt to provide some sort of guide on getting CellSearch running under Raspbian.

#!/bin/bash
# STRF Cronjob Script
#
# Compile rffft from https://github.com/cbassa/strf
# Use: make rffft
# You should only need libfftw3-dev as a dependency.
#
# Prepare directory with:
# mkfifo fifo
# mkdir data
@darksidelemm
darksidelemm / ka9q-radio-hfaprs.md
Last active April 19, 2025 02:20
Decoding HF APRS with KA9Q-Radio

Mark VK5QI 2025-04-19

This assumes you have a functioning wsprdaemon setup, using ka9q-radio and RX888 receiver.

Install Direwolf

We can just get direwolf from the Ubuntu package repositories:

sudo apt-get install direwolf
@darksidelemm
darksidelemm / 2020-11-14_FakeTLE_guide.md
Last active February 26, 2025 03:27
TLE Estimation for an Upcoming Rocket Launch

TLE Estimation for an Upcoming Rocket Launch

Scenario: RocketLab are launching 30 small-sats into space in a few days. We know that one of them is going to be transmitting on the amateur radio bands, but we haven't been able to obtain a pre-launch TLE yet. We want to get setup to use strf to listen for beacon signals (see my guide here), but we need to know when to expect the satellites. We have some basic orbital information from a press release, so how can we use this to estimate a TLE for prediction purposes?

Note: I am approaching this from the point-of-view of someone who really don't know much about orbital mechanics. I'm relying heavily on the experience of others, and the content below is my attempt at documenting the process taken.

Thanks to Cees Bassa for the amazing software as always...

#/usr/bin/env bash
#
# SpyServer HF APRS iGate Script
#
# Mark Jessop <vk5qi@rfhead.net> 2020-09
#
# This script enables operation of a HF APRS iGate using input from a SpyServer.
# This is targeted for a Raspbian install. These instructions will probably work on
# other debian-based systems too.
#
@darksidelemm
darksidelemm / spyserver_autorx.config
Last active July 30, 2024 06:01
SpyServer Configuration File for radiosonde_auto_rx
# SPY Server Configuration File for radiosonde_auto_rx
# Modify as necessary, refer to comments throughout the file.
device_type = AirspyOne
# Device Serial Number as 64bit Hex, or set to 0 to use the first available device
device_serial = 0
# Initial Center Frequency
# Recommendations for Airspy Mini (6 MHz sample rate, 4.8 MHz usable):
# Australia - 402500000
@darksidelemm
darksidelemm / fsk9k6.md
Last active December 31, 2023 16:57
Decoding FSK9k6 telemetry from SatNOGS observations.

Decoding FSK9k6 transmissions from SatNOGS observations using Direwolf

Dependencies

Setup

Create a file called ax25_9600.conf with the following contents

@darksidelemm
darksidelemm / spyserver.service
Created October 27, 2023 05:34
SpyServer Systemd Service File
[Unit]
Description=spyserver
After=syslog.target
[Service]
# For running outside of a python virtual environment
ExecStart=/home/pi/spyserver/spyserver /home/pi/spyserver/spyserver_autorx.config
Restart=always
RestartSec=15
WorkingDirectory=/home/pi/spyserver/