QMX: a feature-packed, high performance, 5-BAND 5W, CW and Digi-modes transceiver kit, including embedded SDR, 24-bit 48 ksps USB sound card, CAT control, synthesized VFO with TCXO reference.
The "QMX" (QRP Labs Multimode Xcvr): a feature-packed, high performance, five-band (80, 60, 40, 30 and 20m) 5W CW and Digi-modes transceiver kit, including embedded SDR receiver, 24-bit 48 ksps USB sound card, CAT control, synthesized VFO with TCXO reference. QMX may be used in CW modes standalone, or with a single USB cable to a PC for digi mode operation. QMX also incorporates standalone CW, FSKCW and WSPR beacon functionality (no PC connection required).
QMX transmits a SINGLE SIGNAL on FSK signal modes, it is not an SSB modulator with associated unwanted sideband and residual carrier, or intermodulation due to amplifier non-linearity. QMX outputs a pure single signal. QMX is, in the first firmware releases, suitable only for CW and single tone FSK modes, which covers the majority of digital modes in use today. This includes everything in WSJT-X, JS8Call, some fldigi modes e.g. RTTY, Olivia and more. QDX is not suitable for phase shift keyed modes such as PSK31 or modes involving multiple concurrent tones such as WinLink,
The Optional enclosure is black anodized extruded aluminium, very sturdy and elegant. The enclosure size is 95 x 63 x 25mm without protrusions. The front and rear panels are drilled and cut to match the QMX PCB with laser-etched lettering. The enclosure includes four self-adhesive feet and end panel securing screws.
QMX is available in kit or assembled versions.
List of features:
- 80, 60, 40, 30 and 20m
- CW and FSK Digi modes
- All features of QCX-mini (VFO A/B/Split, RIT, Message and frequency memories, beacon, keyer, etc)
- 4-5W output at 9V supply (can be built for 4-5W at 12V supply)
- SWR bridge built in
- Single signal digi mode transmission (zero unwanted sideband, zero residual carrier, zero intermodulation distortion)
- Solid-state band switching and transmit/receive switching under CAT control
- High performance embedded SDR SSB receiver with 60-70dB of unwanted sideband cancellation
- Built-in 24-bit 48ksps USB sound card
- Built-in USB Virtual COM Serial port for CAT control
- Si5351A Synthesized VFO with 25MHz TCXO as standard
- Easy to build single-board design, Professional quality 6-layer, through-hole plated, silk-screen printed PCBs
- All SMD components factory assembled
- Connectors: 2.1mm power barrel connector, USB-C (for audio and CAT control), BNC RF input/output, 3.5mm jacks for audio out, paddle/GPS/mic/PTT in, and PTT out
- Built-in test signal generator and testing tools
- Switched mode regulators Receive current 80mA, Transmit current 1.0-1.1A for 5W output with 9V supply (around 0.7A for 5W with 12V supply).
- Optional aluminium extruded cut/drilled/laser-etched black anodized enclosure
Assembly manual for PCB Rev 1 (document revision 1.00d published 26-May-2023)
Schematics for PCB Rev 1 (published 24-May-2023)
FDIM May 2023 conference proceedings article - please note that this was written in February 2023 and several changes took place between the early prototype builds and the final production model. Bear this in mind when reading the description of the QMX circuits in the article.
FDIM May 2023 seminar slides - the slides I presented at FDIM on 18-May-2023; with all due apologies for the bad jokes in the first few pages...
Firmware files will be available here soon!
QDX is an embedded SDR. To provide the highest possible performance and scope for future features, a powerful STM32 microcontroller was chosen, the STM32F446. This is a 32-bit ARM Cortex M4 with floating point unit, DSP instructions, 512K Flash and 128K RAM, plenty of I/O and running at 168 MHz. It is by far the most poweful processor used on any QRP Labs product to date. At the QMX launch, well under 25% of the system resources are used.
The first QSOs were made on the 20m band on 04-Apr-2023 with a QMX prototype built for 12V, but run at 7V supply voltage with approx 1W output to my off-center-fed-dipole antenna; the first QSO was with LZ2MP.
Excellent CW performance is and always will be a very high priority on all QRP Labs transceivers that include CW mode operation. QMX is of course no exception (there are no exceptions!).
In the graph below left you can see the measured CW filter performance of QMX (red line) vs the QCX-mini (blue line). The QMX filter is 300Hz wide (compared to the QCX-mini filter which is approximately 200Hz) but the QMX filter has much sharper edges. Both are centered on 700Hz. Note that in future QMX firmware releases, both the center frequency and the filter width will be configurable and adjustable.
Another very important feature is clean break-in operation (QSK) without audible clicks. I did a lot of work in this area to ensure that QMX has NO audible clicks at all on the transmit/receive changeover. The 700Hz sidetone frequency is a clean sinewave produced by a software emulated DDS (Direct Digital Synthesizer) running at 48ksps (kilo samples per second). The amplitude envelope of the sidetone has leading and trailing edges shaped as a raised cosine with 5ms rise/fall time. Sidetone therefore sounds extremely clean.
All transmit/receive switching in QMX is solid state (no relays) so is fast and clean. A common problem with SDR receivers is that the audio processing can have considerable latency; this is a killer for good break-in operation (QSK) because if the latency is slower than the CW dit (symbol length) then there is no time for the receiver to recover and produce any audio in the gaps between symbols and QSK is therefore impossible. SDR software running on a PC can be particularly problematic due to all the additional layers of latency involved in the operating system, as well as the DSP (digital signal processing) in the SDR itself. In QMX the SDR is implemented in the on-board powerful 168MHz 32-bit ARM Cortex M4 processor with Floating point and DSP instructions. It is therefore possible to closely control the latency performance.
In the audacity audio recordings below, the small amplitude trace is the sidetone during some CW keying. The huge amplitude tone is the reception of a massive S9++ signal injected into the QMX BNC port. It is possible to zoom in and measure the duration of the gap between key-up and the receive audio. The latency is approximately 15ms. This compares rather favourably with other well-respected transceivers:
- Elecraft KX2: 40ms (source: ARRL QST review, May 2017)
- Elecraft K3S: 14ms (source: ARRL QST review, November 2016)
- QRP Labs QCX: 22ms (source: ARRL QST review, August 2019)
- QRP Labs QMX: 15ms (my measurement)
Another method to measure the latency also yielded an almost identical result (15ms): using a dual channel digital 'scope with one channel connected to the RF input of the QMX and the other, the audio output, then enabling a gigantic RF signal. The digital 'scope allows accurate cursor measurements on a screen capture, the delay from RF in to AF out measured 15ms. The audio in ADC and audio out DAC both operate on 32-sample blocks every 667 microseconds. Most of the 15ms delay is inherent in the Digital Signal Processing.
This is one of the most interesting and unique aspects of the QMX design.
An SDR requires a quite powerful CPU for good performance. A powerful CPU goes hand in hand with relatively high current consumption compared to an analog radio. Therefore switching (buck) converters are ideal for providing a high efficiency DC-DC conversion of the 9 or 12V supply to the required internal 3.3V and 5.0V supply rails. Unfortunately switching supplies can create high amounts of RF interference at the harmonics of the switching frequency, and these interference bands can destroy reception over several kHz as the oscillation is drifty and has high phase noise.
QMX contains three buck converters, for the 3.3V, 5.0V supplies (always), and the PIN diode forward bias current (transmit-only). These are implemented with a small number of discrete components (each having resistors, capacitors, diodes, transistors and an inductor). The PWM (pulse width modulation) for the P-channel MOSFET switch is generated by the QMX CPU. The CPU also senses the output voltage via an ADC input. Accordingly the control loop for the buck converter is implemented in the CPU firmware. The PWM frequency is nominally around 116kHz.
The rather unique aspect is that the microcontroller knows the radio's operating frequency; it also knows the switching frequency. Both are known relative to the high precision 25MHz TCXO reference which is the master clock for the entire design. The CPU can calculate where the harmonics of the switching frequency occur and slightly alter the buck converter PWM frequency to move the interference far away from the operating frequency.
In practice this works very well. In the leftmost of the images below, the bottom half of the display shows the 20m FT8 waterfall at 14074 kHz. The 361st harmonic of the PWM frequency occurs at 14072.44 kHz. Even though it is only 2 or 3kHz below the operating frequency, it is still not troubling the receiver. However the upper half of the display shows the spectrum when the radio is tuned to 14071 kHz, with the harmonic very clearly visible (and high amplitude noise) at 1439 Hz audio offset and at least 500Hz either side. Now in the next right image, the PWM switching frequency was moved several 10's of kHz away and you can see the reception is perfectly clear.
Let's call it Dynamic Noise Relocation, or DNR for short. Which for the medically tended among you might remind you of another DNR (Do Not Resuscitate), which is also what will happen to your STM32F446 CPU if things go too badly wrong. Fortunately it is possible to code in numerous safety features, for example such as a simulated performance envelope, and shut down the switching regulator if the PWM duty cycle is out of the expected range for a given input supply voltage.
Another detail is necessary to resolve the chicken-and-egg problem inherent in a CPU which is the control loop of its own voltage regulator! The circuit contains a 78M33 linear voltage regulator and switches which allow the CPU to choose between the 78M33 linear regulator, and the buck converter. There's also a 47-ohm load resistor switched across the buck converter output to provide a load to operate into while spinning up the buck converter. The oscilloscope trace (third from left) shows the 3.3V and 5V rails; the 78M33 linear voltage regulator is used for the first 0.25 seconds, then the system switches across to the buck converter output. Another 25ms later the 5V regulator is ready and the audio, SDR and LCD subsystems are initialized.
The circuit also provides a soft on/off power switch, and the CPU saves QMX's current state (operating frequency, mode, band, volume etc) to EEPROM so that it can set the radio up in the same way at next power up. There's also a reverse polarity protection circuit.
With linear regulators the current consumption of QMX is a little over 220mA. With the buck converters in circuit, the current consumption drops to around 80mA (at 12V supply). An excellent result!