Usdx
Simple and experimental (class-E driven) SSB transceiver.
Install / Use
/learn @threeme3/UsdxREADME
uSDX: micro Software Defined Transceiver
uSDX is a simple and experimental (Class-E driven) SSB and CW SDR transceiver. It can be used to make QRP SSB contacts, or (in combination with a PC) used for the digital modes such as FT8, JS8, FT4. It can be fully-continuous tuned through bands 80m-10m in the LSB/USB-modes with a 2400Hz bandwidth has up to 5W PEP SSB output and features a software-based full Break-In VOX for fast RX/TX switching in voice and digital operations.
The SSB transmit-stage is implemented entirely in digital and software-based manner: at the heart the ATMEGA328P is sampling the input-audio and reconstructing a SSB-signal by controlling the SI5351 PLL phase (through tiny frequency changes over 800kbit/s I2C) and controlling the PA Power (through PWM on the key-shaping circuit). In this way a highly power-efficient class-E driven SSB-signal can be realized; a PWM driven class-E design keeps the SSB transceiver simple, tiny, cool, power-efficient and low-cost (ie. no need for power-inefficient and complex linear amplifier with bulky heat-sink as often is seen in SSB transceivers).
For the receiver, most parts are implemented in digital manner (software): the ATMEGA328P is implementing a 90 degree phase shift circuit, the (CW/SSB) filter circuit and the audio amplifier circuit (now a class-D amplifier). This has simplifies the uSDX circuit a lot, and there are a number of advantages and features (compared to an analog approach): there is no longer a need for an I/Q alignment procedure due to the very accurate 90 degree Hilbert phase shifter; and there are now adjustable IF DSP filters for CW and SSB; and there is an AGC and there is a noise-reducing DSP signal conditioning function and there are three indepent built-in attenuators in the analog front-end which helps utilizing the full dynamic range. The speaker is directly connected and driven by the ATMEGA. A digital mixer with narrow low-pass window (2 kHz), steep roll-off (-45dB/decade) combined with an oversampling and decimating ADC are responsible for a processing gain, dynamic range and alias rejection sufficient to handle weak and strong signal conditions (e.g. contests or listening on 40m just next to broadcasting band).
This experiment is created to try out what is can be achieved with minimal hardware while moving complexity towards software; here the approach followed is to simplify the design where possible while keep a reasonable performance. The result is a cheap, easy to build, versatile QRP SSB transceiver that actually is quite suitable for making QSOs (even in contest situations), however due to the experimental nature some parts are still in progress and hence limited. Feel free to try it out or to experiment with this sketch, let me know your thoughts or contribute here: https://github.com/threeme3/usdx
Note: there is an active online forum discussing the uSDX here: [uSDX Forum].
73, Guido pe1nnz@qsl.net

List of features:
- [Simple, fun and versatile] QRP SSB HF transceiver with embedded DSP and SDR functions;
- [EER Class-E] driven SSB transmit-stage
- Approximately 5W PEP SSB output from 13.8V supply
- All-Mode support: USB, LSB, CW, AM, FM
- DSP filters: 4000, 2500, 1700, 500, 200, 100, 50 Hz passband
- DSP features: Automatic Gain Control (AGC), Noise-reduction (NR), Voice-triggered Xmit (VOX), RX Attentuators (ATT), TX noise gate, TX drive control, Volume control, dBm/S-meter.
- SSB opposite side-band/carrier supression Transmit: better than -45dBc, IMD3 (two-tone) -33dBc, Receive: better than -50dBc
- Multiband support, continuously tunable through bands 160m-10m (and from 20kHz..99MHz with loss in performance)
- Open source firmware, built with Arduino IDE; allows experimentation, new features can be added, contributions can be shared via Github, software-complexity: 2000 lines of code
- Software-based VOX that can be used as fast Full Break-In (QSK and semi-QSK operation) or assist in RX/TX switching for operating digital modes (no CAT or PTT interface required), external PTT output/PA control with TX-delay
- Simple hardware design with only 4 ICs, a micro-controller and few transistors/passives
- Lightweight and low-cost transceiver design: because of the EER-transmitter class-E stage it is highly power-efficient (no bulky heatsinks required), and has a simple design (no complex balanced linear power amplifier required)
- Fully digital and software-based SSB transmit-stage: samples microphone-input and reconstruct a SSB-signal by controlling the phase of the SI5351 PLL (through tiny frequency changes over 800kbits/s I2C) and the amplitude of the PA (through PWM of the PA key-shaping circuit)
- Fully digital and software-based SDR receiver-stages (optionally): samples I/Q (complex) signal from Quadrature Sampling Detector digital mixer, and performs a 90-degree phase-shift mathematically in software (Hilbert-transform) and cancels out one side-band by adding them
- Three independent switchable analog front-end receiver attenuators (0dB, -13dB, -20dB, -33dB, -53dB, -60dB, -73dB)
- Receiver Noise floor MDS: –135 dBm at 28MHz (in 200Hz BW)
- Receiver Front-end selectivity: steep -45dB/decade roll-off +/-2kHz from tuned-frequency
- Blocking dynamic range: 20kHz offset 123dB, 2kHz offset 78dB
- CW decoder, Straight/Iambic-A/B keyer
- VFO A/B + RIT and Split, and corresponding relay band-filter switching via I2C
- CAT support (TS480 subset), possibility to stream audio, keys, display-text over CAT
- Optional SWR/Power measurement and PA efficiency/overload control
- Battery voltage indicator
- Probably the most cost effective and easy to build standalone SDR/SSB transceiver that you can find. Very much simplified circuit and versatile in use.
Revision History:
| Rev. | Date | Features | | ----- | ---------- | ------------------------------------------------------------------- | | [latest] | 2021-10-23 | Features for final version. | | [R1.02w] | 2021-08-23 | TX quality improvements, better robustness against RFI feedback, fix VOX issue, single encoder/button-only control option, 16MHz Arduino Uno/Nano support, CW Messages. Key click reduction, TX bandwidth control, OLED fixes, CAT remote control features including RX audio streaming. CW support, TS480 CAT support, RX quality improvments, semi-QSK, PA PTT out with TX-delay, VFO-A/B/RIT, LPF switching, backlight saving, 160m. | | [R1.02j] | 2020-10-10 | Integrated SDR receiver, CW decoder, DSP filters, AGC, NR, ATT, experimental modes CW, AM, FM, quick menu, persistent settings, improved SSB TX quality. LCD fix, selectable CW pitch. | | [R1.01d] | 2019-05-05 | Q6 now digitally switched (remove C31) - improving stability and IMD. Improved signal processing, audio quality, increased bandwidth, cosmetic changes and reduced RF feedback, reduced s-meter RFI, S-meter readings, self-test on startup. Receiver I/Q calibration, (experimental) amplitude pre-distortion and calibration. | | [R1.00] | 2019-01-29 | Initial release of SSB transceiver prototype. |
Schematic:
Below the schematic:

Hardware:
There are many uSDX constructions possible, here are a few common implementations:
- [uSDX Sandwich] by Manuel, DL2MAN;
- [uSDX Transceiver] by Barbaros Asuroglu, WB2CBA;
- other designs are announced in the [uSDX Forum] or can be googled (keywords: uSDX transceiver)
Partially assembled PCB kits can be obtained from various sources:
- Sunil (VU3SUA), with shop: https://inkits.in , providing kits in India;
- Ondra (OK1CDJ) and XYL Alexandra (OK1RS) with shop: https://www.hamshop.cz ;
- via group buys in the [uSDX Forum]
This project originally started as a QCX modification:
- [QCX Mini with uSDX daughterboard] with uSDX daughter board;
- [QCX+ modification] by Mike Dunstan, G8GYW
- [QCX-SSB mod] for the old QCX.
Firmware: download [hex file] and do the [firmware upload] (see also <sup>note 1</sup>). Use default Arduino Uno fuses (by selecting burn bootloader) and use default CPU clock (16MHz) in case you burn from source code in Arduino IDE.
Operation:
Currently, the following functions have been assigned to shortcut buttons (L=left, E=encoder, R=right) and menu-items:
| Menu Item | Function | Button | | ------------------- | -------------------------------------------- | ------ | | 1.1 Volume | Audio level (0..16) & power-off/on (turn left) | E +turn | | 1.2 Mode | Modulation (LSB, USB, CW, AM, FM) | R | | 1.3 Filter BW | Audio passband (Full, 300..3000, 300..2400, 300..1800, 500, 200, 100, 50 Hz), this also controls the SSB TX BW. | R double | | 1.4 Band | Band-switch to pre-defined CW/FT8 freqs (80,60,40,30,20,17,15,12,10,6m) | E double | | 1.5 Tuning Rate | Tuning step size 10M, 1M, 0.5M, 100k, 10k, 1k, 0.5k, 100, 10, 1 | E or E long | | 1.6 VFO Mode | Selects different VFO, or RX/TX split-VFO (A, B, Split) | 2x R long | | 1.7 RIT | RX in transit (ON, OFF) | R long | | 1.8 AGC | Automatic Gain Control (ON, OFF) | | | 1.9 NR | Noise-reduction level (0-8), load-pass & smooth | | | 1.10 ATT | Analog Attenuator (0, -13, -20, -33, -40, -53, -60, -73 dB) | | | 1.11 ATT2 | Digital Attenuator in CIC-stage (0-16) in steps of 6dB | | | 1.12 S-meter | Type of S-Meter (OFF, dBm, S, S-bar) | | | 2.1 CW Decoder | Enable/disable CW Decoder (ON, OFF) | | | 2.2 CW Tone | CW Filter+Side-tone (600, 700) | | | 2.4 Semi QSK | On TX silents RX on CW sign and word spaces | | | 2.5 Keyer speed | CW Keyer speed in Paris-WPM (1..35) | | | 2.6 Keyer mode | Type of keyer (Iambic-A, -B, Straight) | | | 2.7 K
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
