A very simple to build, Spectrum Analyzer

Page last updated on August 24, 2020 1:24 PM (VK local time) The NEW V2 PCB has arrived!

Aug 2nd 2020: Backlight resistor

July 25th, 2020 Tracking Generator !

July 8th Links corrected to new Sch.

July 8th Schematics and Menu structure updated.

July 8th BOM and Schematics updated.

July 6 (the upper frequency limit AND Si4342 module issues.)

No, not the ones above, read on please:-

A Spectrum Analyzer (SA) is a handy piece of gear to have in the Amateur Radio shack. Commercial ones are available and range from high end instruments either new or second hand, to relatively low cost units like the Rigole and Siglent instruments. (Pictured above) Still thousands of dollars though.

You can even build your own, although a fairly complex project, if you look on the web for Scotty's web pages. https://scottyspectrumanalyzer.us

Presented here is a minimal cost, "tinySA(tm)", an instrument which can be home built quickly and easily, from low cost modules available on eBay for example. NOTE: It's not a full blown SA but very useful nonetheless. Especially considering the low cost. It is based heavily on Erik's (PD0EK) original draft version but now uses a different micro controller and heavily revised software.

24TH JULY, 2020: Erik has made a commercial verion of the tinySA available, and as such, has a trademark(tm) on the design. So, from now on, the version here is called "simpleSA" for lack of a better name at this stage.

There is a web site tinySA.org that has some details of a potentially commercially available version of Erik's original design. Note, since this version is based on Erik's original concept, some limitations apply. Minimum RBW is ~3.0KHz and input bandwidth for example.

Erik's (PD0EK) Github page gives more information. https://github.com/erik_kaashoek/tinySA Possibly invalid now, see tinySA.org

There is also a groups.io Group which covers this device too. https://groups.io/g/HBTE This is actually a Home Brew Test Equipment group, hence the "HBTE".

The original tinySA uses several eBay modules which can be just connected up with co-ax cables and wires and connected to the PC. This hardly makes a fully usable and portable instrument so I decided to make a PCB for the "simpleSA" project and it is shown below. It's in the form of a 100 x 100mm sized panel from a Chinese PCB supplier at low cost. The panel is V-cut and is simply snapped into two individual PCB's to form the complete tinySA project. You can see the simplicity of simpleSA. The hard work of course, is done in Erik's choice of easily available modules and of course, the software !

Version "1" PCB for "simpleSA"

The V2.0 PCB panel has arrived (Aug 19th, 2020)

For the proposed Tracking Generator function, an additional bottom half of the panel will be required.

V2 simpleSA PCB V2.0 Looks much the same as V1,, just detail changes.

The original software didn't support an in-built display but used a PC to show the scans. The original used an Arduino NANO board but it was decided, in conjunction with WA2FZW & G3ZQC, to use an ESP32 board as it is much more powerful and has more memory plus in-built WiFi which is used to connect to the PC if required. Using a PC is not mandatory, "simpleSA" can be used on it's own, using for example, a Li-Po battery bank as power source. One big advantage also is the "simpleSA" now can have an in-built TFT display.

Dave, M0WID has also done much work on the software, using the ESP32. The ESP32 by the way, can be programmed using the Arduino IDE environment. https://www.arduino.cc/en/main/OldSoftwareReleases You will need to add the ESP32 capability to the IDE. The Schematic and PCB above, is based on Dave's work. Further work has been done by John,WA2FZW, Jim, G3ZQC and myself, vk3pe.

Currently, the software by the above is at Version 2.8 (July 2020) The TFT screen for the "simpleSA" features a touch screen menu structure. You can see the Menu structure below.

More info on this build is shown below and will be updated when required: Please note that this is not a project for inexperienced builders, there is no kit nor part by part assembly instructions.


Here is the current copy of the Schematic. It is shown for Version "2" of the PCB but the only actual PCB that has been built so far, and is shown above, is Version "1".. Like all prototypes, a few things usually go wrong ! The minor differences are shown on the Schematic in grey shaded areas.. The schematic is in two parts,

Aug 11th 2020 NEW Schematics (errors etc corrected.) the RF section. and the Control Section

*For reference only, these are the old draft Schematics. the RF section and the Control section.

Menu structure is here. Updated for Software V2.9, 12th July

This drawing gives an idea how the "simpleSA" is built.

August 1st 2020 NOTE:- the backlight resistor on the control PCB (R12) has been altered to 22k or 27k. It reduces the overall current draw a little and still the BL level is OK. THE OVERLAY AND BOM HAVE NOT YET BEEN ALTERED.

Aug 11th, 2020: This is an overlay by component value of V2 PCB. V1 is almost identical so should be OK to use also. Refer though to check the Schematic and BOM as some values may vary depending on requirements. eg attenuator's and input filter.. Bottom is very simple so not shown as yet.

July 9th 2020 BOM has been updated to better reflect the Schematics & correct SAW filter number.. (it's for DRAFT V2 PCB, NOT the v2 in Sch's above, so some parts are not required for the V1 PCB, refer to the Sch..)

*Reference ONLY the draft copy of the Bill of Material (BOM), an Excel file. !! Reference only!!.

10th August 2020: I have now ordered a small batch of the V2 panels for testing the Tracking Generator concept being worked on by Dave's software. More info as it progresses. Documents for V2.0 are in preparation.

24th Aug 2020: The V2.0 PCB panels have arrived and I have quickly assembled them and tested OK. I decided to try the "tracking generator" function software which is being worked on at this time. (Software is not released at this time) You can see the results of the test below when compared to my Rigole SA-TG which obviously costs a lot more than the "simpleSA". Very encouraging. Please note the assembly of the three PCB's is prelimiary at this point, no shielding has been fitted at this stage. (I was in a hurry to try it out ! ) Pretty good though. There is one control board and two RF boards. A panel is one of each only.

prelim assembly prelim assembly

Here are the plots comparing a bench HPF I had on hand with the Rigole and simpleSA.

compare plots

NOTE:- To use the V2.0 boards in a tracking generator, a second "RF" board is needed from a second panel. A small problem was found though, 2 track cuts have to be made on one PCB. Details soon. I "might" alter the PCB at some time to V2.1 to correct that, but right now it's not on my todo list.


Building V1 and V2.0 PCB's. (V2.0 is almost identical, the parts that need to be added on V1 are present on V2.0) I will add this specific info soon for V2.0 As of 24th Aug though, nobody but myself has V2.0 panels.

Building the PCB. The V1 PCB is the only PCB that has been released and built by several builders so far. Refer to the Schematic and BOM, as some parts need to be fitted on the rear or top of the PCB using either smd or axial parts. (Now corrected on V2.0. I have a VERY limited number of V2.0 panels available.) Email me (QRZ.COM)

In particular, note these V1 components: (July 8th, 2020)

R25, 26, 27 are NOT on V1 pcb overlay and are currently not required.

R21 and R22 need to be fitted as either smd or axial parts. They are pull-ups on the I2C bus. They are in the top centre of the picture, in case you haven't spotted them. One end soldered to the connector pins, the other end linked across the 3v3 supply rail. There is no designated place on the V1 pcb. Here's how I fitted them, using smd parts. If not comfortable with this, use leaded 1/8W preferably components.

Click for larger size.

R23, 24, 11, 18, 19 & 20 need to be fitted as either smd or axial parts. There is no designated place on the V1 pcb. Here's how I fitted them, using axial (ie leaded) 1/4W parts. Use leaded 1/8W preferably components, as they are smaller and fit nicer. The other end of the resistor wires go though JP5 and connect to the Attenuator module on the other side. NOTE: this allows the logic levels into the PE4302 to be approx. 2.5v. The minimum level is ~0.7 * 3v3 = 2.31v so there is a margain but not a lot. The PE4302 module has 12k pull-downs on my module. I decided to remove the 12k resistors from the back of the PE4302 module (6 in all) Now levels are much better and well in spec at full supply (3v3) which is to be expected with the pull-ups. I recommend doing this. Best way is with two soldering irons, simply heat both ends of each resistor at same time and the part will come off easily.

Click for larger size.

R29, R30 & C9 need to be fitted if the CAL output is required. It's a good idea to have this. These parts are best fitted using smd components on the rear of the pcb. There is a picture just below here though show how this can be done. Be patient, it is possible to fit parts like this.

Tracking Generator? A spectrum analyzer combined with a tracking generator, makes a very useful instrument to also allow sweeping of filters and such things. Briefly, the tracking generator has an oscillator which tracks that of the SA as it sweeps the selected band. This means that a signal on the exact same frequency that the SA is currently at, is generated and displayed, forming a plot of the response.

As it happens, there is a relatively simple way to do this with "simpleSA". A second RF board can be stacked on top of the normal RF board and with some slight changes to the control board to enable two additional Chip Select lines to be added to control the Si4432 modules, and of course suitable sftware to do it, we have a SA with tracking generator.

It 'should' be possible to do this with the existing V1 boards with some small modifications in hardware and by using stacking headers for 12pin connector JP1, we can easily add a second RF board for the tracking function. Most likely some shielding between the two RF boards will be needed of course. You will also need an additional RF PCB. Not aproblem if you have V1 gerbers and have bought 5 or 10 PCB's out of China.

I have incorporated the required changes in a V2.0 version of the "simpleSA" boards in future. (11th & 24th Aug, see above information) As for the needed software, thats beyond my capabilities. A draft copy of the V2 version Schematics are here and here. (NOTE R15 has been removed from the original Schematic links above) Right now I have NOT released Gerber files for this V2.0 version nor the software. Whats required? The tracking generator function can actually use the 'signal generator' function of the existing software but move it to the 2nd RF board and alter so it now tracks the SA function also. Tracking gen WORKS, see above at 24th Aug.

Building the PCB:-

The PCB uses mainly SMD components, but with care, most any experienced builder should be able to tackle this project using standard hand tools. All you need for smd parts is a soldering iron with about a 0.5 to 1mm tip, tweezers,a magnifying lamp or similar and solder wick to remove excess solder. A flux pen can be handy also. If new to smd work, some patience may also be required ! Virtually no wiring is required, just the DC input if it's not being run from a USB port.

The RF input connector is a PCB edge mount SMA type. Since the attenuator module comes with two of these which must be removed,you can re-use one of them for the RF input. I used an smd heat gun. The PCB appears to use lead free solder and its easier to remove the sockets if some standard solder is first used to pre-tin the connectors.

On the V1.0 PCB, to use the "reference output" (~-30dBm), the components shown in the Schematic for GPIO2 output, need to be mounted on the rear of the RF PCB and a thin cox cable (eg RG174) bought out to the housing chosen for the project. There are two pads on the PCB for the "FREQ OUT" and labled on the PCB rear. To AVOID SHORTS TO THE GROUND AREA , place a small piece of insulating tape under the parts. (On the V2.0 PCB, these parts will be part of the PCB.) Kapton tape is ideal if you have it.

If 3900 is used, also fit a 56k on top for best accuracy of the Cal output (-30dBm).

Software:- see https://groups.io/g/HBTE files area. It may not be the latest version there. Current Software is version 2.8 (July 2020)

Manual see above also.

June 29th, 2020: It has been reported that some Si4342 modules have low output in the "Tx" or local oscillator position even for the 150MHz input range due to the on board filters they use.. (The LO runs on the high side of the 434MHz IF, so the LO needs to sweep from ~434 to 584MHz.) Some modules on eBay will not cover that range, so ensure you buy the 240 - 960MHz modules. **If you wish to extend the 150MHz range higher, then the input LPF on my PCB would have to be modified. No info is available here for that.

June 23rd, 2020: NOTE:- Erik's tinySA original design is for an approximate upper limit of 150MHz and the input Low Pass Filter (LPF) was designed for that range. The Schematic and BOM here, is also for a 150MHz upper limit. Some Si4342 modules may not cover that range, so Erik made some changes to the Si4342 module used as the local oscillator, to extend the range. Details are in the Groups.io HBTE group, search for post #846. Briefly, it involves removing some filters used on the Si4342 board. The parts removed are small, 0402 sized, so keep this in mind if you decide to do this modification. This module is fitted in the U2 position on my board. Only change that module.

This is a copy of the changes, but please refer to the post above also. Caution, not all Si4432 modules maybe the same layout as this ! Click for larger size.


A typical "simpleSA" display on the "simpleSA" and on the PC (V2.8 software) Click picture for larger size.

30MHz Cal signal example, above..

WiFi is used to send the screen dump to a PC. The PC can also be used to adjust parameters.

The picture above shows the output from the "simpleSA"'s internal Cal output signal. It can be varied to a number of different frequencies. Here it is at 30MHz and the Cal output is a nominal -30dBm. The other signals shown with Markers "2" & "3" are harmonics of the Cal signal.

The picture below shows how the 2 PCB's are stacked with the TFT display. All connections are made using standard 0.1" headers and mating sockets.You can just see the edge of the ESP32 board mounted on the "RF" board, behind the display. Note just how small and self-contained the "simpleSA" actually is ! (50 x 100mm and apron 50mm deep.) A standard USB cable is plugged into the ESP32 for programming. (shown at right center of the picture below.)

7th May:- There is a small modification required to my V1.0 PCB. It entails swapping the Chip Select (CS) lines to the RF modules. It can also be achieved by swapping the ports in the software, but to avoid any confusion or forgetting to do it, in later software releases, it's probably best to do it on the PCB. It's in the area of ferrite beads FB6 and FB7.

Instead of fitting these two beads on the PCB, one is fitted across pads from FB6 and FB7 as you can just see in the picture. It's easier to fit if the 'thin' side of the bead is uppermost. Make sure there are no shorts to other pads. Then fit a short piece of wire is fitted as shown. I used some wire wrap wire to do it, it's easier and neater.

The Attenuator module: (not shown)

Fit this module onto the "simpleSA" board using very short spacers (eg nuts or washers) so that the 7 connections can be made without any shorts.

Some Construction pictures:-

These pictures of the V1.0 PCB give an idea of how the "simpleSA" is built. Note the use of 'Arduino stacking headers' to mount the TFT screen. (Pictures may not show the mods detailed above)

Below: The "RF module". The Attenuator module is not yet fitted, since it has not arrived, due to postal delays during Covid-19 issues as of early July, 2020. In the meantime, it has been bypassed using the wire you can see. Not ideal. The two Si4432 RF modules can be seen and the IC is the PCF8574DW. To the left side is the input low pass filter and at the bottom edge you can see the two SAW filters with impedance matching components. Almost in the middle is the ADE-25H Mixer. Note the provision for extensive shielding.

This is just a taste of the "simpleSA" build. For more information consider joining the HBTE Group as per link above.

Major components used:- (Approx. eBay prices shown in US$)


ESP32 WROVER version (eBay) [NOTE: PCB shows V1.7, 1.8 OK also.] $7.50

2 x Si4432 "RF" module (eBay) (2 for $5.00)

NOTE: I think only the 240 - 960MHz version is suitable.

PE4302 attenuator module (eBay) ( ?? ) Remove the SMA connectors before fitting.

2 x EPCOS© B3555 SAW filter 433.92MHz, ( $ ?? )

Manufacturers part number "B39431-B3555-U310", footprint "QCC8C" eg eBay UK seller hfo_poland item 263991032577


Mini-Circuits© ADE-25MH mixer (eBay) $12 for 5


320 x 240 pixel ILI9341 2.8" TFT display (eBay) $11


The 'tinySA' PCB by vk3pe, shown on this page. Gerber's will be available soon.


Page created by vk3pe (see QRZ.COM for contact details) April 2020

Last updated on June 4, 2020 3:37 PM local time.


The material presented above is for a "tinySA" based on materials and software as described. No warranty is given or implied that others may get the same results or that all parts may still be available.