Skip to the content
2 layers350 × 235 mmDogrudan sdr C, the printed circuit board in 3D

Direct-sampling SDR transceiver with four phase-coherent channels, and a class-A power amplifier for 1.8 to 54 MHz.

Size
350 × 235 mm
Copper layers
2
Thickness
1.6 mm
Parts
406
Nets
402
Pads
1,761
Tracks, vias
4, 0
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Aug 2026
Updated
1 Sep 2026

Overview

Dogrudan sdr C is an open-source printed circuit board by kocer, from the kocer/direct-sampling-sdr repository on GitHub. It is a 2-layer board of 350 × 235 mm with 406 parts on 402 nets, routed with 4 tracks and 0 vias.

It is built around the PE4312C-Z, DRV8833PWPR and TPS62130RGT, with the 74HC595D, G6KU-2F-Y-3V and 1N4148WS among its other parts. Its parts include 140 capacitors, 80 resistors, 73 inductors, 28 ICs and 28 switches. It belongs with the radio and wireless and audio and music boards of this library.

Main components

8

README

README.md

Direct-Sampling SDR

A direct-sampling software-defined radio transceiver and its power amplifier for the amateur bands from 1.8 MHz to 54 MHz.

What the equipment does

The receiver samples the antenna signal directly. It does not use a mixer and it does not use an intermediate frequency. Four receive channels operate at the same time. The four channels use one clock. Thus the channels keep a constant phase relation.

The transmitter uses the same four channels in the opposite direction. The power amplifier increases the transmit power to a maximum of 100 W.

ItemValue
Frequency range1.8 MHz to 54 MHz
Receive channels4, phase coherent
Transmit channels4
ADCAD9251BCPZ-80, 14 bit, dual, 80 MSPS
DACAD9767, 14 bit, dual, operated at 80 MSPS
FPGALattice ECP5 LFE5U-25F, BG256
Filter bands7 for each channel
Amplifier power5, 10, 25, 50, 75 and 100 W
Amplifier classA, at all power levels
Host interface2 x gigabit ethernet
Sample clock80.000 MHz VCXO, ABLNO-V
Clock jitter81 fs narrow band, 162 fs wide band
Reference10 MHz external, or GPS

The three boards

BoardFunctionSizeLayers
AMain board: ADC, DAC, FPGA, ethernet235 x 225 mm6
CRF board: filters, transmit/receive relays350 x 235 mm2
DPower amplifier: driver, finals, low-pass filters275 x 185 mm2

Board B does not exist. The first design had a separate clock board. The clock circuit is now on board A, because the distance from the clock to the ADC controls the phase accuracy.

Signal path

The receive path:

  1. The antenna connects to board C.
  2. The band filter removes the unwanted signals.
  3. The transmit/receive relay connects the filter to the receive path.
  4. The attenuator sets the signal level.
  5. Board A receives the signal.
  6. The transformer makes the signal differential.
  7. The ADC samples the signal.
  8. The FPGA processes the samples.
  9. The ethernet interface sends the data to the host.

The transmit path:

  1. The host sends the data to board A.
  2. The DAC makes the analog signal.
  3. Board D receives the signal.
  4. The driver stage increases the power.
  5. The four final transistors increase the power to 100 W.
  6. The low-pass filter removes the harmonics.
  7. The directional coupler measures the forward and the reflected power.
  8. The antenna radiates the signal.

Why direct sampling

A superheterodyne receiver mixes the input signal to a lower frequency. The mixer makes unwanted products. The local oscillator adds noise. Each conversion stage adds distortion.

A direct-sampling receiver has none of these stages. The ADC samples the antenna signal. The remaining signal path is digital, thus it is exact and it does not change with the temperature.

The clock sets the limit at high frequency. The jitter of the clock gives this maximum signal-to-noise ratio:

text
SNR = -20 x log10(2 x pi x f x t_jitter)

The VCXO contributes 60 fs and the fan-out buffer adds 54 fs in a narrow band or 150 fs in a wide band. Together they give 81 fs and 162 fs.

Input frequencyJitterSNR limitWhat limits the result
30 MHz81 fs96 dBThe noise of the ADC
500 MHz81 fs72 dBAt the limit
500 MHz162 fs66 dBThe jitter of the clock

In the amateur bands the noise of the ADC is the limit and the clock is not. The clock becomes the limit only when the receiver undersamples near 500 MHz. A better clock part costs ten times more, and 66 dB is still 11 effective bits.

Why four coherent channels

Four channels that share one clock keep a constant phase relation. This makes these functions possible:

  • Removal of a local noise source with a second antenna
  • Measurement of the direction of a signal
  • Increase of the antenna gain in one direction
  • Measurement of meteor trails with two or more sites

A receiver with one channel cannot do these functions.

Licenses

ContentLicense
Hardware designCERN-OHL-S-2.0
Software and scriptsGPL-3.0
DocumentationCC-BY-SA-4.0

Repository content

DirectoryContent
hardware/kicad/A_mainBoard A: schematic, PCB, generator scripts
hardware/kicad/C_rfBoard C
hardware/kicad/D_paBoard D
hardware/kicad/libSymbols and footprints
gateware/rtlVerilog source for the ECP5
gateware/simTest benches
gateware/sentezSynthesis and place-and-route scripts
docsDesign documentation

The schematics are not drawn by hand. Python scripts make them. Each script writes one sheet. To change a sheet, change the script and run it again. The document docs/TOOLS.md gives the procedure.

Status

The three schematics are complete. The electrical rule check finds no errors on the three boards. The placement is complete. The routing is in progress. No board is ready for manufacture.

The gateware operates in simulation. 21 test benches pass. The design fits in the ECP5-25F and it meets the timing of all five clocks. The receive chain, the transmit chain, the packet interface and the control interface are complete. The SDRAM interface and the digital predistortion do not exist.

Verification tools examine the boards and the schematics. They find faults that the electrical rule check cannot find. An example: a symbol pin number that does not agree with a footprint pad number makes a net that goes nowhere, but the rule check sees a correct wire. The commit messages give the details of each fault.

Parts

406
QtyValueFootprintReferences
410RR_0603_1608MetricR107, R108, R116, R117, R125, R126, R134, R135, R607, R608, R612, R613, R617, R618, R622, R623 +25
2910kR_0603_1608MetricR400, R401, R402, R403, R404, R405, R406, R409, R410, R411, R412, R413, R414, R415, R418, R419 +13
28G6KU-2F-YRelay_DPDT_Omron_G6K-2F-YK11, K12, K13, K14, K15, K16, K17, K21, K22, K23, K24, K25, K26, K27, K31, K32 +12
25100nFC_0603_1608MetricC600, C601, C602, C603, C604, C605, C606, C611, C616, C621, C626, C631, C636, C641, C646, C651 +9
1610nFC_0603_1608MetricC609, C614, C619, C624, C629, C634, C639, C644, C649, C654, C659, C664, C669, C674, C679, C684
161uHL_1210_3225MetricL1000, L1002, L1006, L1008, L1036, L1038, L1042, L1044, L1072, L1074, L1078, L1080, L1108, L1110, L1114, L1116
162.2uFC_0603_1608MetricC610, C615, C620, C625, C630, C635, C640, C645, C650, C655, C660, C665, C670, C675, C680, C685
16270pFC_0603_1608MetricC1025, C1027, C1031, C1033, C1061, C1063, C1067, C1069, C1097, C1099, C1103, C1105, C1133, C1135, C1139, C1141
16DRV8833PWPRHTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask2.46x2.31mm_ThermalViasU70, U71, U72, U73, U74, U75, U76, U77, U78, U79, U80, U81, U82, U83, U84, U85
121N4148WSD_SOD-323D102, D105, D106, D111, D114, D115, D120, D123, D124, D129, D132, D133
8100nFC_0402_1005MetricC407, C408, C416, C417, C425, C426, C434, C435
81200pFC_0603_1608MetricC1007, C1009, C1043, C1045, C1079, C1081, C1115, C1117
8150nHL_0603_1608MetricL1024, L1026, L1060, L1062, L1096, L1098, L1132, L1134
8220nHL_0603_1608MetricL1018, L1020, L1054, L1056, L1090, L1092, L1126, L1128
833nHL_0603_1608MetricL1030, L1032, L1066, L1068, L1102, L1104, L1138, L1140
8390pFC_0603_1608MetricC1005, C1011, C1041, C1047, C1077, C1083, C1113, C1119
8470nHL_0805_2012MetricL1012, L1014, L1048, L1050, L1084, L1086, L1120, L1122
8470pFC_0603_1608MetricC1019, C1021, C1055, C1057, C1091, C1093, C1127, C1129
86800pFC_0603_1608MetricC1001, C1003, C1037, C1039, C1073, C1075, C1109, C1111
8680pFC_0603_1608MetricC1013, C1015, C1049, C1051, C1085, C1087, C1121, C1123
774HC595DSOIC-16_3.9x9.9mm_P1.27mmU60, U61, U62, U63, U64, U65, U66
41.5uHL_1210_3225MetricL1022, L1058, L1094, L1130
4100kR_0603_1608MetricR104, R113, R122, R131
412pFC_0603_1608MetricC1035, C1071, C1107, C1143
4180pFC_0603_1608MetricC1017, C1053, C1089, C1125
418uHL_1210_3225MetricL1004, L1040, L1076, L1112
41kR_0603_1608MetricR103, R112, R121, R130
42.2uHL_1210_3225MetricL1016, L1052, L1088, L1124
42N7002SOT-23QT1, QT2, QT3, QT4
43.3uHL_1210_3225MetricL1010, L1046, L1082, L1118
456pFC_0603_1608MetricC1029, C1065, C1101, C1137
4680nHL_1210_3225MetricL1028, L1064, L1100, L1136
468pFC_0603_1608MetricC1023, C1059, C1095, C1131
4820nHL_1210_3225MetricL1034, L1070, L1106, L1142
4G6K-2F-YRelay_DPDT_Omron_G6K-2F-YKT1, KT2, KT3, KT4
4GDT 90VGDT_Disc_D12mm_W3.9mm_P7.5mmE100, E109, E118, E127
4PE4312C-ZTQFN-20-1EP_4x4mm_P0.5mm_EP2.1x2.1mmU40, U41, U42, U43
4SMBJ20AD_SMBD101, D110, D119, D128
3MountingHole_3.2mm_M3MountingHole_3.2mm_M3H2, H3, H4
3​FIDFiducial_1mm_Mask2mmFID1, FID2, FID3
222uFC_0603_1608MetricC80, C81
1105kR_0603_1608MetricR80
110uFC_1206_3216MetricC83
12.2uHL_Taiyo-Yuden_NR-30xxL80
120kR_0603_1608MetricR81
1A kartinaPinHeader_2x10_P2.54mm_VerticalJ80
1A kartina #2PinHeader_1x06_P2.54mm_VerticalJ81
1D kartinaPinHeader_1x06_P2.54mm_VerticalJ90
1MountingHole_3.2mm_M3_PadMountingHole_3.2mm_M3_PadH1
1RX1 -> ASMA_Amphenol_132289_EdgeMountJ82
1RX2 -> ASMA_Amphenol_132289_EdgeMountJ83
1RX3 -> ASMA_Amphenol_132289_EdgeMountJ84
1RX4 -> ASMA_Amphenol_132289_EdgeMountJ85
1SMA anten 1SMA_Amphenol_132289_EdgeMountJ1
1SMA anten 2SMA_Amphenol_132289_EdgeMountJ2
1SMA anten 3SMA_Amphenol_132289_EdgeMountJ3
1SMA anten 4SMA_Amphenol_132289_EdgeMountJ4
1TPS62130VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mmU90
1TX1 <- ASMA_Amphenol_132289_EdgeMountJ86
1TX2 <- ASMA_Amphenol_132289_EdgeMountJ87
1TX3 <- ASMA_Amphenol_132289_EdgeMountJ88
1TX4 <- ASMA_Amphenol_132289_EdgeMountJ89
1​+3V3TestPoint_Pad_D1.5mmTP2
1​+5VTestPoint_Pad_D1.5mmTP1
1​RX1_OUTTestPoint_Pad_D1.5mmTP4
1​RX2_OUTTestPoint_Pad_D1.5mmTP5
1​RX3_OUTTestPoint_Pad_D1.5mmTP6
1​RX4_OUTTestPoint_Pad_D1.5mmTP7
1​VIN_PROTTestPoint_Pad_D1.5mmTP3

More from kocer/direct-sampling-sdr

2
  • 6 layers235 × 225 mmDogrudan sdr A, the printed circuit board in 3D

    Dogrudan sdr A

    kocer/direct-sampling-sdr

    Direct-sampling SDR transceiver with four phase-coherent channels, and a class-A power amplifier for 1.8 to 54 MHz.

    297 parts1
  • 2 layers275 × 185 mmDogrudan sdr D, the printed circuit board in 3D

    Dogrudan sdr D

    kocer/direct-sampling-sdr

    Direct-sampling SDR transceiver with four phase-coherent channels, and a class-A power amplifier for 1.8 to 54 MHz.

    265 parts1

Similar boards

  • 8 layers140 × 314.2 mmRabbit body c, the printed circuit board in 3D

    Rabbit body c

    seralexeev/rabbit

    rabbit source code

    673 parts1
  • 6 layers45.5 × 96 mmLinht hw, the printed circuit board in 3D

    Linht hw

    M17-Project/LinHT-hw

    LinHT - Linux-based, SDR handheld transceiver.

    258 parts221
  • 4 layers100 × 100 mmT41, the printed circuit board in 3D

    T41

    ai6ym/t41

    T41-EP SDT Files

    234 parts10
  • 2 layers14.6 × 17 mmT41-RF board Dual Attenuator daughterboard, the printed circuit board in 3D

    T41-RF board Dual Attenuator daughterboard

    DRWJSCHMIDT/T41

    This is the repository for the officially released V10, V11, and V12 versions of the T41 Software Defined Transceiver hardware and kits.

    12 parts66
  • 2 layers55 × 45 mmMBFrontEnd, the printed circuit board in 3D

    MBFrontEnd

    LadyRoninEngineer/Si473x

    Data Supporting development of Si473x series radios

    59 parts35Unlicense
  • 4 layers29 × 22 mmStepAttenuator, the printed circuit board in 3D

    StepAttenuator

    jjhorton/PMod

    A selection of Random PMod Boards

    7 parts4
  • 4 layers100 × 100 mmT41-RF board V012, the printed circuit board in 3D

    T41-RF board V012

    K0RGI/T41-K9HZ

    This is the repository for the officially released V10, V11, and V12 versions of the T41 Software Defined Transceiver hardware and kits.

    232 parts1GPL-3.0
  • 2 layers84 × 85 mmHbr mk2-rxtx, the printed circuit board in 3D

    Hbr mk2-rxtx

    afiskon/hbr-mk2

    All HF bands QRP CW/SSB transceiver

    239 parts76MIT

Questions

How big is the Dogrudan sdr C PCB?

It measures 350 × 235 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Dogrudan sdr C use?

406 parts, built around the PE4312C-Z, DRV8833PWPR, TPS62130RGT and 74HC595D. 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 Dogrudan sdr C KiCad files?

From the kocer/direct-sampling-sdr repository on GitHub, at the commit this page was made from: the board is hardware/kicad/C_rf/dogrudan_sdr_C.kicad_pcb and its schematic hardware/kicad/A_main/01_power.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Dogrudan sdr C design in my own project?

Its repository states no licence, so its author keeps all rights: ask kocer before reusing the design.