Poor Man's Panadapter?

Bruce MacKinnon KC1FSZ

Hi All:

Here's an experiment that might be of interest, especially to anyone thinking about one of those fancy ICOM 73000000s.  The goal is to build a crude panadapter into my BITX rig without resorting to external PCs, SDR dongles, etc.  I am using a few cheats in my scratch-build BITX that may make this tricky on a stock unit, but I'm sure the group can figure out how to expand this into the mainstream.

It's a bit like a Sweeperino I guess.  I've built my firmware to quickly sweep the VFO across the band of interest (40m phone in my case) and then to look at the AF spectrum at each point and display the result in a simplistic spectrum display.  Obviously, this interrupts the receive for a brief instant when it is happening, but I've also set things up with an extra MOSFET so that the audio output can be suppressed during the sweep to hide the annoying sounds. You probably have this mod in your rig anyhow if you've added an AGC.

I think the most sophisticated way to go is to do some DSP fiddling of the overlapping 3 kHz segments of the spectrum that are sampled during the sweep.  At the moment I am sweeping in 500 Hz steps so there is overlap in the samples of the audio.  This needs some more experimentation to get the optimal sweep speed, the cleanest way to stitch things together, averaging, etc. but even something basic is good enough to show the activity on the band.

There's another thread going right now talking about the use of the Teensy processor, which I completely endorse.  I've used the 3.2 in all of my various BITX builds and find the added versatility of being able to do DSP very useful.  I'm not a DSP expert by any means, but there is some great capability on the Teensy boards.

I have also been using a 128x64 OLED display which makes these simple graphics possible.  I know ... it's noisy.  You guys with the giant color TFTs displays could make something even cooler I'm sure.

Here's what my initial display looks like.  The caret at the very bottom is pointing to where the VFO is currently set.  You know it's working because you can always see the signature 7199 BITX birdie!


This link is to a video that was made with the sweep slowed and the audio on so you can hear how it works.  It sounds like a strange SSTV mode, but it's actually the entire 40m phone band being analyzed for activity:

More to follow if I can improve this.


Bruce KC1FSZ


Good work.

I also scratch-built the uBitx and seems to be working OK on receive, still testing out on transmit  . . . could you share more detail/photos of your build?

Gary Anderson

Very Nice,
Curious if you are using DSP on the Teensy 3.2  Kinetis K20 Arm4 core, or using the SGTL5000 Codec for processing.  I hear great things about the Teensy DSP Audio library, but from what I have seen it is running  in the Codec.

John P

That's really neat! How long does it take to do the scan? How often do you do the scan? 
John - WA2FZW

Ashhar Farhan

Fabulous work,
Now, do two more things :
1. Using a volume control in the front end, measure the resistance at various settings and read out the readings on the analog port. 
2. Using this as a chart, you can produce a very accurate signal level to db chart.
Your spectrum analyzer is ready! 

On Wed, 25 Apr 2018, 08:12 John P, <j.m.price@...> wrote:
That's really neat! How long does it take to do the scan? How often do you do the scan? 
John - WA2FZW


Hi Bruce, have you tried using the standard 16 by 2 display usd with the uBITx in it's custom character mode? from what I recall you can load a number of bytes into the display to set the bits for each character individually, if both lines were used it can be used as an 80 by 14 dot display. 

-Justin N2TOH 

Bruce MacKinnon KC1FSZ

Hi Mike:

Great to hear from someone else scratch-building.  The details/photo of the working rig are on my QRZ page: .  The rig is built up from a lot of smaller modules that have been tweaked in different ways so there's a bit of sprawl. I'm probably supposed to be using shorter leads. :-)  But I've just started a second build which is focused on portability and I hope to have that ready for Field Day.  Send me a note with any questions.

73s, Bruce KC1FSZ

Bruce MacKinnon KC1FSZ

Hi Gary:

You are probably beyond me on this stuff so I might not be answering this question properly. I'm just using the stand-alone Teensy 3.2, no outboard Codecs or anything.  The 3.2 is fast enough to sample audio over an ADC pin and perform basic operations like filters and FFTs.  There's a DAC for output too.  Op amps are used to deal with offsets/scaling/etc.

73s, Bruce KC1FSZ

Bruce MacKinnon KC1FSZ

Hi John:

I think there is a lot of messing around with the idea needed to determine the optimal setup.  What I am using today is a sweep in 1 kHz steps across 175 kHz of the band.  Each step is 8 ms so the sweep takes a second and a half to perform.

Right now there is a button press that triggers the sweep, the result of which is frozen on the display.  And then the receiver switches back to what is was doing before on the original freq with the original gain.

Subject to change.  There may be a much better way to do this.

73s, Bruce KC1FSZ

Bruce MacKinnon KC1FSZ

Hi Justin:

I've not tried the standard display but I'm sure it would work fine.  I've got so much code built around the 128x64 OLED display that I'm kind of stuck.  If I switched displays I'd probably move to one of those monster 3" TFT color modules that a lot of the folks on this net are using.  You could also watch a football game on those things.

This sweep mechanism is crude enough that the 80x14 dots would probably be plenty precise to capture the intrinsic accuracy of the data.  This is not the kind of panadapter that you use to complain to the other station that his filter skirt is 150 Hz wide. :-)

73s, Bruce KC1FSZ

Bruce MacKinnon KC1FSZ

Funny coincidence:

I was just reading the latest edition of QST and they have a product review of the Yaesu FT-991A on page 50 (>$1,200 USD).  The reviewer states: "... the original model did have a spectrum display, but it was the less-useful single-sweep type.  In the original, pressing the SWEEP button briefly disabled the receiver and initiated a sweep to capture a snapshot of the spectrum.  The snapshot stayed in place until the next sweep. While it could be set to automatically sweep periodically, some users found that option disconcerting during normal operation."

73s, Bruce KC1FSZ