Skip to content

docs(bom): select the GNSS antenna and record the receiver alternatives - #168

Merged
PurpleSentinel merged 1 commit into
mainfrom
docs/gnss-receiver-and-antenna
Aug 21, 2026
Merged

PurpleSentinel merged 1 commit into
mainfrom
docs/gnss-receiver-and-antenna

Conversation

@PurpleSentinel

Copy link
Copy Markdown
Contributor

Fills the last unspecified item in the reception chain, and records the receiver question so it
is not reopened from scratch.

H3: Taoglas Magma X AA.170.301111, RS Components 2857133, £26.58 inc VAT

Band coverage decides this, and it is easy to get wrong. The M9N tracks four constellations
concurrently and they do not share a frequency:

Constellation Frequency
GPS and Galileo 1575.42 MHz
BeiDou B1 1561.098 MHz
GLONASS L1 1602 ± 8 MHz

Many antennas sold as "GPS/GNSS" are tuned 1575–1610 MHz — including SparkFun's own £18
part — which sits above BeiDou. Fitting one costs a quarter of the receiver's constellations
and does so silently: no error, just fewer satellites and worse geometry, which is precisely
what hurts at a circuit ringed by grandstands and pit buildings.

Electrically it fits without adaptors: 1.8–5.5 V against the breakout's 3.3 V bias,
26–32 dB LNA covering its own cable loss without over-driving the M9N front end, SMA(M)
direct to the GPS-17285, IP67, IATF 16949.

Rejected the multi-band ANN-MB-00 at £98.84 — its L2 band is unusable on an L1 receiver.

Subtotal moves from £121.49 to £148.07 inc VAT for H1 + H2 + H3. All suppliers UK: The Pi
Hut, DigiKey UK, RS Components UK.

Receiver alternatives, recorded

The M9N is retained. Its spec — 25 Hz with four concurrent constellations — turns out to be
hard to beat without tripling the price and accepting a rate-for-constellations trade.

Candidate Bands Max rate Protocol UK inc VAT Outcome
NEO-M9N L1 25 Hz, four constellations UBX £69.59 Retained
NEO-F10N L1+L5 10 Hz UBX ~£60 Rejected: rate
LG290P quad 20 Hz NMEA/RTCM £182.40 Rejected: protocol, RTK
ZED-F9P L1+L2 9–25 Hz, config-dependent UBX ~£205 Unproven, not rejected

LG290P fails twice. No UBX: standard NMEA carries time to 10 ms where UBX carries it to
the nanosecond, which would undo much of what crossing_time.cpp exists to achieve. And its
headline feature is RTK — a stated non-goal, and unusable anyway while the device must work
fully offline.

ZED-F9P is recorded as unproven rather than rejected, deliberately. Its datasheet gives
the max navigation rate as a table of six values by constellation configuration — PVT
9/10/20/20/16/25 Hz, RTK 7/10/15/14/13/20 Hz — and the pattern says the higher rates come from
running fewer constellations. If 25 Hz means GPS alone, then at full concurrency it may fall
below the 20 Hz minimum, and the concurrency traded away is itself a reception benefit. I could
not resolve which configuration gives which rate; the PDF table flattened on extraction.
Anyone revisiting must settle that before ordering.

Mounting guidance, which is worth more than the part number

  • The magnet mount needs the steel roof as a ground plane
  • Not inside the cabin — windscreen attenuation plus A-pillar multipath is the exact error
    this selection exists to reduce
  • Retention at track speed: an antenna leaving a car at 120 mph endangers everyone else on
    circuit. Tether it, or use the AA.171 adhesive/screw-mount body for a permanent fit.

Docs only; repo-check passes.

The antenna was the last unspecified item in the reception chain, and it mattered more
than the receiver did: multipath dominates position error at a circuit, and antenna
choice, ground plane and mounting dominate multipath.

Selected the Taoglas Magma X AA.170.301111 from RS Components at £26.58 inc VAT. Band
coverage is what decides it. The M9N tracks four constellations concurrently and they do
not share a frequency: BeiDou B1 sits at 1561 MHz, while a great many antennas sold as
GPS/GNSS are tuned 1575 to 1610 MHz. SparkFun's own GPS-14986 is one of them, and fitting
it would cost a quarter of the receiver's constellations silently - nothing reports an
error, there are simply fewer satellites and worse geometry, which is exactly what hurts
at a circuit surrounded by grandstands. Its 1.8 to 5.5 V range suits the breakout's 3.3 V
bias, its 26 to 32 dB LNA covers the loss of its own cable without over-driving the M9N,
and its SMA(M) mates directly with the GPS-17285.

Also recorded three receivers considered against the M9N and rejected, because this is
the kind of question that gets reopened from scratch in six months.

The LG290P fails twice: it speaks NMEA and RTCM but not UBX, and standard NMEA carries
time to 10 ms where UBX carries it to the nanosecond, which would undo much of what the
crossing-time interpolation exists to achieve. Its headline feature is RTK, which this
project lists as a non-goal and could not use anyway while remaining offline.

The NEO-F10N is dual-band and cheap and fails outright at 10 Hz against a 20 Hz minimum.

The ZED-F9P is the tempting one and is recorded as unproven rather than rejected. Its data
sheet gives the maximum navigation rate as a table of six values by constellation
configuration, and the pattern indicates the higher rates come from running fewer
constellations. If 25 Hz means GPS alone, then at full four-constellation concurrency it
may fall below the minimum, and the concurrency being traded away is itself a reception
benefit. Anyone revisiting it must resolve that table before ordering.

Mounting guidance is included because it is worth more than the part number: the magnet
mount needs the steel roof as a ground plane, mounting inside the cabin would waste the
antenna to windscreen attenuation and A-pillar multipath, and an antenna leaving a car at
120 mph is a hazard to everyone else on circuit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@PurpleSentinel
PurpleSentinel merged commit e5301d3 into main Aug 21, 2026
3 checks passed
@PurpleSentinel
PurpleSentinel deleted the docs/gnss-receiver-and-antenna branch August 21, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants