Building an SDR Transmitter using GPIO Pins on an FPGA

Recently an reader named Jon wrote in and wanted to share his project called FPGA-TX. FPGA-TX is software that provides low-cost SDR transmit capabilities on an FPGA. It works in a similar way to RPiTX which is by simply turning the GPIO pins on and off very quickly in such as way that it generates any desired AM/FM/SSB transmission. These methods are crude and require external analog filtering, but can be used for creating almost any sort of RF transmission at a wide range of frequencies extremely cheaply. These sorts of cheap transmitters are great companions to low cost SDR dongles like the RTL-SDR.

Jon’s project runs on FPGA boards and currently supports the Digilent Nexys 4 and Digilent CMOD A7 ($75) FPGA boards. An FPGA is an integrated circuit that can be easily reconfigured to implement various different digital circuits.

FPGA-TX can transmit at frequencies of up to 400 MHz and current supports AM, FM, LSB, USB, Wideband FM and Wideband FM Stereo transmission modes. It runs on Linux. The FPGA transmitter has been tested combined together with an amplifier and filter. It can also interface with a GPS unit for clock calibration.

An FPGA Based Transmitter. In the photo: FPGA, Amplifier, Filter, Attenuator, TX/RX Switch.
An FPGA Based Transmitter. In the photo: FPGA, Amplifier, Filter, Attenuator, TX/RX Switch.
The FPGA-TX Ubuntu Interface.
The FPGA-TX Ubuntu Interface.


  1. rlwdr

    From the website:
    “Before you transmit, know your laws. FPGA-TX has not been tested for compliance with regulations governing transmission of radio signals. You are responsible for using FPGA-TX legally.”

    This point cannot be emphasized enough. For those in the states, please refer to the FCC guidelines on operation of low-power stations:

    The penalties can be very substantial for non-compliance

    • AD5NL

      Yes, *especially* if using a power amplifier like this project proposes! 33 dbM should put you well above Part 15 limitations (which IIRC are somewhere around 20 dbM for most of VHF).

      On the upside, I’ve been scoping out these broadband RF amplifiers for use with my LimeSDR, whenever that arrives (maybe a month or two?). Good to see someone actually using them; even if they’re not expensive it’s always cheaper to watch someone else try it first. =)

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>