QMX+: a feature-packed, high performance, 160-6m, CW and Digi-modes transceiver kit, including embedded SDR, 24-bit 48 ksps USB sound card, CAT control, synthesized VFO with TCXO reference, RTC and internal GPS option.

Shop order

The "QMX+" (QRP+ Labs Multimode Xcvr): a feature-packed, high performance, 160-6m 3-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, CR2032 battery backed RTC, and internal GPS option. 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+ shares most of its schematic, features and performance with QMX. QMX+ and QMX run the same firmware file. But QMX+ has a larger, easier-to-build format with a QCX+ style enclosure, with plenty of space for modifications and a Dev board kit to help get you started. It has a CR2032 battery-backed Real Time Clock (battery not included) and an internal optional GPS QLG3

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. QMX+ is not yet suitable for phase shift keyed modes such as PSK31 or modes involving multiple concurrent tones such as WinLink (a later SSB firmware release will enable this).

The Optional enclosure is black anodized extruded aluminium, very sturdy and elegant. The enclosure size is 106 x 55 x 146mm deep without protrusions (knobs and connectors). 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.

Note that the included SMPS boards are also available separately in the spare parts section of the QRP Labs shop

QMX+ is available in kit or assembled versions. 

List of features:

  • Full 160m to 6m band coverage
  • CW and FSK Digi modes (SSB in future firmware release)
  • All features of QCX+ (VFO A/B/Split, RIT, Message and frequency memories, beacon, keyer, etc)
  • 3-5W output at 12V supply (can be built for 3-5W at 9V supply)
  • SWR bridge built in
  • Internal RTC powered by the common CR2032 coin cell battery (battery not included)
  • 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
  • GPS interface for frequency calibration, real time clock and location (internal WSPR beacon)
  • IQ output mode for use with SDR software
  • 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).
  • Internal microphone ready for the future SSB firmware
  • 11 GPIO ports including a 3.5mm stereo jack socket on the rear panel labelled "AUX" that may be configured as a serial port
  • Optional aluminium extruded cut/drilled/laser-etched black anodized enclosure


Make sure you have the correct assembly manual for your PCB revision, and the correct operating manual for your firmware version (see further down this page). Note that QMX+ requires firmware 1_00_019 or above. 

Assembly manual for PCB Rev 1 (document revision 1.00 published 16-May-2024)
PA transformer manual - you need this with the assembly manual (rev 1.00b published 13-Sep-2023)
Operating manual for firmware 1_00_018 (document revision 1_00_018 published 01-May-2024)
Schematics for PCB Rev 1 (published 16-May-2024)

Other documentation:

The following documents relate to QMX but are highly relevant to QMX+ which is closely related to QMX

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...
PCB Rev 1 -> Rev 2 changes briefly described

Photographs & Videos

QRP Labs videos about QMX are on YouTube at this PlayList


Please refer to the manual for the firmware update procedure, which is very easy and does not require any special hardware, software, drivers etc. It requires only a PC and an appropriate USB cable. Click the file in the first column of the table below, to download the firmware file of interest. Note that firmware files are encrypted and can only be used on the QRP Labs QMX/QMX+.  Please see the QMX page to download the firmware versions. 

Note that a new QMX+ must have firmware installed on it before you can use it; you must press the left encoder shaft button to switch on QMX+ for this to happen; during firmware update mode the LCD is blank and the backlight is off. Please refer to the assembly manual carefully for instructions and checks before applying power.  

QLG3 Internal GPS module option

QLG3 is a new GNSS receiver module specifically designed as an internal GPS option for the QMX+ transceiver. It uses the same E108 module as the popular QLG2 module but in eByte's smaller 10 x 10mm package. It has a multi-satellite constellation capability just like QLG2. Specifically, QLG2 uses the E108-GN01 module and QLG3 uses the E108-GN02 module, they are functionally equivalent but a different package size. The QLG2 module has indicator lights, a voltage regulator, 5V level conversion circuitry and an onboard STM32 microcontroller acting as a USB Virtual COM serial port. In contrast QLG3 is a bare bones "breakout" style module with very other components on board. QLG3 is supplied with the same active patch antenna as QLG2 with magnetic mount and 2m of SMA-terminated coax. 

QLG3 comes as an option for QMX+ with the necessary additional parts to install it inside the QMX+ enclosure:

  • Active patch antenna with magnetic mounting base, 2m coax and SMA plug
  • Right-angled SMA connector
  • 5-pin male header plug and matching female header plug
  • 2pcs 11mm M3 nylon hex spacer
  • 4pcs 6mm M3 nylon screws

It is important to note that on QCX-series and QMX transceivers, GPS is an external device must be plugged into the paddle port, only when you wish to use it for time, location, calibration or for WSPR beacon mode, because it otherwise would key the CW transceiver. However on the QCX+ transceiver, the QLG3 is an internal option which is wired to an independent USART (serial port) of the microcontroller, and may therefore be left connected all the time. An external GPS may still be used in QMX+, plugged into the paddle port; there is a configuration parameter in the System setup menu which defines whether the GPS services will be connected to the paddle or internal QLG3

The following photographs show the tiny QLG3 module when it is aassembled with its pin headers and SMA connector, and how it is installed inside the QMX+ at the rear panel near the BNC RF connector of QMX+. Installation of the QLG3 GPS option in QMX is described in the QMX+ Assembly manual.

Dev kit

A development kit option is available for QMX+ for your modifications and experiments. It consists of an unpopulated PCB with holes on an 0.1-inch matrix, together with four 11mm M3 nylon hex spacers and eight 6mm M3 nylon screws. This mounting hardware elevates the Dev kit PCB at a height of 11mm above the main PCB, sufficient space to clear all components on the main PCB. There are multiple labelled holes on the Dev kit which line up precisely with corresponding holes on the main QMX+ PCB, for important signals and power rails:

  • 11 GPIO pins labeled 0 to 10
  • 0V, 3.3V (Vdd) and 5V (Vcc) rails – see warning below
  • Vin/V+ supply voltage, both before and after the QMX+ Soft-switch / Reverse polarity protection
  • I2C bus signals (SDA, SCL)
  • Band0, Band1, Band2 BPF select signals
  • 6 signals for LPF selection, LPF 0 to LPF 5
  • 5 pins for each 3.5mm jack (Audio out, Paddle/Mic, PTT out, AUX) for tip/ring and switched pins
  • RF Out, which may be intercepted for example, to install an Auto-ATU module
  • One 2x2-pin and three 2x4-pin headers not connected to anything (for your mods)
  • Ref input pin (if you want to disconnect the 25MHz TCXO and use your own external reference)

You could, if you wish, fit standard female pin header sockets on the QMX+ main board and corresponding male pin headers on the bottom of the Dev board, to make connections between the boards (pin headers aren't included). 11mm is exactly the correct spacing to accommodate standard 0.1-inch pitch pin headers. 

WARNING: Incorrect use of the 3.3V (Vdd) and 5V (Vcc) rails could damage your QMX+ irreversibly, these use SMPS buck converter modules which are not protected shorts and overload. You should not connect anything to these pins unless you know what you’re doing (which means, nothing should draw any appreciable current from these pins).

CR2032 battery Real Time Clock (RTC)

The RTC in the QMX+ uses the internal RTC peripheral of the STM32 microcontroller, powered by a 3V CR2032 backup coin cell battery. According to the theoretical battery capacity of CR2032 batteries and the current consumption of the STM32 real time clock, the battery life should be 20 years. The battery is therefore quite sufficient, perhaps too sufficient; however it was chosen because it is probably THE most common and inexpensive, easily available everywhere coin cell batteries. 

For regulatory reasons of carriers such as FedEx and DHL Express, we are not able to include the CR2032 battery so you will need to source it yourself; please refer to the QMX+ assembly manual for details of how to install it. 

CW features

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. 

Buck converters

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!