9M2PJU
amateur radio
Technology
9M2PJU, Aiming HUD, amateur radio satellites, AMSAT, amsat.hamradio.my, ARISS, Arrow II Yagi, Doppler tuning, EasyComm II, GreenCube, GS-232, ham radio, IO-117, IO-86, iss, K3NG rotator, Leaflet, linear transponder, METEOR LRPT, NOAA APT, PWA, rotator control, RS-44, satellite tracking, satellite.js, SGP4, SO-50, SPID, WebSerial
9M2PJU
0 Comments
9M2PJU AMSAT Tracker: Web-Based Amateur Radio Satellite Tracking, Doppler Tuning, and WebSerial Rotator Control
The 9M2PJU AMSAT Tracker (hosted at amsat.hamradio.my) is a client-side satellite tracking and station automation suite built with React 19 and TypeScript. It features real-time SGP4/SDP4 orbit propagation, live Doppler frequency tuning with inverting linear passband matching, a 360-degree Sky Polar Radar, a 2D Leaflet world map with a dynamic solar terminator, a smartphone gyroscopic Aiming HUD for handheld Yagis, zero-install WebSerial antenna rotator control (EasyComm II, GS-232A/B, SPID), a Web Audio pass synthesizer, and offline PWA support.
Working amateur radio satellites has long been one of the most rewarding pursuits in the hobby. Whether making rapid FM contacts through LEO crossband repeaters like IO-86 and SO-50, working intercontinental SSB DX through linear transponders like RS-44, or capturing earth imagery from NOAA weather satellites, success depends on precision. Operators must track rapid orbital passes, predict acquisition of signal (AOS) look angles, calculate instantaneous Doppler shifts on uplink and downlink frequencies, and aim directional antennas with high accuracy.
Historically, satellite tracking required heavy desktop programs like Gpredict, SatPC32, or Orbitron paired with third-party serial drivers, or mobile apps that offered limited rig or rotator control.
The 9M2PJU AMSAT Tracker unites orbital mechanics, frequency tuning, tactical antenna aiming, and direct hardware rotator control into a single, responsive web application that runs in any browser on desktop, tablet, or mobile phone.
What is the 9M2PJU AMSAT Tracker?
The 9M2PJU AMSAT Tracker is a client-side web application and Progressive Web App (PWA) that computes real-time satellite orbital passes, predicts Doppler-shifted uplink and downlink frequencies, provides mobile gyroscopic antenna aiming sights, and directly drives azimuth/elevation antenna rotators via the W3C WebSerial API without external helper software.
+-------------------------------------------------------------------------+
| 9M2PJU AMSAT Tracker Architecture |
+-------------------------------------------------------------------------+
| External TLE Ephemeris Data Feeds |
| - CelesTrak Group Feeds: Amateur Radio, Weather, Space Stations |
| - AMSAT Daily Orbital Elements: nasabare.txt |
| - Custom TLE Importer with Checksum & NORAD Catalog Validation |
+------------------------------------+------------------------------------+
| (Auto-Sync / Local Storage Cache)
+------------------------------------v------------------------------------+
| Client-Side Mathematical Propagation & Physics Engine |
| - SGP4 / SDP4 Orbital Mechanics Engine (satellite.js) |
| - Azimuth, Elevation, Slant Range, and Radial Velocity (Range Rate) |
| - Relativistic Doppler Shift: Uplink (TX) & Downlink (RX) Frequencies |
| - Solar Ephemeris: Day/Night Terminator & Satellite Eclipse Detection |
| - Dynamic Communication Footprint Polygon on WGS84 Geoid |
+------------------------------------+------------------------------------+
|
+------------------------+------------------------+
| |
+-----------v--------------------+ +--------------------v-----------+
| Visual Tracking Interfaces | | Hardware Automation & Sights |
| - 360° Sky Polar Radar Dome | | - Mobile Gyro Aiming HUD |
| - 2D Leaflet World Map (Dark, | | - Optical Crosshair Reticle |
| Satellite Imagery, OSM) | | - Haptic & Audio Lock Signals |
| - 90-Min Ground Track Vectors | | - WebSerial Rotator Driver |
| - Pass Table (48h Predictions)| | (EasyComm II, GS-232, SPID) |
| - Horizon Elevation Masking | | - Web Audio Synthesizer |
+--------------------------------+ +--------------------------------+
Because all calculations run client-side using WebAssembly and modern JavaScript engines, the application continues to calculate orbits, generate sky radar plots, and drive antenna rotators even if your internet connection drops in the field.
Key Feature Subsystems
The application is engineered around seven core subsystems designed to streamline operations before, during, and after a pass.
+-------------------------------------------------------------------------+
| 9M2PJU AMSAT Tracker Core Capabilities |
+-------------------+--------------------+-------------------+------------+
| Orbit Mechanics | Transponder Engine | Antenna Sights | Hardware |
| - SGP4/SDP4 Math | - Live Doppler TX | - Mobile Gyro HUD | - WebSerial|
| - Slant Range | - Live Doppler RX | - Target Lock | - EasyComm |
| - Radial Velocity | - Linear Passband | - Haptic Cues | - GS-232 |
| - Eclipse Shadow | - CTCSS Tone Specs | - Calibrate Az/El | - SPID Bus |
+-------------------+--------------------+-------------------+------------+
1. Client-Side SGP4/SDP4 Orbit Propagation Engine
At the core of the tracker is an implementation of the Simplified General Perturbations (SGP4) and Simplified Deep Space Perturbations (SDP4) mathematical models via satellite.js.
- Real-Time Look Angles: Calculates topocentric azimuth (0° to 360°) and elevation (0° to 90°) relative to your station QTH latitude, longitude, and elevation above sea level.
- Slant Range and Radial Velocity: Continuously evaluates the straight-line distance (slant range in kilometres) and the relative velocity along the line of sight (range rate in km/s).
- Sunlight and Eclipse Status: Computes true solar declination and Earth shadow projection from the J2000 epoch to determine whether the satellite is in direct sunlight or eclipse. This is critical for older birds like AO-7 that operate only when their solar cells are illuminated.
- 48-Hour Pass Forecasting: Generates detailed upcoming pass predictions filtered by your station horizon elevation mask, showing AOS time, maximum elevation, LOS time, duration, and trajectory direction (e.g.
S → N,SW → NE).
2. Live Transponder Management & Doppler Tuning
The transponder panel removes the guesswork from frequency tracking across voice, digital, and linear transponders:
- Relativistic Doppler Math: Uplink and downlink frequencies adjust in real time based on the satellite radial velocity vector (positive shift on uplink TX, negative shift on downlink RX).
- Multi-Mode Support: Pre-configured for FM voice repeaters with sub-audible CTCSS tones (e.g. IO-86 88.5 Hz, AO-91 67.0 Hz, PO-101 141.3 Hz), 1200 baud AX.25 APRS digipeaters, 9600 baud GFSK packet (IO-117 GreenCube), SSTV downlinks, NOAA APT, METEOR LRPT digital weather imaging, and LoRa telemetry.
- Linear Transponder Passband Matcher: For SSB and CW linear transponders (such as RS-44, AO-7, CAS-4A/4B, and FO-29), an interactive passband slider allows you to select your operating offset within the transponder window. The system automatically computes the matched uplink and downlink frequencies, correctly handling inverted passbands where tuning up in frequency on the uplink results in tuning down on the downlink.
- One-Click Frequency Copy: Copy adjusted VFO frequencies directly to your clipboard with a single click.
+-------------------------------------------------------------------------+
| Linear Transponder Tuning Geometry |
+-------------------------------------------------------------------------+
| Uplink Passband (2m LSB/CW): [ 145.935 MHz -----> 145.995 MHz ] |
| | |
| (Inverting Mix) |
| v |
| Downlink Passband (70cm USB/CW): [ 435.670 MHz <----- 435.610 MHz ] | | | | Tuning +10 kHz on Uplink TX --> Automatically shifts -10 kHz on RX |
+-------------------------------------------------------------------------+
3. Visual Tracking: Sky Polar Radar & 2D World Map
Visualizing where the satellite is located makes acquiring signals immediate:
- Sky Polar Radar Dome: An interactive 360° azimuth / 0°–90° elevation polar dome shows the sky overhead. It displays the entire trajectory of active passes, AOS entry points, maximum elevation apex points, and LOS departure angles, overlaid with your station horizon mask.
- 2D World Map with Solar Terminator: A responsive Leaflet map supports layer switching between Esri Dark Canvas, high-resolution World Imagery satellite photography, and OpenStreetMap. The map renders past orbital history, 90-minute future ground tracks, the dynamic solar terminator day/night boundary, and the communication footprint circle.
4. Handheld Yagi Aiming HUD (Mobile Optical Sight)
Pointing a handheld directional antenna (such as an Arrow II, Elk Log Periodic, or homebrew tape-measure Yagi) while managing a radio and logbook can be challenging. The Aiming HUD turns any smartphone into an active optical antenna sight:
- Device Gyroscope Integration: Uses the browser
DeviceOrientationEventAPI to read phone tilt and compass heading in real time. - Tactical Reticle & Target Lock: Mount your smartphone flat on the antenna boom with the top edge pointing along the elements. The HUD displays a tactical crosshair for your antenna pointing direction and a target dot for the satellite. Directional cues (such as Turn Right +15° or Tilt Up +20°) guide your movement.
- Haptic & Audible Lock: When the antenna aligns within ±6° in both azimuth and elevation during an active pass, the reticle ring pulses green, the status switches to
LOCKED ON TARGET, and the phone delivers a tactile vibration pulse and audio confirmation chime. - Heading Calibration: One-tap heading calibration lets you align the compass against a known landmark or satellite direction to eliminate local magnetic declination offsets and vehicle chassis interference.
- Desktop Manual Mode: Switchable AZ and EL sliders allow operators using manual tripod mounts to snap angles directly to the satellite.
+-------------------------------------------------------------------------+
| Aiming HUD Optical Reticle |
+-------------------------------------------------------------------------+
| [ 030° NNE ] |
| |
| ( 60° ) |
| | |
| +---+---+ |
| | | | |
| ---(----+----)--- [ TARGET: RS-44 ] |
| | | | Az: 042° | El: 48° |
| +---+---+ |
| | |
| ( 30° ) |
| |
| [ ANTENNA: Az 040° | El 46° ] --> STATUS: LOCKED |
+-------------------------------------------------------------------------+
5. WebSerial Rotator Hardware Control
Eliminating the need for external bridging daemons or desktop software, the tracker communicates directly with hardware antenna rotators over USB using the W3C WebSerial API:
- Supported Protocols:
- EasyComm II: Standard text commands (
AZ<az> EL<el>) used by K3NG Arduino rotators and DIY azimuth/elevation controllers.
- Yaesu GS-232A / GS-232B: Industry-standard binary and ASCII format (
W<az> <el>) supported by Yaesu G-5500, GS-232 interfaces, and FoxDelta controllers.
- SPID: Precision tracking protocol (
W<az*10> <el*10>) for SPID RAS and BIG-RAS azimuth/elevation rotators.
- EasyComm II: Standard text commands (
- Configurable Serial Parameters: Select baud rates from 9600 to 115200 bps and update intervals from 500ms to 5000ms.
- Manual Jog & Auto-Tracking: Directional jog buttons (tilt up/down, rotate left/right, emergency stop, park antenna) give full manual control, while the automated tracking loop slews the antenna automatically throughout an active pass.
- Built-in Serial Terminal: A live command console displays all outgoing serial strings and hardware acknowledgments in real time.
6. Curated Satellite Catalog & TLE Importer
The application comes pre-loaded with comprehensive orbital data and transponder parameters for active satellites:
- Space Stations: International Space Station (ISS ARISS FM voice repeater, APRS digipeater, and PD-120 SSTV) and Tiangong (CSS).
- FM Voice Repeaters: IO-86 (LAPAN-ORARI equatorial), SO-50 (SaudiSat-1C), AO-91 (RadFxSat), AO-92 (Fox-1D), PO-101 (Diwata-2), CAS-3H (LilacSat-2), CAS-5A (FO-118), CAS-10 (XW-4), the TEVEL 1 through 8 constellation, and HADES-D.
- Linear SSB/CW Transponders: RS-44 (DOSAAF-85), AO-7 (AMSAT-OSCAR 7 Mode A/B), FO-29 (JAS-2), CAS-4A, CAS-4B, XW-2A/B/C/F series, CAS-6, HO-113, JO-97 (FUNcube-1), EO-88 (Nayif-1), and MO-122 (MESAT-1).
- Digital, APRS, & Telemetry: IO-117 (GreenCube MEO 5800km altitude digipeater), SONATE-2 (AI and LoRa APRS payload), NO-44 (PCsat), and NO-84 (PSAT).
- Weather & Earth Imaging: NOAA-15, NOAA-18, NOAA-19 (analog APT cloud transmissions), and METEOR-M2-3 / METEOR-M2-4 (HD digital LRPT transmissions).
- Automated TLE Sync: Automatically refreshes orbital elements daily from CelesTrak and AMSAT feeds.
- Custom Importer: Add new satellites by pasting standard NORAD two-line element sets (TLEs) with automatic checksum validation.
7. Pure Web Audio Synthesizer & Offline PWA
- Synthesized Audio Cues: Built entirely on the browser Web Audio API with zero external sound files. Produces a 60-second pre-pass double beep warning (C6/E6), a rising frequency chord for Acquisition of Signal (AOS: D5 → A5 → D6), and a descending tone for Loss of Signal (LOS: D6 → D5).
- Progressive Web App (PWA): Equipped with a service worker manifest, the tracker can be installed to the home screen on iOS, Android, macOS, Windows, and Linux for instant full-screen offline access.
Satellite Tracking Software Comparison
The following table compares the 9M2PJU AMSAT Tracker with traditional desktop and mobile tracking software:
| Feature / Capability | 9M2PJU AMSAT Tracker | Gpredict | SatPC32 | Look4Sat (Android) | N2YO.com |
|---|---|---|---|---|---|
| Platform | Web / PWA (Cross-Platform) | Linux, Windows, macOS | Windows Only | Android Only | Web Browser |
| Installation | Zero-install / 1-Click PWA | Native compile / Package | Windows Installer | Google Play / APK | None (Web page) |
| Offline Operation | Yes (Client-side SGP4) | Yes | Yes | Yes | No (Server dependent) |
| Rotator Control | Direct USB (WebSerial) | Hamlib rotctld required | Native / DDE drivers | None | None |
| Supported Protocols | EasyComm II, GS-232, SPID | EasyComm, GS-232 (via TCP) | GS-232, DCU, SPID | None | None |
| Antenna Aiming HUD | Yes (Gyro / Reticle / Haptic) | No | No | Basic compass view | No |
| Linear Passband Matcher | Yes (Inverting / Normal) | No | Yes | No | No |
| Solar Terminator Map | Yes (Leaflet / Multi-layer) | Basic 2D map | Basic 2D map | Basic map | Basic 2D map |
| Audio Synthesizer | Native Web Audio API | Desktop alerts | CW / Voice alerts | Phone notifications | None |
| Access Model | Free Web Application | Free Application | Commercial License | Free (Ad-Supported) | Free Web (Ad-Supported) |
Practical Operating Workflows
1. Working an FM Satellite Pass with a Handheld Yagi
Step 1: Open amsat.hamradio.my on your smartphone and select an upcoming pass (e.g., IO-86 or SO-50).
Step 2: Verify your QTH grid locator in Settings (use GPS Auto-Detect).
Step 3: Mount your phone flat on the antenna boom with the top edge pointing along the elements.
Step 4: Tap "Aim HUD" and grant orientation sensor permissions.
Step 5: When the pre-pass warning sounds, align the crosshair to the AOS azimuth bearing.
Step 6: As the satellite rises, follow the target dot. Keep the crosshair within the green lock circle.
Step 7: Program your radio memory with the Doppler-shifted RX frequencies displayed on the Transponder panel.
Step 8: Transmit your callsign and grid when the transponder is open and clear.
2. Tuning Linear SSB/CW Transponders (RS-44 Example)
Operating through linear transponders requires matching uplink and downlink frequencies across the passband while managing Doppler shift on both bands simultaneously:
- Select RS-44 from the catalog.
- In the Transponder & Doppler panel, choose the
Inverting Linear Transpondermode. - Use the Linear Transponder Passband Matcher slider to select an operating segment (for example, +15 kHz into the passband).
- The tracker displays your exact uplink frequency (e.g. 145.950 MHz LSB) and the corresponding downlink frequency (e.g. 435.655 MHz USB).
- As the pass proceeds, observe the live Doppler readouts. When transmitting, adjust your uplink or downlink VFO to compensate for the continuous frequency drift, ensuring your signal remains locked on frequency.
3. Automated Rotator Tracking via WebSerial
- Connect your antenna rotator interface (such as a K3NG Arduino rotator or Yaesu GS-232 interface) to your computer using a standard USB cable.
- Open amsat.hamradio.my in Google Chrome, Microsoft Edge, or Kiwi Browser on Android.
- Click the Rotator & CAT Hardware Control icon in the header.
- Select your controller protocol (
EasyCommII,GS232A,GS232B, orSPID) and set the matching baud rate (typically 9600 or 115200 bps). - Click Connect Rotator and choose your USB serial COM port from the browser permission popup.
- Enable the Auto-Track Satellite in Pass checkbox.
- When the satellite rises above your horizon limit, the tracker automatically sends positioning commands at your configured interval, slewing the antenna to follow the spacecraft from AOS to LOS.
Technical Specifications & Architecture
| Parameter | Specification |
|---|---|
| Frontend Framework | React 19, TypeScript |
| Build System & Styling | Vite 8, Tailwind CSS 4 |
| Orbital Mechanics | SGP4 / SDP4 models (satellite.js) |
| Coordinate Systems | ECI (Earth-Centered Inertial), ECF, Topocentric Az/El/Range |
| Earth Model | WGS84 Geoid (RE = 6378.137 km, μ = 398600.5 km3/s2) |
| Mapping Engine | Leaflet with Esri Dark Canvas, World Imagery, and OSM layers |
| Hardware Serial Interface | W3C WebSerial API (Chrome, Edge, Opera, Kiwi Browser) |
| Audio Engine | W3C Web Audio API (Oscillator synthesis, zero media assets) |
| Mobile Sensors | W3C DeviceOrientationEvent (Compass heading, pitch, tilt) |
| Offline Support | Service Worker Progressive Web App (PWA) |
| Web Portal | amsat.hamradio.my |
Frequently Asked Questions (FAQ)
What is the 9M2PJU AMSAT Tracker?
The 9M2PJU AMSAT Tracker is a web-based satellite tracking application featuring client-side SGP4/SDP4 orbit propagation, live Doppler frequency tuning, a 360-degree Sky Polar Radar, a mobile antenna Aiming HUD, and zero-install WebSerial antenna rotator control.
Does the tracker work without an internet connection?
Yes. The tracker operates as a Progressive Web App (PWA). Once loaded or installed, all SGP4 orbital mechanics, Doppler calculations, sky radar projections, and WebSerial rotator controls run locally inside your browser using cached TLE ephemeris data.
How does the smartphone Aiming HUD work?
The Aiming HUD reads your device orientation sensors (gyroscope and magnetometer). When the phone is attached flat to an antenna boom, the screen displays a real-time crosshair showing your antenna heading versus the satellite position, providing visual, audible, and haptic target lock cues.
Which antenna rotators can be controlled directly from the browser?
Any rotator controller communicating over USB serial that supports EasyComm II, Yaesu GS-232A, GS-232B, or SPID protocols (including K3NG Arduino rotators and FoxDelta interfaces) can be driven directly via the browser WebSerial API without external software.
How are Doppler frequencies calculated?
The engine computes the instantaneous relative velocity (range rate in km/s) between the satellite and your station QTH using topocentric orbital vectors, applying positive Doppler shifts to uplink frequencies and negative Doppler shifts to downlink frequencies in real time.
Summary: Modernizing Satellite Operations
The 9M2PJU AMSAT Tracker brings modern web technologies to satellite communications. By combining client-side orbital calculations, real-time Doppler frequency tracking with inverting linear passband matching, intuitive sky radar displays, mobile gyroscopic antenna sights, and direct browser-to-hardware rotator control, it equips both new and seasoned amateur radio operators with an accessible, high-performance tracking tool for the field and the shack.
Access the live application at amsat.hamradio.my.
73 from 9M2PJU.
Sources and Further Reading
- 9M2PJU AMSAT Tracker Live Application – Official high-availability web tracking portal.
- AMSAT (Radio Amateur Satellite Corporation) – Official portal for amateur radio satellite operations and status.
- CelesTrak Orbital Elements – Daily NORAD two-line element sets for amateur radio and weather satellites.
- W3C WebSerial API Specification – Direct serial port communication standard for modern web browsers.
- 9M2PJU HamClock Installer – Space weather and station telemetry dashboard.
- 9M2PJU HF Propagation Prediction Tool – Web-based VOACAP HF propagation engine.



Post Comment