TG LPF 3GHz
PA3AEF/HP8562A-Tracking-Generator
Homebrew tracking generator for base-band, 6cm, 3cm and 12mm bands
Homebrew tracking generator for base-band, 6cm, 3cm and 12mm bands
TG Control V3 is an open-source printed circuit board by PA3AEF, from the PA3AEF/HP8562A-Tracking-Generator repository on GitHub, published under the MIT licence. It is a 2-layer board of 130 × 45 mm with 146 parts on 116 nets, routed with 577 tracks and 159 vias.
It is built around the MAR-6+, MMBTA14 and ZXMP4A16GTA, with the BAT54S, BC857 and MMBT3904 among its other parts. Its parts include 68 resistors, 24 connectors, 23 transistors, 19 capacitors and 3 diodes. It belongs with the RP2040 boards of this library.
Reconstructing the Analyzer’s RF Sweep from Its Local Oscillator
A modular, analyzer‑synchronous architecture
PA3AEF 2026
The HP 8562A/B spectrum analyzer does not include a tracking generator.
However, it exposes enough of its internal LO system to build one externally.
This project implements a modular, sweep‑synchronous Tracking Generator (TG) that behaves as if it were a native part of the HP 8562A/B.
It reconstructs the analyzer’s RF sweep using only:
The TG becomes a slave to the analyzer’s LO system and rebuilds the RF sweep in real time across multiple microwave bands.
The HP 8562A/B is a legendary instrument: fast, sensitive, and extremely stable.
But without a tracking generator, it cannot perform:
This project fills that gap with a TG that follows the analyzer sweep exactly, using the analyzer’s own LO architecture.
The HP 8562A/B does not sweep an RF source.
It sweeps its first local oscillator and mixes incoming signals down to a fixed IF.
To cover 1 kHz–26 GHz, it uses automatic harmonic mixing, where each RF band uses a different harmonic of the LO:
| RF Band | Harmonic n | IF | LO Formula |
|---|---|---|---|
| 1 kHz–2.9 GHz | 1 | 3.9107 GHz | LO_SA = RF_SA + 3.9107 GHz |
| 2.75–6.46 GHz | 1 | 310.7 MHz | LO_SA = RF_SA + 0.3107 GHz |
| 5.86–13.0 GHz | 2 | 310.7 MHz | LO_SA = (RF_SA + 0.3107 GHz) / 2 |
| 12.4–19.7 GHz | 3 | 310.7 MHz | LO_SA = (RF_SA + 0.3107 GHz) / 3 |
| 19.1–26.0 GHz | 4 | 310.7 MHz | LO_SA = (RF_SA + 0.3107 GHz) / 4 |
For each band, the analyzer follows: n * LO_SA = RF_SA + IF
Because n changes with band, the analyzer LO becomes non‑linear with respect to the displayed frequency.
A tracking generator must compensate for this non‑linearity to stay aligned.
The TG uses the analyzer LO_SA (or a harmonic of it) as the primary LO and subtracts a fixed IF to recreate the analyzer’s RF:
RF_TG = (n * LO_SA) – IF_TGWhere:
This yields:
Base‑Band (n = 1):
RF_TG = LO_SA – 3.9107 GHz
6 cm (n = 1):
RF_TG = LO_SA – 0.3107 GHz
3 cm (n = 2):
RF_TG = (2 × LO_SA) – 0.3107 GHz
12 mm (n = 4, concept):
RF_TG = (4 × LO_SA) – 0.3107 GHz
This architecture reqires no swept PLLs in the microwave TG modules.
Sweep coherence comes entirely from the analyzer LO.
The TG system is composed of modular RF boards:
MCU board:
Reads sweep voltage, computes RF_SA for calibration, programs PLLs
RF SA‑LO Distribution board:
Conditions and splits the analyzer’s 1st LO to all TG modules
Base‑Band TG module:
0–2.9 GHz (uses MAX2870)
6 cm TG module:
4.4–6.4 GHz (LO_SA direct, IF_TG = 310.7 MHz)
3 cm TG module:
9.5–11.5 GHz (LO_SA ×2, IF_TG = 310.7 MHz)
12 mm TG module (concept):
22–26 GHz (LO_SA ×4, IF_TG = 310.7 MHz)
Conceptually:
Analyzer → LO Distribution → TG Modules → RF Outputs
Analyzer → 10 MHz → PLLs
Analyzer → V_sweep → MCU → Harmonic modulesEach TG module reconstructs the analyzer RF at its own band using a mixer‑based architecture.
Implemented TG bands:
Conceptual / future TG bands:
Analyzer coverage:
/docs/architecture
01-tg-system-architecture.md
02-lo-architecture.md
03-analyser-lo-internals.md
04-rf-sa-lo-distribution.md
05-baseband-module.md
06-6cm-module.md
07-3cm-module.md
08-12mm-module.md
/docs/architecture/images
architecture diagrams
/firmware
MCU firmware (Raspberry Pi Pico)
overview
images
/hardware/<module>
schematics, layouts, BOMs, images
/mechanical
enclosures, front panels
/usage
calibration and measurement toolsCheckout the discussion section for updates on the first results I have.
MIT License.
See LICENSE for details.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 23 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R12, R15, R18, R21, R22, R25, R26, R29, R32, R33, R38, R39, R40, R43, R47 +7 |
| 17 | MMBTA14 | Package_TO_SOT_SMD:SOT-23 | Q2, Q3, Q4, Q5, Q7, Q8, Q10, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q20, Q23 +1 |
| 14 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C3, C4, C5, C6, C7, C8, C9, C11, C15, C16, C17, C18, C19 |
| 12 | 100K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R10, R11, R19, R23, R24, R34, R35, R41, R44, R46, R48 |
| 8 | ** | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R3, R16, R17, R27, R28, R30, R31 |
| 7 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J5, J8, J10, J12, J13, J17 |
| 6 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3, J7, J14, J15, J18, J24 |
| 5 | 39R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R56, R60, R61, R65, R68 |
| 5 | Conn_Coaxial | Connector_Coaxial:SMA_Amphenol_901-144_Vertical | J19, J20, J21, J22, J23 |
| 4 | 100R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R42, R45, R52, R53 |
| 4 | 68K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R20, R36, R37 |
| 4 | Conn_02x05_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J4, J6, J9, J11 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_DIN965_Pad | H1, H2, H3, H4 |
| 4 | ZXMP4A16G | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | Q1, Q6, Q11, Q12 |
| 3 | 3K3 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R66, R67 |
| 2 | 0R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R13, R14 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C12 |
| 1 | 1K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R51 |
| 1 | 1N4001 | Diode_SMD:D_SMA | D6 |
| 1 | 1nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C13 |
| 1 | 1pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C10 |
| 1 | 22K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R50 |
| 1 | 22nH | Inductor_SMD:L_1206_3216Metric_Pad1.22x1.90mm_HandSolder | L1 |
| 1 | 330nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2 |
| 1 | 33R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R59 |
| 1 | 3k3 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R55 |
| 1 | 47K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R58 |
| 1 | 47uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C14 |
| 1 | 49R9 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R62 |
| 1 | 8k2 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R57 |
| 1 | BAT54S | Package_TO_SOT_SMD:SOT-23 | D8 |
| 1 | BC857 | Package_TO_SOT_SMD:SOT-23 | Q22 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J16 |
| 1 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D7 |
| 1 | LM7805_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
| 1 | MAR-6+ | PA3AEF:MSA_1 | U2 |
| 1 | MMBT3904 | Package_TO_SOT_SMD:SOT-23 | Q21 |
| 1 | RaspberryPi_Pico | PA3AEF:RaspberryPi_Pico_Common_THT | A1 |
| 1 | SCREW_TERMINAL | PA3AEF:Screw terminal 3 pin | J2 |
| 1 | SolderJumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabels | JP1 |
PA3AEF/HP8562A-Tracking-Generator
Homebrew tracking generator for base-band, 6cm, 3cm and 12mm bands
PA3AEF/HP8562A-Tracking-Generator
Homebrew tracking generator for base-band, 6cm, 3cm and 12mm bands

samba09/camper-pir-switch
PIR motion switch for Revotion NODE Ambient (AM312, PhotoMOS, KiCad)

tdjastrzebski/All-Purpose-Power-Micro-Controller
General purpose power controller, capable of driving soldering irons using different voltages and probe types.


PurkkaKoodari/ktane-hw
Fully playable hardware implementation of Keep Talking and Nobody Explodes. Mirror of https://gitlab.com/PurkkaKoodari/ktane-hw

laurigates/mcu-tinkering-lab
This repository contains projects for various embedded platforms (ESP32, Arduino, STM32).

4ms/openventilator
OpenVentilator project, this repo is just tests and noodlings


It measures 130 × 45 mm and has 2 copper layers, 1.6 mm thick.
146 parts, built around the MAR-6+, MMBTA14, ZXMP4A16GTA and BAT54S. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the PA3AEF/HP8562A-Tracking-Generator repository on GitHub, at the commit this page was made from: the board is hardware/control-module/KiCad/TG_Control_V3.kicad_pcb and its schematic hardware/3cm-module/bpf-310MHz/KiCad/BPF-310MHz.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).