# Lora SA(Spectrum Analyzer) RF Spectrum Analyzer using Lora Radio ![IMG_5267](https://github.com/user-attachments/assets/4caeb467-1964-4184-ab20-ba68b97144aa) 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 1. Install VSCode 2. install Platfor.IO extension ![image](https://github.com/user-attachments/assets/00547068-6153-4c78-9f12-54981b013b06) 3. Connect ESP32 to USB. Install USB drivers for Windows 4. Clone this Git Repo or download zip of the sources ![image](https://github.com/user-attachments/assets/971b6592-3b71-414c-971c-2ecd20f0f0b7) ``` 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 ![image](https://github.com/user-attachments/assets/5066836b-32ac-4a24-ac03-b5f739a6a658) ![image](https://github.com/user-attachments/assets/da14488d-7a4a-410e-b754-59598578016d) 7. Select Proper Environment ![image](https://github.com/user-attachments/assets/a9c6557b-a387-4457-b59b-b3d7242d2826) 8. Select ESP32 USB Device to program ![image](https://github.com/user-attachments/assets/af76c4b1-7122-45e1-b26b-08b59e03ca3b) Note: It is theoretically possible to program via WiFi and BTH. 9. Programm your ESP32 ![image](https://github.com/user-attachments/assets/9e67afd8-0522-4a96-82dc-8e1cdb32add5) 10. 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. ![image](https://github.com/user-attachments/assets/6796eb5d-6e3f-45bc-b88c-251499f1ad47) You will have the UCOG SA logo and spectrum analyzing scanning screen when done. ![image](https://github.com/user-attachments/assets/f86ab32a-cab1-461e-ade9-7021136a0af7) # 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 ![image](https://github.com/user-attachments/assets/52ae4e90-5f25-4d72-888e-7586bef9df69) 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 ![image](https://github.com/user-attachments/assets/a1e00b51-5566-4ff5-98fe-67eaeb5bc81f) 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.