
ADC Board
esl-epfl/X-MODs
Modular hardware platform based on the RISC-V X-HEEP family architecture developed at ESL, targeting ultra-low-power consumption and miniaturization, facilitating the creation of wearable devices for clinical trials

Open-Source 16-bit Direct-Sampling HF SDR Transceiver | 9 kHz - 72 MHz | >100 dB Dynamic Range
All Bloks of project is an open-source printed circuit board by HarrySkySon, from the HarrySkySon/BitForge-SDR repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 6-layer board of 100 × 85 mm with 400 parts on 341 nets, routed with 4,117 tracks and 427 vias.
It is built around the F2912NCGI8, PE42582A-X and TPS7A9401DSCR, with the LP5907MFX-3.3 and CDSOD323-T05LC among its other parts. Its parts include 127 capacitors, 60 resistors, 46 inductors, 14 ICs and 2 connectors. It belongs with the radio and wireless boards of this library.
Pure Signal. Full Control.
Open-Source 16-bit Direct-Sampling HF SDR Transceiver | 9 kHz -- 72 MHz | >100 dB Dynamic Range
A high-performance Software Defined Radio transceiver built around the LTC2209 16-bit 153.6 MSPS ADC and MAX5885 16-bit DAC. Designed for demanding HF reception from VLF through the 4-meter band, with full transmit capability and instrumentation-grade dynamic range.
Note: This project is under active development. The hardware design (schematics + PCB) is complete. FPGA firmware is in progress.
| Parameter | Value |
|---|---|
| ADC | LTC2209 -- 16-bit, 153.6 MSPS |
| DAC | MAX5885 -- 16-bit, 200 MSPS (clocked at 153.6 MSPS) |
| Frequency range | 9 kHz -- 72 MHz (VLF through 4m band) |
| Nyquist bandwidth | 76.8 MHz |
| Dynamic range | >100 dB (dual DSA cascade) |
| SFDR | 100 dB (typical) |
| Noise figure | 3.0 dB (LTC6432 dominated) |
| Output IP3 | +33 dBm (at ADC driver output) |
| Clock jitter | <50 fs RMS (Si5391B, integer mode) |
| Gain range | -63.5 dB to +15.2 dB (0.25 dB steps) |
| Filter bands | 7 switched BPF + wideband master LPF |
| ADC interface | LVDS differential (17 pairs, DDR @ 153.6 MHz) |
| RX/TX switching | Atomic, single-pin, <100 ns |
| FPGA platform | ALINX AXU2CGB (Xilinx Zynq UltraScale+) |
Most open-source direct-sampling SDRs use the LTC2208 (130 MSPS). The LTC2209 pushes the sample rate to 153.6 MSPS, extending the Nyquist bandwidth to 76.8 MHz and comfortably covering the entire 9 kHz -- 72 MHz range without aliasing concerns at the band edges.
Two PE43711A DSAs in cascade provide 63.5 dB of digitally controlled attenuation in 0.25 dB steps. This is finer than most SDR designs (which use 0.5 dB or 1 dB steps) and enables precise AGC control from the FPGA without sacrificing signal quality.
Instead of the traditional separate-LNA-plus-ADC-driver chain (PGA-103 + ADA4937 or similar), this design uses the LTC6432-15 as a combined low-noise amplifier and differential ADC driver. The result is a simpler signal path with +15.2 dB fixed gain, 3.0 dB noise figure, and +33 dBm OIP3 -- all in a single IC with dual-balun impedance matching.
Two PE42582A SP8T switches route the signal through one of seven optimized bandpass filters (90 kHz -- 73 MHz) or a wideband master LPF covering the full 9 kHz -- 72 MHz range. The master LPF provides a panoramic view of the entire HF spectrum for digital waterfall display, while the BPFs deliver sharp selectivity when zoomed into a specific band.
The clock synthesizer operates in pure integer mode: 38.4 MHz TCXO x4 = 153.6 MHz. No fractional dividers means zero fractional spurs on the SDR waterfall -- a real advantage over designs using fractional-N PLLs with 25 MHz references. Clock jitter is below 50 fs RMS, preserving the full 16-bit ADC performance.
The MAX5885 16-bit DAC shares the same signal chain (filter bank, LTC6432, and RF switches) in reverse for TX. Atomic RX/TX switching is controlled by a single FPGA pin with <100 ns transition time -- no sequencing logic required.
Coverage extends from VLF (9 kHz) through the entire HF spectrum and up to the 4-meter band (70 MHz). The 3-stage RF choke network in the LNA power supply is specifically designed for continuous performance from 9 kHz to 72 MHz without resonant dips.
| Parameter | BitForge SDR | Hermes-Lite 2 | HPSDR Angelia | RX-888 MKII | Red Pitaya SDRlab 122-16 | Elad FDM-S3 |
|---|---|---|---|---|---|---|
| ADC resolution | 16-bit | 12-bit | 16-bit | 16-bit | 16-bit | 16-bit |
| Sample rate | 153.6 MSPS | 76.8 MSPS | 122.88 MSPS | 64 MSPS | 122.88 MSPS | 192 MSPS |
| SFDR | 100 dB | ~70 dB | 100 dB | 78 dB | 90 dB | 100 dB |
| Dynamic range | >100 dB | ~80 dB | >100 dB | ~85 dB | ~90 dB | >100 dB |
| Frequency range | 9 kHz -- 72 MHz | 0 -- 38.4 MHz | 0 -- 61.44 MHz | 0 -- 32 MHz | 0 -- 60 MHz | 9 kHz -- 108 MHz |
| TX capability | Yes (16-bit DAC) | Yes (12-bit) | Yes | No | Yes (14-bit) | No |
| Filter bands | 7 BPF + master LPF | 5 LPF | 7 BPF | None | None | 6 BPF |
| Clock jitter | <50 fs | Not specified | Not specified | Not specified | Not specified | Not specified |
| Gain control step | 0.25 dB | 1 dB | 0.5 dB | 0.5 dB | Analog | 0.5 dB |
| ADC driver | LTC6432 (LNA+driver) | ADC direct | ADA4937 | LTC6401 | ADC direct | Proprietary |
| License | CERN-OHL-S v2 | GPL | GPL | Closed | Closed | Closed |
| Approx. price | ~$150 (PCB+BOM) | ~$300 | ~$800+ | ~$200 | ~$500 | ~$1,200 |
┌─────────────────────────────────┐
│ FPGA (Zynq US+) │
│ ALINX AXU2CGB via J701/J901 │
│ │
│ J701: ADC LVDS (17 diff pairs) │
│ J901: DAC data + control (3.3V)│
└──┬──────────────┬───────────────┘
│ │
ADC LVDS DAC data + /RX_TX_MODE
│ │
┌─────────┐ ┌─────────┐ ┌─┴──────┐ ┌───┴──────┐
│ SMA RX │ │Block 1 │ │Block 7 │ │ Block 9 │
│ Input ├──►│DSA1 │ │LTC2209 │ │ MAX5885 │
│ (J101) │ │0-31.75dB│ │ADC │ │ DAC │
└─────────┘ └────┬────┘ └───▲────┘ └────┬─────┘
│ │ │
┌────▼─────────────┴──────────────┴────┐
│ Block 4: RF Switches │
│ 3x F2912 (atomic RX/TX) │
│ RX: Antenna→ADC TX: DAC→Antenna │
└────────────────┬──────────────────────┘
│
┌───────────▼───────────┐
│ Block 6: LTC6432 │Signal flow (RX): Antenna → ESD protection → Balun → DSA1 → Filter Bank → DSA2 → LTC6432 → RF switches → LTC2209 ADC → LVDS → FPGA
Signal flow (TX): FPGA → MAX5885 DAC → RF switches → Filter Bank → DSA2 → LTC6432 → RF switches → Antenna
| Path | Description |
|---|---|
README.md | This file |
LICENSE | CERN Open Hardware Licence v2 -- Strongly Reciprocal |
BitForge SDR_logo_invert.png | Project logo |
PROJECT_OVERVIEW_v2.0.md | Detailed technical overview of all 9 functional blocks |
ALINX_Interface_Pinout_Specification.md | FPGA carrier board connector pinout mapping |
FPGA_Interface_Voltage_Analysis.md | Voltage level and bank compatibility analysis |
pcb_design/PCB_STACKUP_IMPEDANCE.md | PCB stackup and controlled impedance specifications |
schematics/All_Bloks_of_project.kicad_sch | Top-level KiCad schematic (all blocks) |
schematics/All_Bloks_of_project.kicad_pcb | PCB layout |
schematics/All_Bloks_of_project.kicad_pro | KiCad project file |
schematics/All_Bloks_of_project.kicad_dru | Design rules |
schematics/production/LTC2209_SDR.zip | Production Gerber files |
schematics/production/LTC2209_SDR_bom.csv | Bill of Materials |
schematics/bom/ibom.html | Interactive BOM (open in browser) |
Schematics: Open schematics/All_Bloks_of_project.kicad_pro in KiCad. The top-level schematic contains all 9 functional blocks with hierarchical sheets.
PCB Layout: Open the same project file and switch to the PCB editor, or open schematics/All_Bloks_of_project.kicad_pcb directly.
Interactive BOM: Open schematics/bom/ibom.html in any web browser. This provides a visual, searchable component placement overlay on the PCB -- no KiCad installation required.
Production files: The schematics/production/ directory contains ready-to-order Gerber files and BOM.
This board connects to the ALINX AXU2CGB carrier board (Xilinx Zynq UltraScale+ XCZU2CG) via two 2x20 pin headers:
See ALINX_Interface_Pinout_Specification.md for the complete pin mapping.
This project is licensed under the CERN Open Hardware Licence Version 2 -- Strongly Reciprocal (CERN-OHL-S v2).
See the LICENSE file for the full text.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 71 | , , , , , , , , , , , , , , , +55 | ||
| 24 | 100nF | Capacitor_SMD:C_0603_1608Metric | C202, C203, C205, C617, C802, C803, C804, C805, C806, C807, C808, C809, C818, C819, C820, C821 +8 |
| 17 | 10kΩ | Resistor_SMD:R_0603_1608Metric | R102, R201, R202, R501, R614, R615, R618, R702, R703, R706, R707, R708, R710, R711, R905, R906 +1 |
| 14 | 1µF | Capacitor_SMD:C_0603_1608Metric | C102, C103, C403, C404, C501, C502, C607, C608, C621, C708, C712, C801, C904, C912 |
| 11 | 47Ω | Resistor_SMD:R_0603_1608Metric | R910, R911, R912, R913, R914, R915, R916, R917, R918, R920, R921 |
| 10 | 1uF | Capacitor_SMD:0508 | C101, C601, C602, C613, C614, C702, C703, C704, C705, C913 |
| 8 | 1000Ω@100MHz | Inductor_SMD:L_0603_1608Metric | FB102, FB201, FB402, FB501, FB601, FB701, FB702, FB901 |
| 8 | 10µF | Capacitor_SMD:C_0603_1608Metric | C603, C620, C701, C707, C709, C711, C909, C911 |
| 6 | 100nH | Inductor_SMD:L_0603_1608Metric | L354, L355, L605, L606, L609, L610 |
| 4 | 1.5u | Inductor_SMD:L_1008_2520Metric | L308, L313, L324, L325 |
| 4 | 10Ω | Resistor_SMD:R_0603_1608Metric | R607, R608, R612, R613 |
| 4 | 150pF | Capacitor_SMD:C_0603_1608Metric | C309, C316, C330, C334 |
| 4 | 24pF | Capacitor_SMD:C_0603_1608Metric | C328, C360, C363, C369 |
| 4 | 4.7µF | Capacitor_SMD:C_0603_1608Metric | C604, C706, C710, C910 |
| 4 | 51pF | Capacitor_SMD:C_0603_1608Metric | C311, C352, C364, C367 |
| 4 | CX2041NLT 1:1 | Transformer_SMD:CX2041NLT | T101, T602, T901, T902 |
| 4 | TPS7A9401DSCR | Package_SON:SON50P300X300X80-11N-D | IC602, IC702, IC703, IC902 |
| 3 | 1.2u | Inductor_SMD:L_1008_2520Metric | L304, L321, L340 |
| 3 | 100Ω | Resistor_SMD:R_0603_1608Metric | R611, R701, R919 |
| 3 | 18pF | Capacitor_SMD:C_0603_1608Metric | C333, C335, C371 |
| 3 | 1u | Inductor_SMD:L_1008_2520Metric | L309, L315, L347 |
| 3 | 1uF | Capacitor_SMD:C_0603_1608Metric | C204, C605, C606 |
| 3 | 2.2u | Inductor_SMD:L_1008_2520Metric | L314, L317, L318 |
| 3 | 22uF | Capacitor_SMD:C_0603_1608Metric | C201, C207, C208 |
| 3 | 3.9u | Inductor_SMD:L_1008_2520Metric | L307, L311, L326 |
| 3 | 390n | Inductor_SMD:L_1008_2520Metric | L323, L327, L338 |
| 3 | 47kΩ | Resistor_SMD:R_0603_1608Metric | R617, R705, R909 |
| 3 | 680n | Inductor_SMD:L_1008_2520Metric | L328, L331, L339 |
| 3 | 82pF | Capacitor_SMD:C_0603_1608Metric | C343, C347, C351 |
| 3 | F2912NCGI8 | Package_DFN_QFN:QFN50P400X400X80-21N-D | IC401, IC402, IC403 |
| 3 | LP5907MFX-3.3 | Package_TO_SOT_SMD:SOT-23-5 | IC101, IC405, IC501 |
| 2 | 1.5nF | Capacitor_SMD:C_0603_1608Metric | C306, C324 |
| 2 | 1000pF | Capacitor_SMD:C_0603_1608Metric | C622, C623 |
| 2 | 100nF | Inductor_SMD:L_0805_2012Metric | C609, C610 |
| 2 | 10nF | Inductor_SMD:L_0805_2012Metric | C615, C616 |
| 2 | 12pF | Capacitor_SMD:C_0603_1608Metric | C323, C357 |
| 2 | 130pF | Capacitor_SMD:C_0603_1608Metric | C325, C342 |
| 2 | 180n | Inductor_SMD:L_0603_1608Metric | L336, L337 |
| 2 | 1MΩ | Resistor_SMD:R_0603_1608Metric | R101, R902 |
| 2 | 1nF | Capacitor_SMD:C_0603_1608Metric | C307, C315 |
| 2 | 1µF | Inductor_SMD:L_0805_2012Metric | C611, C612 |
| 2 | 1µF | Capacitor_SMD:C_0805_2012Metric | C916, C917 |
| 2 | 2.2kΩ | Resistor_SMD:R_0603_1608Metric | R622, R623 |
| 2 | 20pF | Capacitor_SMD:C_0603_1608Metric | C619, C625 |
| 2 | 220pF | Capacitor_SMD:C_0603_1608Metric | C329, C344 |
| 2 | 22kΩ 1% | Resistor_SMD:R_0603_1608Metric | R704, R907 |
| 2 | 25Ω | Resistor_SMD:R_0603_1608Metric | R903, R904 |
| 2 | 270pF | Capacitor_SMD:C_0603_1608Metric | C302, C348 |
| 2 | 27nH | Inductor_SMD:L_0603_1608Metric | L607, L608 |
| 2 | 2pF | Capacitor_SMD:C_0603_1608Metric | C370, C374 |
| 2 | 3.3pF | Capacitor_SMD:C_0603_1608Metric | C339, C368 |
| 2 | 30pF | Capacitor_SMD:C_0603_1608Metric | C350, C373 |
| 2 | 330pF | Capacitor_SMD:C_0603_1608Metric | C319, C322 |
| 2 | 33Ω | Resistor_SMD:R_0603_1608Metric | R609, R610 |
| 2 | 360Ω | Resistor_SMD:R_0603_1608Metric | R601, R602 |
| 2 | 390pF | Capacitor_SMD:C_0603_1608Metric | C331, C336 |
| 2 | 390Ω | Resistor_SMD:R_0603_1608Metric | R603, R606 |
| 2 | 39pF | Capacitor_SMD:C_0603_1608Metric | C321, C355 |
| 2 | 4.7kΩ | Resistor_SMD:R_0603_1608Metric | R801, R802 |
| 2 | 4.7u | Inductor_SMD:L_1008_2520Metric | L301, L305 |
| 2 | 470n | Inductor_SMD:L_1008_2520Metric | L335, L342 |
| 2 | 470µH | Inductor_SMD:L_Changjiang_FNR8065S | L601, L604 |
| 2 | 47µH | Inductor_SMD:L_Sunlord_SWPA4030S | L611, L612 |
| 2 | 54Ω | Resistor_SMD:R_0603_1608Metric | R604, R605 |
| 2 | 560n | Inductor_SMD:L_1008_2520Metric | L322, L346 |
| 2 | 560nH | Inductor_SMD:L_Sunlord_SWPA252010S | L602, L603 |
| 2 | 56pF | Capacitor_SMD:C_0603_1608Metric | C337, C338 |
| 2 | 82Ω | Resistor_SMD:R_0603_1608Metric | R620, R621 |
| 2 | 91kΩ | Resistor_SMD:R_0603_1608Metric | R204, R205 |
| 2 | Adafruit Pin Header 2x20 Female 2.54mm | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J701, J901 |
| 2 | CDSOD323-T05LC | Diode_SMD:D_SOD-323_HandSoldering | TVS101, TVS901 |
| 2 | PE42582A-X | Package_DFN_QFN:QFN50P400X400X90-25N-D | IC201, IC202 |
| 2 | PE43711A-Z | Package_DFN_QFN:QFN50P400X400X90-25N-D | IC104, IC502 |
| 1 | 0,75pF | Capacitor_SMD:C_0603_1608Metric | C372 |
| 1 | 1.2nF | Capacitor_SMD:C_0603_1608Metric | C303 |
| 1 | 1.8u | Inductor_SMD:L_1008_2520Metric | L333 |
| 1 | 100pF | Capacitor_SMD:C_0603_1608Metric | C354 |
| 1 | 10pF | Capacitor_SMD:C_0603_1608Metric | C332 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C206 |
| 1 | 110nH | Inductor_SMD:L_0603_1608Metric | L348 |
The 334 most common of 400 parts.
It measures 100 × 85 mm and has 6 copper layers, 1.57 mm thick.
400 parts, built around the F2912NCGI8, PE42582A-X, TPS7A9401DSCR and LP5907MFX-3.3. 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.
From the HarrySkySon/BitForge-SDR repository on GitHub, at the commit this page was made from: the board is schematics/All_Bloks_of_project.kicad_pcb and its schematic schematics/All_Bloks_of_project.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

esl-epfl/X-MODs
Modular hardware platform based on the RISC-V X-HEEP family architecture developed at ESL, targeting ultra-low-power consumption and miniaturization, facilitating the creation of wearable devices for clinical trials

esl-epfl/CHEEP-boards
This chewing gum board is designed to be an extended-range voltage supply + current measurement circuit, intended for connection to the main board through the male pin headers to both sides.

septentrio-gnss/mosaicG5-HAT
MosaicG5-HAT: an open source Raspberry Pi HAT based on Septentrio's mosaic-G5

CausticLime1/Debugging-Board
The purpose of this project is to develop a budget-friendly electronics debugging station that includes various PCBs (Printed Circuit Boards) that incorporate different functionalities.

septentrio-gnss/TeenG5
TeenG5: Is an open source HW for mosaic G5 GNSS modules of Septentrio. It is a carrier board for Teensy computers.



jerry20091103/Teensy_Grovebox
A portable synth and music multi-tool made with Teensy 4.1