¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Homebrew spectral analyzer

 

Dave,

1) I retested the last version I had installed _15 and then I released _11.
I confirm that with the same settings, I do not have the "Spectral" view in version _15.
There are the scales, the buttons, the values, but not the spectrum.
So i think there is a pb (?)
?
2) PE4302 U5 has been replaced. Now I can follow the signal of the input J14, then input pin 14 of the PE4302 and its output pin 2, it passes well the filter and arrives in 2 of the mix IDE 25.
--......but there is a strange operation that I explain in point 3.
All this with the _11 version that remained installed
?
3)As I understand it and as you noted, the J14 entry is the LOW Frequency entry.
So by injecting a 50mhz signal, and with the right settings I should have the spectrum. Well no, nothing appears!
What is even more extraordinary is that the spectrum appears without touching the previous settings by connecting to the SMA 15 socket, which is supposed to be used for HIGHT frequency.
Note that the RF switche makes the connection 1-5, so the pin 3 of the mixer ADE 25 U10 is in the air and therefore necessarily, any signal in input J14 will display nothing.
?
And since I read somewhere that at one point you reversed 2 wires.....

Here in version? _15
?
?*/
// #define SI_TG_IF_CS 2 // pin to use for tracking gen IF SI4432
// #define SI_TG_LO_CS 25 // pin to use for tracking gen LO SI4432
?
/*
?* OOPS!? M0WID got the TG CS crossed on his PCB :(
?*/
#define SI_TG_IF_CS 2 // pin to use for tracking gen IF SI4432? --->?I had corrected I think (Inverted)
#define SI_TG_LO_CS 25 // pin to use for tracking gen LO SI4432? ? ? ? ---->?I had corrected I think (Inverted)
?
// #define SI_TG_IF_CS 4 // pin to use for tracking gen IF SI4432 (swapped) ---> Comment or not? Normally? 4 is RX_CS
// #define SI_TG_LO_CS 5 // pin to use for tracking gen LO SI4432? ? ? ? ? ? ? ? ? ? ? ? ? --->?Comment or no? Normally 5 is LO_CS

so confusing...

cdt
?


Re: Homebrew spectral analyzer

 

Hi Gerard

Not sure there is any benefit in a test program for the PE4302 by itself, though I agree testing an item at a time is an excellent principle.

Providing it has power the PE4302 should power up with minimal attenuation as C0.0, C1, C2, C4, C8 and C16 are tied to ground.? There should be a signal path through it.? From what I can understand you see no signal going through the attenuator, but when you bypass it with a capacitor then you do get a signal, so either the soldering is bad or the PE4302 is bad.? I have failed to kill my PE4302 despite may attempts at reheating - they seem to be quite robust.

Unfortunately there is no way to prove the communication is working without actually writing new values to the attenuator.? Changing the Atten value in the web page should change the attenuation value of the PE4302.? the External box is for additional attenuation (or gain) applied outside of the SimpleSA.? Leave that at zero for now.

Let us test everything else apart from the PE4302.? Bypass it with a capacitor as described earlier - start by bypassing the low pass filter as well, and apply the -30dBm 30Mhz ref signal as described earlier.? Do you get a RSSI trace similar to the one I posted?? If yes then the two SI4432 modules, mixer and SAW filters are working.? Just off the bottom of your screen shot there is an IF frequency box.? Set that to 433.96MHz to match your B3555 filters.? 434MHz should be close enough.

The RSSI are the signal strength values read directly from the SI4432, without any calibration or offsets or corrections applied.

If that works then move the bypass capacitor so the low pass filter is included.? If that still works then definitely the PE4302 or its soldering is an issue.? Check there are no short circuits between the RF1 / RF2 pins and ground or 3V3 or the attenuator side of R30.

Dave


Re: Homebrew spectral analyzer

 

Dave,

Thanks for the return, I¡¯ll retest.
yes I tested by putting a capacitor in the mixer input:
Signal of 40 mhz sinusoidal and about 10mv, see pic and some harmonics?

For the view Web:
I¡¯ll run tests again with this version 15 to check the trace
?
Yes, For the 4302, it is the most difficult to weld, plus the point (repere 1) and the writings disappear with hot air and flow.
I recommended 5, I have one left. I think it must be damaged from heating it.

A good idea? is to known where the value on WEB wiev "works" on hardware to undrestood how it's work.
example: ATTEN? ?>>>works with 4203 i think
EXT ?, Pre-amp ?,? etc

However, I like this idea of small programs to test the hardware.
As you may have read, the switch test works very well
?i found a test for P4302? ?see zip file
I think we need to complete the values Data, clock, LE. (# for choice of the attenuator)
but the compilation gives errors, not being a programmer it will take me time, if you may look
an example of the errors:

<include PE43xx.h>
?
?^
?
C:\tempGG\Tests Modules\Test_PE4302\src\Test_PE4302\Test_PE4302.ino: In function 'void setup()':
?
Test_PE4302:15:5: error: 'attenuator' was not declared in this scope
?
? ? ?attenuator.begin();
?
? ? ?^
?
C:\tempGG\Tests Modules\Test_PE4302\src\Test_PE4302\Test_PE4302.ino: In function 'void loop()':
?
Test_PE4302:21:25: error: 'previousMillis' was not declared in this scope
?
? ? ?if (currentMillis - previousMillis >= interval) {
?
? ? ? ? ? ? ? ? ? ? ? ? ?^
?
Test_PE4302:25:9: error: 'level' was not declared in this scope
?
? ? ? ? ?level = level + attenuator.getStep();
?
? ? ? ? ?^
?
Test_PE4302:25:25: error: 'attenuator' was not declared in this scope
?
? ? ? ? ?level = level + attenuator.getStep();
?
? ? ? ? ? ? ? ? ? ? ? ? ?^
?
exit status 1
expected unqualified-id before '<' token

If you may correct this and put a zip file commented
Thank's
cdt


Re: Homebrew spectral analyzer

 

Hi Gerard, apologies for being slow to reply here, I was away for the last few days and am also rather busy during the day at work.? Sometimes a meeting can be a bit boring and the mind can wander - like now :)
I had a lot of trouble soldering the attenuators in place properly and it took me several attempts to get it working.? A simple test is to bypass the attenuator with a capacitor - from the SMA connector pin to the low pass filter, or even bypass the low pass filter and direct to the mixer.
If you have DC voltage where you suggest adding a capacitor between the SI4432 module and the switch then there is a problem somewhere in the SI4432 module (or the switch, or the PCB).? There should be a capacitor within the module itself, hence there was not one included in the schematic.

Regarding not seeing anything on the WiFi page - i think one problem could be that you have 60dB in the external attenuation field, and if I recall correctly the web chart does not autoscale, so the trace might be off the top.? There is also a huge offset value of 110.5dB.? A value in the range 0-10 is more likely.
Lets start by setting the sweep from 0-100MHz, internal and external attenuation to zero, RBW to auto, reference on at 30MHz, and connect the reference output to the SA low range input.? Then in the box next to the Set Actual button, set the value of the input signal, which is -30dBm and press the set actual button.? With luck that should get the offset value into the correct range.
It would also be interesting to see the RSSi trace.? Traces can be turned on/off by clicking on the legend along the bottom.

I get this:


You should use the #define TG_IF 434000000 if you are using the B3555 but lets not worry about the Tracking Generator yet - lets get the main SA working first.

Dave M0WID


Re: Homebrew spectral analyzer

 

Hello,

As I have some operating problems, I would like to test the modules independently.
Let¡¯s take an example with the RF switch.
If I inject a small signal in input? SMA 15, I must or not find it according to the state of the RF switche. (piloted by pin 17 of the ESP)
Looking online, I found this little program and adapted to our case.

void setup() {
? ?pinMode(17, OUTPUT);?
}
?
void loop() {
?
? ?digitalWrite(17, HIGH);
?
? ?delay(500);
?
? ?digitalWrite(17, LOW);
?
? ?delay(500);
}
It works very well and I have a signal or not in input of U7 SI4432 fonction state of pin 17
So the Fet control and the RF switche circuit work, it¡¯s already been tested.
Note that there is a DC voltage at the input of the SI4432. The manufacturer suggests a capacitor at the output of its RF switche.? to do?
see picture


Now I would also like to test each input attenuator.
The idea is to make a loop with variable attenuations for 2s for example 0,1,2,5,10,20,30 dbm or other to see what happens in output.
Simply change the "address" of each attenuator to test.
But this is something else to do...but anything is possible
Because I feel like my attenuators aren¡¯t working.
cdt
?


Re: Homebrew spectral analyzer

 

hello,

I made a small mistake on the previous 2 posts. This is version _15 and NOT _14

Another problem with version _15, in Sweep mode, I do not have the scan display in WIFI mode, while present on the screen. --->Same on RBW? test.? --->Ok on bandscope and SAW test
In my opinion, there must be another parameter to see (?)
?
cdt


Re: Homebrew spectral analyzer

 

I understood by looking at the schematic? of the esp32
so I fixed on the version _14 and I also set 433.92 mhz for the tracker since I have filters B3555
Some tests on sunday.?
good night
?
cdt


Re: Homebrew spectral analyzer

 

hello,

I installed the _14 version instead of the 11, but it works less well. I don¡¯t have a sweep in low. No info
I¡¯ve seen that, is there an impact?
I have compare version _14 and _11.? ?some differences on mySA folder

1) First remark
on version _14
*/
// #define SI_TG_IF_CS 2 // pin to use for tracking gen IF SI4432
// #define SI_TG_LO_CS 25 // pin to use for tracking gen LO SI4432
?
/*
?* OOPS!? M0WID got the TG CS crossed on his PCB :(? ? -----> Please explaim?what connection is it.? Start from...to ....
?
#define SI_TG_IF_CS 25 // pin to use for tracking gen IF SI4432? ?--->value? inversed must be 2 ??? ? ?2 on version _11? ?Is it good PCB?
#define SI_TG_LO_CS 2 // pin to use for tracking gen LO SI4432? ?--->value inversed must be 25 ??? ? ? ? ? 25 on version _11? ?Is it good PCB?
? ? ? ?
// #define SI_TG_IF_CS 4 // pin to use for tracking gen IF SI4432 (swapped)
// #define SI_TG_LO_CS 5 // pin to use for tracking gen LO SI4432
/*
So i have to if i have a "GOOD" PCB? ???
***
2) second remark?

We have also on Si4432

/*
?* If TG_IF is not defined then an offset is applied fom the main IF
?*/
#define TG_IF447725000// IF of M0WID build TG using 3767 SAW filters
//#define TG_IF434000000// IF of M0WID build TG using 3760 SAW filters (swapped)

All of my filters are B3555 (*4)? ---> to be modify? ?at 434000000? ? I think?

3) others things to modified???


cdt


Re: Homebrew spectral analyzer

 

Hello,

I feel like my attenuators aren¡¯t working.
Wouldn¡¯t there be a line to uncheck.?
cdt


?* Change the following definition to select the version you are using. The options are:
?*
?* PE4302_PCF
?* PE4302_GPIO
?* PE4302_SERIAL
?*/
?
#define PE4302_TYPE PE4302_SERIAL
?
/*
?* If you're using the "PE4302_PCF" mode, you need to define the I2C address for
?* the PCF8574:
?*/
?
#define PCF8574_ADDRESS 0x38 // Change for your device if necessary? ?----> to be unchecked? no PCF8574 on PCB board
?
?
/*
?* If you're using the "PE4302_SERIAL" mode, you need to define the chip select (LE)
?* pin number:
?*/
?
#define PE4302_LE 21 // Chip Select for the serial attenuator? ? ---> OK no modification
?
?
/*
?* If you're using the "PE4302_GPIO" mode, you need to define the GPIO pins used for? ? ---> here they are unchecked because no GPIO mode. Normal
?* the six data inputs to the PE4302:
?*/
?
// #define DATA_0 nn // Replace the "nn" with real pin numbers
// #define DATA_1 nn
// #define DATA_2 nn
// #define DATA_3 nn
// #define DATA_4 nn
// #define DATA_5 nn
?


Re: Homebrew spectral analyzer

 

hello,

i received the screen to day

it's work!!!??
cdt


Re: Homebrew spectral analyzer

 

Hello,

i found
it's in my_SA.h

* Change the following definition to select the version you are using. The options are:
?*
?* PE4302_PCF
?* PE4302_GPIO
?* PE4302_SERIAL
?*/
?
#define PE4302_TYPE PE4302_SERIAL




but you don't ask me for this additionnal line

If you have installed the SI4432 for the tracking generator then make sure #define TG_IF_INSTALLED and TG_LO_INSTALLED and TG_ATT_INSTALLED are not commented out in the same file.? I did not see the debug messages indicating that they had been found.
i have added it manualy on my_SA.h file? ? ?good???? Is it the good file?
#define TG_ATT_INSTALLED? ?// ajout TG_ATT_INSTALLED? forum iso hbte?

cdt


Re: Homebrew spectral analyzer

 

Hello,

I think I have a problem with maybe the P4302 of J14
Indeed, an injected -30dbm signal does not appear and nothing with antenna (on J14)
I¡¯d have to follow the signal ???
A question nevertheless. jai looked at 4302.h and cpp, and according to the electrical scheme the attenuation must be in serial mode (see on datasheet)
I see that 3 cases are planned, but what determines the serie choice. Unless I¡¯m mistaken how the serie choice is declared.
there is a reference _interface ==? P or S....,? ? ?but not being a programmer I can¡¯t interpret.
We have to be sure that the serial choice is well used.? Where is it defined?

i use the zip011 files and I read that you had some trouble with the 4302 (???)
it¡¯s just a mortgage,?you can adjust the attenuation on the web view, but maybe it doesn¡¯t go back on the 4302 circuit?
thank you?
?


Re: Homebrew spectral analyzer

 

Thank you very much for your information
This morning I did some research:
- How to use a spectrum analyzer (not yet familiar with it)
- A document explaining the calibration of an analyzer. This will give indications of its proper operation.
?
To test I have:
- 200 MHz digital oscilloscope
- An analog oscilloscope 60 mhz
- A multisignal generator FY6900 60MHZ
- Attenuator box 0 -60db, I think, but 75 Ohm? ---> to be changed to 50ohms
On the output of the reference generator, I have a signal from 200mvolts to 10mhz I think.

GM


Re: Homebrew spectral analyzer

 

Hi Gerard - that looks like a good trace to me - well done!? The peak at 0Hz is a good indication and confirms that the LO is working and that the SI4432 is receiving signals.

You are right, this is a homebrew project that is not well documented.? Sorry for that.

Regarding the SMA connectors:
J12 Ref generator out.? This is a nominally -30dBm square wave output at the frequency selected in the reference drop down (15Mhz on your screen shot).? This can be used for calibration and some tests.

J13 is the tracking generator output (low range only), also a signal generator output (low range only) and potentially if I ever get round to writing the software for it a second input channel for the spectrum analyser.? At the moment it is only used as an output.? The tracking generator is a useful feature.? As the analyser does its sweep across the? selected frequency range the tracking generator frequency also changes. When the analyser is reading the values at say 30MHz the tracking generator is outputting a signal at 30Mhz, when reading 35mHz the tracking generator outs 35mhz and so on.? This can be used to measure the response of filters, amplifiers and so on.? the tracking generator can also be set to a fixed frequency, and then becomes a signal generator output.? The output is a fairly clean sine wave.

J14 is the low frequency input/output.? It is used as an input when used as a spectrum analyser, and as an output when in signal generator mode.? you can have both this and the tracking generator as signal generators at the same time.? The signal generator output is a fairly clean sine wave.

J15 is the high frequency range input/output.? If used as a signal generator output then the signal is not clean, filtering may be needed and there is less control of the output level than on the low range.

A good test is to connect the ref generator output to the low frequency input and set the ef gen output frequency to say 30MHz.? You should then see signal peaks at 30mHz and it harmonics (60, 90, 120 etc), with a level not far off -30dBm.

To see FM broadcast radio then connect your antenna to the low freq input and adjust the range accordingly.

To see say DAB TV signals then connect your antenna to the high freq input, select high range and adjust the frequency range as needed.

Warning- Do not apply strong signals from say a radio or other signal generator without checking the signal level is ideally below -30dBm, max 0dBm.? The analyser works best if the signals presented to the SI4432 are below -30dBm.? External attenuators can be used in addition to the up to 30dB internal attenuator.

If your results from applying the reference generator output to the input look good then we can look at some other calibration steps, probably best done once you have the display working.

Good work

Dave


Re: Homebrew spectral analyzer

 

Good evening,
can you specify the title of the SMA catches. It¡¯s not necessarily clear.
I think some SMA have a dual fonction (?) May you explain with some examples what to do.
ex: I want to see the FM station,?which sma to connect the antenna?
i want to put a generator at 30 mhz, which sma to connect it
I want to see the out put of the track generator, etc, etc

Perhaps we should change the denomination of the SMA a little
?
J12 it's wrote: Reference Generator Out? ? ? ? ? ? ? ? ? ?----> ok i think only one action? ? ?A generator . frequency?? ? ? ? ? ? ? ?
J13? ? ? ? ? ? ? ?:Tracking Generator Low Frequency?Input/Output? ?----> why input/output?
J14? ? ? ? ? ? ? ?:Low frequency Input/Output? ?-->why input/output?
J15? ? ? ? ? ? ? ?:High Freq RF Input/LO Out? ? ---> I think input for > 350mhz,? Lo out for that to do?

as already said I am not an analyzer specialist.?
thank's

cdt




Re: Homebrew spectral analyzer

 

Good morning,
?
At this point the web page works, but I don¡¯t know if the spectral analyzer? itself works. There are tests to be done.
To summarize my construction:
Using the gerber files provided for the PCB of M0wid , but I modified in Kicad to make more a table unit.
So I modified the pcb in this direction. The screen (which I must receive this week will be in facade with flat cable). Add a rectifier bridge + capacitor + 5v regulator to power from a transformer.
My Errors in Kicad: Inverted SMA socket and poor ground connection on rectifier bridge. (--> fixed in kicad) but not on PCB what i received from JLCPCB. erreur seen after!?
Arduino: I kept my version 1.12.8 otherwise pb to upload. (pb wiyh version 2)
It was necessary to add the missing ESP32 cards and libraries as the compilation progressed to correct the errors.
I also had to add the Upload ESP, some download issues.
In short, we get there, by following the mistakes as they happen.
I posted some messages on the Arduino forum for this.
see here:?

What I have seen so far: A signal at 215mhz, very sporadically a signal at 11.20, 25 mhz.... and lots of signals if I touch my car remote. LOL
it's not serious tests!!

At this moment I tried to put a wire to do antenna and see if I see the stations between 88 and 103mhz.
But nothing....
I¡¯ll see if the generator¡¯s working.
So what¡¯s missing is a test procedure, like a check list...to validate the spectral analyzer.
?
cdt
?
?


Re: Homebrew spectral analyzer

 

right here


Re: Homebrew spectral analyzer

 
Edited

Can you switch to HF and take a look, 240~930MHz,and?I have collected and organized some of the problems encountered during DIY for your reference


Re: Homebrew spectral analyzer

 


Hello,
So I start to understand how the Arduino works. I fixed some manipulation errors, and in the end the Web works.
It doesn¡¯t say the spectralr analyseur works, but at least I have a view. I get the screen next week.
There are still tests to be done
?
cdt



Re: Homebrew spectral analyzer

 

I think so - cannot check at the moment.

During the boot up you should see the ip address printed out.? Connect to the simple SA using your browser? - type in the ip address

You should then see a page with the sweep with various controls on the right hand side