Lora SA(Spectrum Analyzer)
RF Spectrum Analyzer using Lora Radio
RadioLib SX126x Spectrum Scan
Perform a spectrum power scan using SX126x. The output is in the form of scan lines; each line has 33 power bins. The first power bin corresponds to -11 dBm, the second to -15 dBm, and so on. The higher number of samples in a bin corresponds to more power received at that level.
N in Bin / dBm 1 -11 2 -15 3 -19 4 -23 5 -27 6 -31 7 -35 8 -39 9 -43 10 -47 11 -51 12 -55 13 -59 14 -63 15 -67 16 -71 17 -75 18 -79 19 -83 20 -87 21 -91 22 -95 23 -99 24 -103 25 -107 26 -111 27 -115 28 -119 29 -123 30 -127 31 -131 32 -135 33 -139
Example: step-13 Frequancy:816.25 Power Bins: 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000, 0000,0000,0000,0000,0000,0000,0000,0000,0000,0400, 0000,0000,0000,0000,0000,0000,0006,001B,000E,0005, 0006,0002,0000,
The spectrum analyzer performs power measurements in the configured bandwidth.
The X axis represents frequency in MHZ and Y axis display actual received power. In this example above, the frequency span goes from 850 MHz to 950 MHz (that is a 100MHz range), and the visual amplitude goes from -11 dBm to -110(-139) according to the datasheet(High sensitivity: down to -148dBm) dBm.
To show the results in a plot, run the Python script RadioLib/extras/SX126x_Spectrum_Scan/SpectrumScan.py
VSCode Platform.IO development env installation
- Install VSCode
- install Platfor.IO extension
- Connect ESP32 to USB. Install USB drivers for Windows
- Clone this Git Repo or download zip of the sources
git clone https://github.com/Genaker/LoraSA.git
NOTE: in you case name will be Just LoraSA. I have LoraSA2 because I already have LoraSA folder
6. Open the Project with the VS code Platform.IO
-
Select ESP32 USB Device to program
Note: It is theoretically possible to program via WiFi and BTH.
-
Wait until you are done with the compilation and upload. Usually takes 1 minute. The first run is slower. It needs to compile all libraries.
You will have the UCOG SA logo and spectrum analyzing scanning screen when done.
Hardware
Heltec ESP32 Lora V3: https://www.amazon.com/Heltec-Development-863-870MHz-ESP32-S3FN8-902-928MHz/dp/B0D1H1FN9Y/ https://heltec.org/project/wifi-lora-32-v3/ https://www.aliexpress.us/item/3256807037422978.html
Battery with Wire JT connector : https://www.amazon.com/EEMB-2000mAh-Battery-Rechargeable-Connector/dp/B08214DJLJ
3D printed case
https://www.printables.com/model/118750-heltec-lora-32-case-for-meshtastic
https://www.thingiverse.com/thing:3125854
https://thangs.com/designer/Snake0017/3d-model/Heltec%20LoRa%2032%20Desktop%20%26%20Vehicle%20Enclosure-40844
or buy :
https://www.amazon.com/DIYmalls-ESP32-OLED-WiFi-Type-C/dp/B0BR3MQ9BG
https://www.thingiverse.com/thing:6522462
Heltec ESP32 Lora v3 Pin Map
We are using pin 41 as a Buzzer trigger. Connect buzzer + leg with pin 41 and - leg with the ground (GND). You can change the buzzer pin in the code.