Close
0%
0%

Build Any RF Frontend With a Transistor

A BJT, a bad mixer, a microcontroller ADC, and entirely too much software.

Similar projects worth following
0 followers
What happens if you build an RF frontend from crude discrete parts and make software deal with the consequences?

This project explores how far DSP can compensate for bad analog hardware: noisy mixers, drifting oscillators, poor gain, limited selectivity, DC offsets, frequency errors, and all the other things dedicated RF ICs normally hide from you.

The rule is simple: avoid specialized receiver/transceiver ICs whenever possible. Use transistors, filters, cheap clock sources, ADCs, and a lot of software instead.

The first experiment is an FM broadcast receiver built around a crude BJT mixer. The goal isn't to outperform an RTL-SDR — it obviously won't. The goal is to expose the entire signal path and find out exactly what can be rescued algorithmically, what needs another transistor or filter, and where physics finally says no.

Building crude SDR with RP2040 and BJT transistor

  • 1 × Raspberry Pi Pico
  • 1 × Transistor like 2N2222

  • The transistor rules them all

    Oleg Kulykan hour ago 0 comments

    I started with the stupidest version I could think of: one BJT used as a mixer.

    HackRF provides the LO, an FM broadcast signal goes into the transistor, and I look at whatever comes out of the collector.

    The first circuit was too crude even by the standards of this project. I later added a capacitor and resistor around the transistor and got somewhat more sensible behavior, but I want to keep this version here because this is where the experiment actually started.

    Long wires that could pick up everything around are an essential part of this project.

    This first version didn't involve much RF engineering. The point was mostly to answer one question: will this thing produce a measurable downconverted signal at all?


    And apparently, yes.

    I tried different LO frequencies and checked the output both on the oscilloscope and by capturing samples for FFTs. The signal is tiny - only a few millivolts - and my oscilloscope isn't particularly helpful at that level, but something is clearly happening at the expected difference frequency.

    Moving the LO also moves the interesting part of the spectrum, which is a good indication that I'm seeing mixing rather than random setup noise.

    At this point I don't have an FM radio yet.

    I have a shitty mixer producing a very small signal that seems to contain a downconverted FM station.

    The next step is amplification / better biasing and getting those samples into the Pico. Then we'll see if DSP can turn this mess into audio.

View project log

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates