RailSpotting Android app

RailSpotting for Android

RailSpotting for Android turns a phone into a mobile RailSpotting receiver. Plug an RTL-SDR dongle into the phone, sign in with Google, and the phone listens for trains while you travel:

  • End-of-train (EOT) devices, decoded on the phone: unit number, brake pipe pressure, motion, marker light and battery.
  • Road channels, the railroad voice channels near you, with live listen to hear calls as they happen.
  • ITC, the 220 MHz radio of positive train control: the signals near you and when they change, shown on the phone only.

What the phone hears goes to RailSpotting, together with where the phone is, so trains show up on the live map. The app also shows the live map, alerts you to trains heard near you, and works in the car with Android Auto.

Background

How railroads use radio, how EOT, HOT and defect detectors work, and how a receiver recognises them is explained in the receiver wiki. The phone runs the same receiver code (its Rust core is the receiver’s), with one dongle instead of a fixed receiver’s two or three.

What a phone receiver can and can’t do

  Phone Fixed receiver
Dongles one, in one mode at a time: EOT or road channels up to three (EOT, VHF voice, HOT), plus a scanner
EOT decoding yes yes
Road channels the ones that fit the dongle’s 2.4 MHz window the whole plan, on its VHF dongle
Defect detector speech recognition no (no transcription on the phone) yes
Position moves with you; sent while listening fixed, set once

The phone switches modes on the Activity tab; the dongle reopens in the new mode at once. EOT is the default, because it is what tells you a train is near.