

Hfsdr
SDR Badge, supports 0-300MHz 192kHz I/Q output to USB
- Size
- 99.8 × 73.8 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 146
- Nets
- 124
- Pads
- 470
- Tracks, vias
- 1,017, 149
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 25 Apr 2026
- Updated
- 8 Aug 2026
Overview
Hfsdr is an open-source printed circuit board by rhgndf, from the rhgndf/hfsdr repository on GitHub. It is a 4-layer board of 99.8 × 73.8 mm with 146 parts on 124 nets, routed with 1,017 tracks and 149 vias.
It is built around the BGA2817, LM4809 and TF-018B-H15, with the MD57E33QC3, SN74CBTLV3253D and TP4054 among its other parts. Its parts include 60 capacitors, 29 resistors, 8 ICs, 5 diodes and 4 switches. It belongs with the radio and wireless boards and the RISC-V boards of this library.
Main components
12BGA2817
SOT-363-40℃~+85℃ 0Hz~2.2GHz 20dB 20dB 20dBm 20mA 24.4dB 3.8dB 3V~3.6V 8dBm Linearization design SOT-363 RF Amplifiers ROHSNXP SemiconductorsRF AmplifiersLM4809
MSOP-8-40℃~+85℃ 0.1% 2-Channel 2V~6V 3mA 70dB Automatic mute/no-noise switch、Enable/shutdown function、ESD protection Class AB MSOP-8 Audio Amplifiers ROHSIDCHIPAudio AmplifiersTF-018B-H15
SMD1.5mm Connector and Ejector MicroSD Card (TF Card) No Push-Pull SMD SD Card / Memory Card Connector ROHSHanbo ElectronicSD Card / Memory Card ConnectorMD57E33QC3
SOT-23-5L-40℃~+125℃@(Tj) 1 120mV@(300mA) 20uA 20uVrms 3.3V 300mA 5.5V 94dB@(1kHz) Fixed Over Current Protection、Over Temperature Protection、Enable Positive SOT-23-5L Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSShanghai Mingda MicroelectronicsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSN74CBTLV3253D
SOIC-16-40℃~+85℃ 0.25ns@3.3V,50pF 10uA 2.3V~3.6V 2/8 74CBTLV Output enable high-impedance、Power-off protection Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSTexas InstrumentsSignal Switches, Multiplexers, DecodersTP4054
SOT-23-5L-40℃~+85℃ 1 25uA 4.2V 4.2V~6.5V 500mA Charging IC Lithium Battery Not supported 恒流充电、恒压充电、涓流充电、自动再充电、充电终止、可编程充电电流、软启动、欠压锁定 SOT-23-5L Battery Management ROHSUMWBattery ManagementGZ2012D601TF
0805-55℃~+125℃ 1 300mΩ 500mA 600Ω@100MHz ±25% 0805 Ferrite Beads ROHSSunlordFerrite Beads1N5819WS
SOD-3231 Independent 1A 25A 40V 500uA@40V 600mV@1A SOD-323 Schottky Diodes ROHSGuangdong HottechSchottky Diodes2T024000VX
SMD2520-4PUncategorisedhuaxindianziAO3401A
SOT-231 P-Channel 14nC@10V 30V 47mΩ@10V、60mΩ@4.5V、85mΩ@2.5V 4A 55pF 645pF 80pF 900mV SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsBAV99
SOT-231 Pair Series Connection 1.25V@150mA 100V 215mA 250mW 4A 4ns 500nA@80V SOT-23 Switching Diodes ROHSNexperiaSwitching DiodesBWSMA-KE-P001
SMD1 5.2mm 50Ω Board Side Inner hole Offset Pin SMA SMD Coaxial Connectors (RF) ROHSBAT WIRELESSCoaxial Connectors (RF)
README
README.mdhfsdr
HFSDR: host software, firmware, and hardware design for the HFSDR USB device.

Getting started
Portable Mode (not connected to a PC)
- Press the Rotary Encoder to
- Enable/ Disable FM Audio Out mode (on disabled, it plays a constant tone)
- Cycle through different LED modes
Connected to a PC
- Go to the web ui
- Connect & Pair a device
- Set the frequency & gain
- Pair the device again
- Waterfall of the wireless world should start. If it doesn't look like this, unplug the device and try again
- User manual (slides): HFSDR User Manual
- Lain Themed Web UI lain-sdr-ui
- Host testing (Python probe, GNU Radio
.grcexamples, drivers, protocol): docs/host-guide.md
Troubleshooting
- No firmware: Enter the bootloader by holding down BOOT and pressing the RST button. Use
wchispto flash the elf file in the releases - USB / stream flaky: Unplug the board or reset it a few times. The host stack sometimes needs a power cycle before enumeration, WinUSB binding, or streaming stabilizes.
- Using with GNURadio/ Python Scripting: See the driver and probe sections in docs/host-guide.md.
- Reset: Do not hold the reset button for too long
Repository layout
| Path | Contents |
|---|---|
ch32v305/ | Firmware (CH32V305). Build, flash, toolchain: ch32v305/README.md. |
client-sw/ | Host Python (hfsdr_probe, PyUSB helpers), GNU Radio blocks and examples (gr-hfsdr-lib, .grc). |
docs/ | host-guide.md — primary host-side documentation. |
hardware/ | KiCad project and related hardware files. |
scripts/ | Helper scripts (e.g. udev 99-hfsdr.rules, Windows USB checks). |
ui/ | WebUSB Web UI (Svelte/Vite). Deployed build: homepage in ui/package.json. |
Credits
- rhgndf - hard carry schematic & everything inside actually
- Hackin7 - Art, PCB rough layout & routing & some embedded
- Hack & Roll Cursor Credits + Codex - allow us to do this while being overseas/ having full time jobs
- https://github.com/ttrftech/CentSDR - Useful reference
Parts
146| Qty | Value | Footprint | References |
|---|---|---|---|
| 27 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2, C4, C11, C12, C17, C18, C19, C20, C22, C23, C34, C35, C37, C39, C41, C47 +11 |
| 21 | TestPoint | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1, TP2, TP3, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22 +5 |
| 19 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C10, C13, C14, C15, C16, C21, C24, C25, C26, C27, C28, C29, C32, C38, C42 +3 |
| 14 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3, R4, R5, R6, R12, R13, R14, R23, R24, R25, R26, R27, R28, R29 |
| 5 | 10nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C43, C44, C45, C46 |
| 5 | GZ2012D601TF | Inductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolder | FB1, FB2, FB3, FB4, FB5 |
| 4 | 220pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C57, C58, C59, C60 |
| 4 | 2k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R8, R9, R15, R16 |
| 4 | 47k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R19, R20, R21, R22 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C33, C36, C40 |
| 2 | 100uF | Capacitor_Tantalum_SMD:CP_EIA-3528-15_AVX-H_HandSolder | C30, C31 |
| 2 | 20k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R11 |
| 2 | 470 | Resistor_SMD:R_0805_2012Metric | R17, R18 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 2 | LED | easyeda:LED1206-RD_RED_XL-3216SURC-FB | D3, D4 |
| 2 | LOGO | LOGO | G***, G*** |
| 2 | MD57E33QC3 | easyeda:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR | U4, U5 |
| 1 | 100k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7 |
| 1 | 1N5819WS | Diode_SMD:D_SOD-323 | D1 |
| 1 | 2T024000VX | easyeda:OSC-SMD_4P-L2.5-W2.0-BL_X1G0054210307 | X1 |
| 1 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | AudioPlug4 | Connector_Audio:Jack_3.5mm_KoreanHropartsElec_PJ-320D-4A_Horizontal | J2 |
| 1 | BAV99 | Package_TO_SOT_SMD:SOT-23 | D5 |
| 1 | BGA2817 | Package_TO_SOT_SMD:SOT-363_SC-70-6 | U6 |
| 1 | BOOT0 | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW2 |
| 1 | BWSMA-KE-P001 | easyeda:SMA-SMD_BWSMA-KE-P001 | RF1 |
| 1 | CH32V30xRxTx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U3 |
| 1 | FPC-05F-18PH20 | easyeda:FPC-SMD_18P-P0.50_FPC-05F-18PH20 | FPC1 |
| 1 | JST PH S2B | Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal | J4 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D2 |
| 1 | LM4809 | easyeda:MSOP-8_L3.0-W3.0-P0.65-LS4.9-BL | U8 |
| 1 | MCK_OLD | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | MST-22D18G4-WT | easyeda2kicad:SW-SMD_MST-22D18G4-WT | SW3 |
| 1 | RST | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHoles | SW4 |
| 1 | SN74CBTLV3253 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | Shield GND | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |
| 1 | Si5351A-B-GT | Package_SO:MSOP-10_3x3mm_P0.5mm | Y1 |
| 1 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_RoundedPad1.0x1.5mm | JP3 |
| 1 | TF-018B-H15 | easyeda:TF-SMD_TF-018B-H15 | TF1 |
| 1 | TP4054 | Package_TO_SOT_SMD:TSOT-23-5 | U7 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | XLV320ADC6120IRTER | footprints:RTE0020A-MFG | U2 |
Questions
How big is the Hfsdr PCB?
It measures 99.8 × 73.8 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Hfsdr use?
146 parts, built around the BGA2817, LM4809, TF-018B-H15 and MD57E33QC3. 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.
Where can I download the Hfsdr KiCad files?
From the rhgndf/hfsdr repository on GitHub, at the commit this page was made from: the board is hardware/hfsdr.kicad_pcb and its schematic hardware/audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hfsdr design in my own project?
Its repository states no licence, so its author keeps all rights: ask rhgndf before reusing the design.
Similar boards
- 2 layers88.9 × 77.5 mm

- 2 layers86.4 × 54.6 mm

Usbasp cape
thinnect/beaglebone-usbasp-cape
Cape for BeagleBone that can be used for programming and logging AVR devices using usbasp connector
24 parts - 6 layers100 × 62 mm

- 4 layers85 × 53 mm

- 4 layers100 × 65 mm

Si5351AVFO
etherkit/Si5351AVFO
After any schematic change, run tools/exportdocs.sh (needs KiCad 10 kicad-cli). It rewrites docs/Si5351AVFOschematic.pdf, the netlist, SVGs and docs/erc.rpt.
140 parts - 4 layers55.9 × 84.9 mm

- 4 layers

CABadge V2 1
nbtca/CABadge
CABadge 计协电子吧唧:基于 ESP32-S3 的开源圆屏互动徽章,支持动态壁纸、触摸交互、Wi-Fi/BLE 和趣味小应用,提供 PCB、3D 打印外壳、固件及配套工具。
110 parts15MIT - 4 layers152.4 × 63.5 mm
