Build your own AZART — what hardware do you actually need?
Russia's AZART R-187P1 radio was sold as “unbreakable”. Units captured in Ukraine told a different story. I took its spec apart piece by piece and worked out exactly what hardware — and at what price — it would take to build an open equivalent, reusing what we already have in TetraPoland.
Where this came from
AZART (R-187P1 “Azart”) is a Russian software-defined radio of the so-called sixth generation — one box meant to do analog FM, digital TETRA and frequency hopping across the whole 27–520 MHz range. Since 2022 a lot of these radios have ended up in Ukrainian hands, so for the first time you can compare them not against a brochure, but against hard teardown data.
And since in TetraPoland we already run live TETRA — the TetraSpot base station and the TETRA MS “radio without a radio” — an obvious question came up: how far are we really from building an open, multi-mode handheld with AZART-class capability? I did the research, and I have an answer.
What AZART really is (the facts)
I start from what's in the manufacturer's own public technical spec (the “TU” document), not the sales folder. That separates the marketing from the engineering:
Our edge: the hardest part already works
The key insight: AZART's “digital voice” is simply TETRA with the ACELP codec. And that is exactly what we already have working on air in TetraSpot and TETRA MS. The hardest, most time-consuming piece — the whole TETRA stack, registration, group calls, the vocoder — is done. Cloning AZART doesn't start from scratch; we port existing software onto new radio hardware.
The crux: 27–520 MHz in one box
Covering 27–520 MHz is more than four octaves — and that's where all the pain is. The popular SDR chips (in PlutoSDR, AntSDR, USRP) are built on Analog Devices' AD9361, which bottoms out at 70 MHz. The lower 27–70 MHz then falls outside its reach and needs a separate converter. The fix is a newer part:
Front-end: why the ADRV9002 specifically
The chip in the popular SDRs — Analog Devices' AD9361 (PlutoSDR, AntSDR, USRP) — is only characterised from 70 MHz up (transmit from 47 MHz). To reach 27 MHz you have to bolt on a separate block converter for the whole 43 MHz of lower band. The ADRV9002 starts natively at 30 MHz, leaving just a 3 MHz gap (27–30 MHz) that a simple switched mixer closes. That's a huge difference in path complexity.
The second reason is hopping. The AD9361 was “never designed for frequency hopping” — it has only 8 hardware profiles and you have to work around I/Q calibration. The ADRV9002 has a dedicated engine: two multiplexed PLL synthesisers (one retunes in ~15 µs while the other transmits) and a table of up to 128 frequencies. The claimed 20,000 hops/s is 50 µs per hop — comfortably within reach. Add a 16-bit converter (the path to −112 dBm sensitivity), factory profiles of 24 kHz for FM and 144/288 kHz for TETRA, and under 1 W draw on receive. Exactly the class of chip used in tactical radios.
The brain: Zynq UltraScale+ and hop timing
The hopping logic itself is trivial — a sequence generator and controller are maybe 2–5k FPGA cells. So the bottleneck isn't the FPGA, it's synthesiser settling time (hence the ADRV9002). But the hop clock has to be deterministic to the nanosecond — and Linux userspace can't do that, where latencies swing by micro- and milliseconds. So the hop timing lives in the chip's programmable logic (PL), not in the application.
Hence the Zynq UltraScale+ ZU3EG: four Cortex-A53 cores (stronger than the i.MX93 in the base LinHT) run the TETRA stack, the ACELP vocoder, crypto and the UI; two real-time Cortex-R5F cores handle the MAC layer and hopping; and the FPGA (154k cells) runs the modem and the hop controller. An RFSoC with built-in converters was ruled out: it draws 20–45 W, which is a non-starter in a handheld.
The power path — the hardest analog block
A single power amplifier can't sensibly cover four octaves. It has to be split by band: an amplifier chain with a band-specific final stage (e.g. Mitsubishi RD06LUS2, 6.5 W) plus a bank of five switched filters to tame harmonics and keep receive sensitivity. Add a fast transmit/receive switch and — like the original — several band antennas, because one “rubber duck” physically won't work from 27 to 520 MHz. It's the most laborious part of the project, but all of it is built from off-the-shelf parts.
| Stage | Part | Role |
|---|---|---|
| Pre-driver | PGA-103+ | ~22 dB gain |
| Driver | RD01MUS2B | 30–520 MHz, ~2 W |
| Final | RD06LUS2 / RD16HHF1 | 6.5 W (54–520) / HF (27–54) |
| TX filter bank | Menlo MM5140 + LFCN | 5 sub-bands, harmonics |
| RX preselector | pSemi PE42442 + BPF | blocking ≥ 86 dB |
| T/R switch | PIN SPDT MA4AGSW2 | ns switching |
| Antenna | 3 whips + ATU, TNC | 27–520 MHz |
Why five bands? A low-pass filter that suppresses the second harmonic has to span less than an octave, so 27–520 MHz splits into five sub-octave slices, each with its own filter. On transmit, a MEMS switch (MM5140) picks the band — very low loss and it handles 25 W, but it switches rarely (band change, not every hop). On receive you need a fast silicon switch (PE42442, 255 ns, millions of cycles) plus a switched band-pass filter ahead of the amplifier — without that preselection a wideband receiver would be desensitised by strong signals from neighbouring bands.
Power and thermal budget
On transmit the radio pulls 6.5 A at 3.6 V — about 23 W in for at most 4 W out. That's normal for a wideband amplifier: efficiency at the band edges drops into the teens of percent. The fix: run it from a 2S pack (7.2 V), where the same power is only ~3.2 A — four times lower resistive loss and heating, and higher final-stage linearity as a bonus (important for TETRA's π/4-DQPSK modulation). Molicel P45B cells, USB-C charging via a BQ25798.
That leaves ~5–6 W of heat. The aluminium enclosure dissipates it — the final stage flange-mounts straight to the chassis, which acts as the heatsink. TETRA's nature helps too: you transmit in one of four time slots, so the average thermal load is far below the peak.
The rest of the system
| Subsystem | Part | Why |
|---|---|---|
| Navigation | u-blox MAX-M10S | GPS+GLONASS, ~25 mW |
| Crypto | NXP SE051 | EAL6+ secure element, OTAR |
| Boot | TPM SLB9670 | measured boot |
| Audio | TI TLV320AIC3100 | mic/speaker + amp |
| Power | Molicel P45B (2S) + BQ25798 | battery + USB-C charging |
| Display | transflective 2.4″ | sunlight-readable |
AZART vs our build
| Feature | AZART | Our build |
|---|---|---|
| Range | 27–520 MHz | 27–520 MHz |
| Digital voice | TETRA / ACELP | TETRA — already working |
| Other modes | FM | FM + DMR + M17 + P25 |
| Hopping | up to 20k/s, GPS-dependent | fast, no GPS dependency |
| Crypto | weak OPSEC (keys 111111) | secure element + OTAR |
| Price | — (military) | ~$400–800 (BOM) |
What it costs
How to actually build it (phases)
- Prototype: an off-the-shelf AntSDR or ADALM-Pluto module (~$300) with the TETRA/FM stack ported over — validate band coverage and hopping, no custom board yet.
- Lab bench: a board with the ADRV9002 + Zynq and a prototype power path — measure per-band power, harmonics, TETRA linearity and receive robustness.
- Handheld: a custom integrated board + an aluminium IP67 enclosure + a 2S battery, and finally environmental hardening.
What we don't copy (and do better)
- Hopping with no GPS dependency — it doesn't collapse when navigation is jammed.
- Proper key management and over-the-air rekeying (OTAR) instead of 111111-style passwords.
- Verified firmware boot (measured boot) — something the original simply lacks.
- More modes: alongside TETRA also DMR, M17, P25 and FM — which we already have.
To be clear: this is research
I treat this like any other bench project: HAM, lab, research. I transmit only in permitted bands and power levels, under my own licence; features like encryption or hopping are a research topic, not something you fire up on the amateur bands. I'm not reproducing military waveforms or interoperability with any army — the goal is an open, civilian, multi-mode SDR handheld with capability comparable to AZART.
That was part one — from requirements to hardware. In part two I take the original apart: what's really inside the AZART and why the “indestructible” radio failed in Ukraine. After that I plan a proof-of-concept on an off-the-shelf module (AntSDR / Pluto) with the TETRA stack ported over. Got thoughts — get in touch. 73!