Skip to the content
2 layers68 × 41 mmTx-1, the printed circuit board in 3D

This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

Size
68 × 41 mm
Copper layers
2
Thickness
1.6 mm
Parts
55
Nets
31
Pads
140
Tracks, vias
221, 54
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
3 Jan 2025
Updated
2 Jun 2025

Overview

Tx-1 is an open-source printed circuit board by brucemack, from the brucemack/sdr2 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 68 × 41 mm with 55 parts on 31 nets, routed with 221 tracks and 54 vias.

It is built around the LM4562NA and SN74CBT3253D. Its parts include 25 capacitors, 18 resistors, 4 connectors and 3 ICs.

Main components

2

README

README.md

Overview

This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

System Picture

Build/Debug Commands

One-time setup of make process:

text
    git submodule update --init
    mkdir build
    cd build
    cmake -DPICO_BOARD=pico2 ..

Command used to flash code to board:

text
    ~/git/openocd/src/openocd -s ~/git/openocd/tcl -f interface/cmsis-dap.cfg -f target/rp2350.cfg -c "adapter speed 5000" -c "rp2350.dap.core1 cortex_m reset_config sysresetreq" -c "program main.elf verify reset exit"

Pico 2 Pinout Notes

text
GP0  - (Reserved for UART0 TX)
GP1  - (Reserved for UART0 RX)

GP2  - 
GP3  - 
GP4  - I2S SCK out to PCM1804 ADC and PCM5100 DAC
GP5  - RST out to PCM1804 ADC

GP6  - I2S DIN in from PC1804 ADC
GP7  - I2S BCK out to PC1804 ADC
GP8  - I2S LRCK out to PC1804 ADC
GP9  - I2S DOUT out to PCM5100 DAC

GP10 - I2S BCK out to PCM5100 DAC
GP11 - I2S LRCK out to PCM5100 DAC
GP12 - User button input 0
GP13 - User button input 1
GP14 - PTT input 
GP15 - 
GP16 - I2C0 SDA for Si5351 (Addr 0x60)
GP17 - I2C0 SCL for Si5351 (Addr 0x60)

GP18 - I2C1 SDA for display and IO expander
GP19 - I2C1 SCL for display and IO expander

IO Expander Notes

text
P0 - User indicator LED output
P1 - Audio amplifier enable (Low=enable output, high=shutdown amplifier)
P2 - ADC Input Select (Low=Microphone preamp out, High=QSD channel out)
P3 - TX band select 0
P4 - TX band select 1
P5 - RX band select 0
P6 - RX band select 1
P7 - Transmit PA enable (active low)

Wiring Notes

  • TXRX board I_PLUS (J4:1) -> Audio Breakout INL_PLUS (J4:1)
  • TXRX board I_MINUS (J4:2) -> Audio Breakout INL_MINUS (J4:2)
  • TXRX board Q_PLUS (J4:3) -> Audio Breakout INR_PLUS (J4:4)
  • TXRX board Q_MINUS (J4:5) -> Audio Breakout INR_MINUS (J4:3)
  • Microphone input is connected to the INL_PLUS/INL_MINUS pins on the audio breakout board.

Hardware Notes

Instrumentation Amplifiers on Receive Board

See Horowitz and Hill (3rd ed, section 5.16, figure 5.88) for a description of the instrumentation amplifier configuration used on the receive board. Gain for this amplifier is controlled determined by 1 + 2 Rf / Rg. Notice that the feedback path is tapped after a 47 ohm resistor to set the output impedance of the stage.

Assuming Rf is 520, Rg is 100, the theoretical gain is about 11.

Random

dBm = 30 + 20 * log(Vrms/sqrt(Z0))

Research

Consider the PCM1863 ADC?

Consider the TS5A4624 analog switch (logic high = 2.4V w/ 5V supply)

Consider PCF8574A IO expander: https://www.ti.com/lit/ds/symlink/pcf8574a.pdf?ts=1728869550852&ref_url=https%253A%252F%252Fwww.mouser.com%252F

RF Transistor: https://www.nxp.com/docs/en/data-sheet/BFU590G.pdf

References

PCM1804 Datasheet PCM5100 Datasheet

Steps to Build CMSIS-DSP

The library gets built once in a parallel project:

text
    cd ~/pico
    mkdir CMSISDSP
    cd CMSISDSP
    git clone https://github.com/ARM-software/CMSIS-DSP.git        
    git clone https://github.com/ARM-software/CMSIS_6.git
    cp $PICO_SDK_PATH/external/pico_sdk_import.cmake .

Then setup the CMakeLists.txt shown below and build:

text
    mkdir build
    cd build
    # IMPORTANT! pico2 build enables the generation of FPU instructions
    cmake -DPICO_BOARD=pico2 ..
    make -j4

What the CMakeLists.txt looks like:

text
cmake_minimum_required (VERSION 3.6)

# Pull in Pico SDK (must be before project)
include(pico_sdk_import.cmake) 

set(HOME $ENV{HOME})
set(CMSISDSP ${HOME}/pico/CMSISDSP/CMSIS-DSP)
set(CMSISCORE ${HOME}/pico/CMSISDSP/CMSIS_6/CMSIS/Core)

# Define the project
project (cmsis-dsp VERSION 0.1)

# Initialise the Pico SDK
pico_sdk_init()

add_subdirectory(${CMSISDSP}/Source bin_dsp)

target_compile_options(CMSISDSP PUBLIC 
    -Wsign-compare
    -Wdouble-promotion
    -Ofast -ffast-math
    -DNDEBUG
    -Wall -Wextra  -Werror
    -fshort-enums 
    #-fshort-wchar
)

Example of referencing the built CMSIS-DSP library in a client project:

text
set(HOME $ENV{HOME})
target_include_directories(main PRIVATE
  ${HOME}/pico/CMSISDSP/CMSIS-DSP/Include
  ${HOME}/pico/CMSISDSP/CMSIS_6/CMSIS/Core/Include
)
target_link_libraries(main
  pico_stdlib
  ${HOME}/pico/CMSISDSP/build/bin_dsp/libCMSISDSP.a
)

License

SDR2 Rig - Copyright (C) Bruce MacKinnon KC1FSZ, 2025

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

FOR AMATEUR RADIO USE ONLY. NOT FOR COMMERCIAL USE WITHOUT PERMISSION.

Parts

55
QtyValueFootprintReferences
90.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C5, C8, C12, C14, C16, C21, C22, C25
810kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R7, R8, R9, R10
610uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C6, C9, C13, C17, C18
650Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R6, R11, R12, R15, R16
40.022uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC7, C10, C19, C20
4MountingHoleMountingHole:MountingHole_3.5mmH1, H2, H3, H4
32.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR13, R17, R18
21000pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C11
2100pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4, C15
24.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC23, C24
2Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2, J4
2Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J3
2LM4562Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1, U2
13.3kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
1SN74CBT3253Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1Trifilar FT37-43bruce-footprints:FT37-43 TrifilarTR1

More from brucemack/sdr2

6
  • 4 layers70 × 100 mmTxrx-1, the printed circuit board in 3D

    Txrx-1

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    98 partsGPL-3.0
  • 2 layers60.3 × 46.5 mmKc1fsz rx6, the printed circuit board in 3D

    Kc1fsz rx6

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    54 partsGPL-3.0
  • 2 layers76.3 × 41.5 mmAudio breakout, the printed circuit board in 3D

    Audio breakout

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    46 partsGPL-3.0
  • 2 layers50 × 80 mmUtil-1, the printed circuit board in 3D

    Util-1

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    46 partsGPL-3.0
  • 2 layers25 × 70 mmBpf-1, the printed circuit board in 3D

    Bpf-1

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    31 partsGPL-3.0
  • 2 layers34.8 × 29 mmKc1fsz rx7, the printed circuit board in 3D

    Kc1fsz rx7

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    18 partsGPL-3.0

Similar boards

  • 2 layers101.6 × 137.4 mmOpenxcvr, the printed circuit board in 3D

    Openxcvr

    dawsonjon/OpenXcvr

    Cost Effective HF transceiver based on max1000 FPGA module

    155 parts38MIT
  • 2 layers81.3 × 33.7 mmSDRReciever, the printed circuit board in 3D

    SDRReciever

    Dizzerin/Software-Defined-Radio

    Quadrature sampling down converter software defined radio

    67 parts24
  • 2 layers74 × 72.1 mmENGR357 Project v1.1, the printed circuit board in 3D

    ENGR357 Project v1.1

    pricna/Software-Defined-Radio-Receiver

    Software Defined Radio receiver created for Engineering Electronics II at Walla Walla University.

    80 parts3MPL-2.0
  • 4 layers85 × 56 mmRadiohead, the printed circuit board in 3D

    Radiohead

    mpvano/radiohat2

    Software and Documentation for the Radiohat2 Project

    175 parts2MIT
  • 4 layers100 × 174.6 mmRf switchboard, the printed circuit board in 3D

    Rf switchboard

    Erhannis/rf_switchboard

    KiCAD pcb; whole heap of rf-related modules so I can figure out what works and how.

    467 parts
  • 2 layers97 × 79.5 mmMBRadioDual2, the printed circuit board in 3D

    MBRadioDual2

    LadyRoninEngineer/Si473x

    Data Supporting development of Si473x series radios

    104 parts35Unlicense
  • 2 layers79.8 × 23.9 mmSdr, the printed circuit board in 3D

    Sdr

    pd0wm/simple-sdr

    Software Defined Radio for MF bands using STM32F042

    49 parts11MIT
  • 2 layers100 × 80 mmDeltaSDR, the printed circuit board in 3D

    DeltaSDR

    cernohorsky/DeltaSDR

    HF Software Defined Radio Transceiver that includes ADC and DAC circuits. No soundcard is needed. Board communicates only trough one USB cable.

    180 parts9

Questions

How big is the Tx-1 PCB?

It measures 68 × 41 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tx-1 use?

55 parts, built around the LM4562NA and SN74CBT3253D. 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 Tx-1 KiCad files?

From the brucemack/sdr2 repository on GitHub, at the commit this page was made from: the board is hw/tx-1/tx-1.kicad_pcb and its schematic hw/audio-breakout/adc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tx-1 design in my own project?

Its repository publishes it under the GPL-3.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).