{"id":31765502,"url":"https://github.com/genaker/lorasa","last_synced_at":"2025-10-10T00:18:33.226Z","repository":{"id":317455554,"uuid":"832383077","full_name":"Genaker/LoraSA","owner":"Genaker","description":"Portable low-cost spectrum analyzer Drone detector and radio signal direction finding using ESP32 LoRa and different SDRs","archived":false,"fork":false,"pushed_at":"2025-09-30T01:31:09.000Z","size":769,"stargazers_count":20,"open_issues_count":23,"forks_count":1,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-10-09T23:23:30.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Genaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-22T23:17:02.000Z","updated_at":"2025-10-08T19:44:24.000Z","dependencies_parsed_at":"2025-10-01T01:25:49.569Z","dependency_job_id":"2b0e78c8-0d99-4a49-a71d-88f7a50e41ea","html_url":"https://github.com/Genaker/LoraSA","commit_stats":null,"previous_names":["genaker/lorasa"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Genaker/LoraSA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FLoraSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FLoraSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FLoraSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FLoraSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Genaker","download_url":"https://codeload.github.com/Genaker/LoraSA/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FLoraSA/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002385,"owners_count":26083356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-10T00:18:27.790Z","updated_at":"2025-10-10T00:18:33.217Z","avatar_url":"https://github.com/Genaker.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lora SA(Spectrum Analyzer)\n\n## Index\n\n- [Supported boards](#supported-boards)\n- [RF Spectrum Analyzer using Lora Radio](#rf-spectrum-analyzer-using-lora-radio)\n- [Features](#features)\n  - [Multiple Ranges Scan](#multiple-ranges-scan)\n  - [Waterfall](#waterfall)\n  - [RSSI Method of scan](#rssi-method-of-scan)\n  - [Multi Screen Scan](#multi-screen-scan)\n  - [Mute Audio Notifications](#mute-audio-notifications)\n  - [Pause Execution](#pause-execution)\n- [VSCode Platform.IO development env installation](#vscode-platformio-development-env-installation)\n- [Hardware](#hardware)\n- [3D printed case](#3d-printed-case)\n- [Heltec ESP32 Lora v3 Pin Map](#heltec-esp32-lora-v3-pin-map)\n- [Analog FPV OSD (ON SCREEN DISPLAY) using DFRobot OSD](#analog-fpv-osd-on-screen-display-using-dfrobot-osd)\n- [Joystick Wiring](#joystick-wiring)\n- [Buzzer/Beeper Wiring](#buzzerbeeper-wiring)\n- [Select Board to build](#select-board-to-build)\n- [WiFi and Bluetooth BT Scanning](#wifi-and-bluetooth-bt-scanning)\n- [Communication via Serial USB](#communication-via-serial-usb)\n- [Web app](#web-app)\n- [Send Scan Data via Lora](#send-scan-data-via-lora)\n- [Seek on Jam / FPV OSD using Flight controller](#seek-on-jam-fpv-osd-using-flight-controller)\n- [Platformio targets](#platformio-targets)\n\n## Supported boards: \n\n### Heltec Automation:\n\n   - Heltec Lora V3 128 x 64 OLED   \n   - Heltec Wireless Stick V3 64 x 32 (Not tested)\n   - Heltec Wireless Stick Lite V3 No Display (Not Tested)\n   - Heltec Vision Master E290 - e-Ink 296 x 128 (No OSD)\n   - Heltec Vision Master T190 - color TFT 320X170 (No OSD)\n\n### LilyGo:\n\n   - LilyGo Radio Lora T3S3 V.2 SX1262\n   - LilyGo Radio Lora T3S3 V.2 SX1280\n   - LilyGo Radio Lora T3S3 V.2 LR1121\n   - LilyGo Radio Lora T3_V1.6.1 SX1276 (Not Tested)\n\n## RF Spectrum Analyzer using Lora Radio\n\n\u003cimg src=\"https://github.com/user-attachments/assets/4caeb467-1964-4184-ab20-ba68b97144aa\" alt=\"LORA hardware\" width=\"200\"/\u003e\n\nBased on RadioLib SX126x Spectrum Scan.\n\nPerform a spectrum power scan using SX126x.\nThe output is in the form of scan lines; each line has 33 power bins.\nThe first power bin corresponds to -11 dBm, the second to -15 dBm, and so on.\nThe higher number of samples in a bin corresponds to more power received\nat that level.\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand to show BIN \u003c\u003e dBm mapping\u003c/summary\u003e\n\n```text\nN in Bin / dBm\n(0)1 -11\n2 -15\n3 -19\n4 -23\n5 -27\n6 -31\n7 -35\n8 -39\n9 -43\n10 -47\n11 -51\n12 -55\n13 -59\n14 -63\n15 -67\n16 -71\n17 -75\n18 -79\n19 -83\n20 -87\n21 -91\n22 -95\n23 -99\n24 -103\n25 -107\n26 -111\n27 -115\n28 -119\n29 -123\n30 -127\n31 -131\n32 -135\n33 -139\n```\n\u003c/details\u003e\n\nExample:\n\n```text\nstep-13 Frequency:816.25\nPower 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\n```\n\nThe spectrum analyzer performs power measurements in the configured bandwidth.\n\nThe X-axis represents frequency in MHz, and the Y-axis displays actually received power.\nIn the example above, the frequency span goes from 850 MHz to 950 MHz (that is a 100MHz range), and\nthe visual amplitude goes from -11 dBm to -110(-139) according to the datasheet (High sensitivity: down to -148dBm) dBm.\n\nTo show the results in a plot, run the Python script\nRadioLib/extras/SX126x_Spectrum_Scan/SpectrumScan.py\n\n## Features\n\n### Multiple Ranges Scan\n\nDisabled By Default\n\n```c\n// Feature to scan diapazones. Other frequency settings will be ignored.\nint SCAN_DIAPAZONES[] = {};\n//int SCAN_DIAPAZONES[] = {850890, 920950};\n```\n\nTo Enable Add/ uncomment an array of the frequencies\n\n```c\nint SCAN_DIAPAZONES[] = {850890, 920950};\n```\n\nwhere 850890 stands for 950-890Mhz range\n920950 - 920-890Mhz\nOther settings will be ignored if **Multiple Ranges Scan** is enabled.\n\n### Waterfall\n\nWaterfall showed only on One Page Scan\nto disable - uncomment this line\n\n```c\n#define WATERFALL_ENABLED true\n```\n\nWaterfall shows the last **N** = SCREEN_HEIGHT (64) - WATERFALL_START(37) - 8 (part of the ROW_STATUS_TEXT)  = **19** signal detection that exceeded set signal level\n\n### RSSI Method of scan\n\nBy default, we are using the spectralScan method of the RadioLib Library: \u003chttps://jgromes.github.io/RadioLib/class_s_x126x.html#a8a3ad4e12df862ab18b326d9dba26d66\u003e\nThis method works only with Sx1262 modules.\nWe implemented a scan using the **getRSSI** method, which has more flexibility and supports sx1276 and other modules.\nUsing this method, we also receive the signal's **dB** values, not just the O-33 number.\nTo enable this method, set the value of the **RSSI_METHOD** to true.\n\n### Multi Screen Scan\n\nSingle screen scan for now has **RANGE / 128** resolution.\nMulti-page scan can be adjusted to how many MHz per page you want to scan\n\n```c\n// frequency range in MHz to scan\n#define FREQ_BEGIN 850\n// TODO: if % RANGE_PER_PAGE  != 0\n#define FREQ_END 950\n\n// Feature to scan diapazones. Other frequency settings will be ignored.\nint SCAN_DIAPAZONES[] = {};\n// int SCAN_DIAPAZONES[] = {850890, 920950};\n\n// MHZ per page\n//To put everything into one page set RANGE_PER_PAGE = FREQ_END - 800\nunsigned int RANGE_PER_PAGE = FREQ_END - FREQ_BEGIN; // FREQ_END - FREQ_BEGIN\n//To Enable Multi Screen scan\n// unsigned int RANGE_PER_PAGE = 50;\n// Default Range on Menu Button Switch \n#define DEFAULT_RANGE_PER_PAGE = 50;\n```\n\nTo enable Multi-page by default set **RANGE_PER_PAGE** less than  **FREQ_END - FREQ_BEGIN**;\nSwitch to multi-page during regular One Screen application run. Restart the ESP32 on screen after the logo press the P button.\n\n### Mute Audio Notifications\n\nRestart ESP32, and on the logo display, press the P button.\n\n### Pause Execution\n\nPress P for more than 2 seconds. Execution will pause, and the scan's current Mhz position will be shown on the display.\nIf less, ESP32 will turn off. Fast pressing(less than 0.5 second) P button changes the notification level\n\n## VSCode Platform.IO development env installation\n\n1. Install VSCode\n2. install Platform.IO extension\n   ![image](https://github.com/user-attachments/assets/00547068-6153-4c78-9f12-54981b013b06)\n3. Connect ESP32 to USB. Install USB CP2101 drivers for Windows or other OS\n   https://docs.heltec.org/general/establish_serial_connection.html#for-windows\n   https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads\n\n   ## NOTE: MACOS Heltec USB driver \n   https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads \u003cbr/\u003e\n   I used legacy driver\n   \n5. Clone this Git Repo or download zip of the sources\n   ![image](https://github.com/user-attachments/assets/971b6592-3b71-414c-971c-2ecd20f0f0b7)\n\n    ```bash\n    git clone https://github.com/Genaker/LoraSA.git\n    ```\n\n   NOTE: in your case name will be just LoraSA. I have LoraSA2 because I already have LoraSA folder\n\n6. Open the Project with the VS code Platform.IO\n   ![image](https://github.com/user-attachments/assets/5066836b-32ac-4a24-ac03-b5f739a6a658)\n   ![image](https://github.com/user-attachments/assets/da14488d-7a4a-410e-b754-59598578016d)\n\n7. Select Proper Environment\n   ![image](https://github.com/user-attachments/assets/a9c6557b-a387-4457-b59b-b3d7242d2826)\n\n   ---\n   \n   \u003e**Important note:** If using a Heltec V3 board, make sure your ESP32 Expressif catalog is up to date before selecting environment, otherwise might get a build time error such as: `Error: Unknown board ID 'heltec_wifi_lora_32_V3'` when trying to select the environment.\n   \u003e\n   \u003eOpen a PlatformIO CLI: https://docs.platformio.org/en/latest/integration/ide/vscode.html#platformio-core-cli\n   \u003e\n   \u003eRun: `pio pkg update -g -p espressif32`\n   \n8. Select ESP32 USB Device to program\n   ![image](https://github.com/user-attachments/assets/af76c4b1-7122-45e1-b26b-08b59e03ca3b)\nNote: It is theoretically possible to program via WiFi and BTH.\n9. Program your ESP32\n    ![image](https://github.com/user-attachments/assets/9e67afd8-0522-4a96-82dc-8e1cdb32add5)\n\n10. Wait until you are done with the compilation and upload.\n    Usually takes 1 minute. The first run is slower. It needs to compile all libraries.\n    ![image](https://github.com/user-attachments/assets/6796eb5d-6e3f-45bc-b88c-251499f1ad47)\nYou will have the UCOG SA logo and spectrum analyzing scanning screen when done.\n![image](https://github.com/user-attachments/assets/f86ab32a-cab1-461e-ade9-7021136a0af7)\n\n## Hardware\n\n- Heltec ESP32 Lora V3:\n   - [Amazon](https://www.amazon.com/Heltec-Development-863-870MHz-ESP32-S3FN8-902-928MHz/dp/B0D1H1FN9Y/)\n   - [Heltec](https://heltec.org/project/wifi-lora-32-v3/)\n   - [AliExpress](https://www.aliexpress.us/item/3256807037422978.html)\n\n- Heltec Wireless Stick. The same hardware but without or with a smaller display \n   - [Heltec: Wireless Stick V3](https://heltec.org/project/wireless-stick-v3/)\n   - [Heltec: Wireless Stick Lite V3](https://heltec.org/project/wireless-stick-lite-v2/)\n\n- Heltec Vision Master E290 - With large e-ink display 293x128:\n   - [Heltec](https://heltec.org/project/vision-master-e290/)\n   - [AliExpress](https://www.aliexpress.us/item/3256807048047234.html)\n\n- Heltec Vision Master T190 - With large color TFT 320x170 display:\n   - [Heltec](https://heltec.org/project/vision-master-t190/)\n   - [AliExpress](https://www.aliexpress.us/item/1005007760785910.html)\n\n**NOTE: to upload a new code, you need to press BOOT + RESET button**\n\nBattery with Wire JT connector :\n\u003chttps://www.amazon.com/EEMB-2000mAh-Battery-Rechargeable-Connector/dp/B08214DJLJ\u003e\n\n## 3D printed case\n\n![image](https://github.com/user-attachments/assets/52ae4e90-5f25-4d72-888e-7586bef9df69)\n\u003chttps://www.printables.com/model/118750-heltec-lora-32-case-for-meshtastic\u003e\n\u003chttps://www.thingiverse.com/thing:3125854\u003e\n\u003chttps://thangs.com/designer/Snake0017/3d-model/Heltec%20LoRa%2032%20Desktop%20%26%20Vehicle%20Enclosure-40844\u003e\nor buy :\n\u003chttps://www.amazon.com/DIYmalls-ESP32-OLED-WiFi-Type-C/dp/B0BR3MQ9BG\u003e\n\n\u003chttps://www.thingiverse.com/thing:6522462\u003e\n\n## Heltec ESP32 Lora v3 Pin Map\n\n![image](https://github.com/user-attachments/assets/a1e00b51-5566-4ff5-98fe-67eaeb5bc81f)\nWe 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.\n\n\n## Analog FPV OSD (ON SCREEN DISPLAY) using DFRobot OSD:\n\nTo Enable OSD, Uncomment these lines \u003c/br\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand to show how to set up  OSD for DFrobot board\u003c/summary\u003e\n\n```cpp\n//  #define OSD_ENABLED true\n```\n\n**OSD sidebar enabled/disable**\n\ncomment or uncomment  this line\n```cpp\n#define OSD_SIDE_BAR true\n```\n\nOr you can set this and other variables as a build parameter: \n\n```   \nbuild_flags = \n\t-DOSD_ENABLED\n```\n\n#### DFRobot OSD Wiring \n\n**Heltec V3 -\u003e DFRobot OSD** \u003cbr /\u003e\nGND -\u003e GND \u003cbr /\u003e\n3V3 -\u003e 3V3 \u003cbr /\u003e\n26 -\u003e SCK \u003cbr /\u003e\n34 -\u003eMOSI \u003cbr /\u003e\n33 -\u003eMISO \u003cbr /\u003e\n47 -\u003e D3 \u003cbr /\u003e\n\nMore photos you can see there:  \u003cbr /\u003e\nhttps://github.com/Genaker/LoraSA/issues/11\n\n![image](https://github.com/user-attachments/assets/3ba8230d-21de-449d-881b-bdc5f5b4907d)\n\n#### Camera to DF robot Wiring\n**Camera -\u003e DFRobotOSD** \u003cbr /\u003e\nVideo out -\u003e In \u003cbr /\u003e\nGND -\u003e GND \u003cbr /\u003e\n3v3 -\u003e 3V3 Heltec or some 3v on FPV \u003cbr /\u003e\n\n#### DFRobot to Drone or VTX(video transmitter)  \n**DF Robot -\u003e VTX or** \u003cbr /\u003e\nVideo Out - Video IN \u003cbr /\u003e\n\n```\n// SPI pins\n#define OSD_CS 47\n#define OSD_MISO 33\n#define OSD_MOSI 34\n#define OSD_SCK 26\n```\nFOR LYLIGO board\n\n```\n#define OSD_SCK 38\n#define OSD_CS 39\n#define OSD_MISO 40\n#define OSD_MOSI 41\n```\n\n\u003c/details\u003e\n\n## Joystick Wiring \nhttps://www.aliexpress.us/item/2251832815289133.html \nhttps://www.amazon.com/dp/B00P7QBGD2\n\n**Joystick -\u003e Heltec V3**  \u003cbr /\u003e\nSW -\u003e 46 \u003cbr /\u003e\nVRX -\u003e 19 \u003cbr /\u003e\nVRY -\u003e X has not been implemented yet  \u003cbr /\u003e\n+5v -\u003e 5V \u003cbr /\u003e\nGND -\u003e GND \u003cbr /\u003e\n\n## Buzzer/Beeper Wiring\nTMB12A03 - in my case. Low voltage is better.  \u003cbr /\u003e\n**Buzzer -\u003e Heltec V3**  \u003cbr /\u003e\n(+) -\u003e 41 \u003cbr /\u003e\nGND (another) -\u003e GND  \u003cbr /\u003e\n\n## Select Board to build\n\nSelect Visual Code environment:\n![image](https://github.com/user-attachments/assets/3765615b-3a80-4270-bc74-8f6eae2b8458)\n\nEdit **platformio.ini** uncommenting/selecting your sources\n\nHeltec boards: no need to change anything, but for T190 and E290 you need to change the src_dir to tft_src or eink_src respectively.\n\n```\n[platformio]\n; for env:vision-master-e190\n; src_dir = tft_src\n; for env:vision-master-e290\n; src_dir = eink_src\n; for env:heltec_wifi_lora_32_V3\n; src_dir = src ;;Default\n```\n\nfor LilyGo use env:heltec_wifi_lora_32_V3\n\n## WiFi and Bluetooth BT Scanning\n\nWorks only with OSD enabled \u003cbr/\u003e\nUncomment this lines \n```\n//  #define OSD_ENABLED true\n//  #define WIFI_SCANNING_ENABLED true\n//  #define BT_SCANNING_ENABLED true\n```\n\n## Communication via Serial USB:\n\nYou can receive RAW frequency data from the ESP32 by sending the serial command **Scan -1 -1**. Other parameters are also available. \nAlso, you can use ASCII_SA.py to read data from serial and represent as an ASCII character chart on your device. \u003c/br\u003e\nInstall **pyserial**:\n```\npip3 install pyserial\n```\n\nRun:\n```\npython3 ASCII_SA.py    \n```\nor with parameters to set input \n```\npython3 ASCII_SA.py --resolution 1 --threshold -110 --db-per-hash 5 --no-color --no-debug\n```\nOutput:\n\n\u003cimg width=\"861\" alt=\"image\" src=\"https://github.com/user-attachments/assets/131842e6-2216-4da1-adb3-accb0fb80427\"\u003e\n\n## Web app \n\nWe also have a web app interface to output ESP Lora data via USB/Serial \u003c/br\u003e\nGo to the website (https://lora-sa.pages.dev/), click connect and select a device: \u003c/br\u003e\nKnown issue: doesn't work on mobile ;(\u003c/br\u003e\nhttps://lora-sa.pages.dev/\n\n| ![image](https://github.com/user-attachments/assets/71b7d2aa-bb70-4c55-899b-0edfbeb73ed3) | \u003cimg width=\"1625\" alt=\"image\" src=\"https://github.com/user-attachments/assets/71acf551-f256-47ab-b95e-116b2fefcdaa\"\u003e |\n|---|---|\n\n## Send Scan Data via Lora \n\nEnable feature:\n```\n# /lib/config/config.h\nlisten_on_usb(String(\"readline\")), rx_lora(NULL), tx_lora(NULL),\n// Enable Lora Send:\n// rx_lora(configureLora(\"freq:920\")),tx_lora(configureLora(\"freq:916\"))\nis_host(false)\n```\nis_host(false) - for host receiver or can be set via Serial command ***SET is_host true*** \u003cbr\u003e\nThe Host automatically outputs data to serial that can be read by our Python Serail app\u003cbr\u003e\nExample of the serial out:\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand to show Lora Scan Data\u003c/summary\u003e\n\n```\nSCAN_RESULT 258 [ (850000, -106), (850389, -106), (850778, -110), (851167, -110), (851556, -110), (851945, -110), (852334, -110), (852723, -110), (853112, -106), (853501, -106), (853890, -106), (854279, -83), (854668, -83), (855057, -110), (855446, -110), (855835, -110), (856224, -110), (856613, -110), (857002, -110), (857391, -110), (857780, -110), (858169, -110), (858558, -110), (858947, -110), (859336, -110), (859725, -110), (860114, -110), (860503, -110), (860892, -110), (861281, -110), (861670, -110), (862059, -110), (862448, -110), (862837, -110), (863226, -110), (863615, -106), (864004, -106), (864393, -110), (864782, -110), (865171, -110), (865560, -110), (865949, -110), (866338, -110), (866727, -110), (867116, -110), (867505, -110), (867894, -110), (868283, -110), (868672, -101), (869061, -101), (869450, -102), (869839, -102), (870228, -101), (870617, -101), (871006, -101), (871395, -98), (871784, -98), (872173, -89), (872562, -89), (872951, -92), (873340, -92), (873729, -85), (874118, -85), (874507, -90), (874896, -90), (875285, -90), (875674, -85), (876063, -85), (876452, -93), (876841, -93), (877230, -90), (877619, -90), (878008, -101), (878397, -101), (878786, -110), (879175, -110), (879564, -110), (879953, -90), (880342, -90), (880731, -93), (881120, -93), (881509, -96), (881898, -96), (882287, -91), (882676, -91), (883065, -91), (883454, -86), (883843, -86), (884232, -93), (884621, -93), (885010, -91), (885399, -91), (885788, -89), (886177, -89), (886566, -85), (886955, -85), (887344, -85), (887733, -87), (888122, -87), (888511, -93), (888900, -93), (889289, -110), (889678, -110), (890067, -110), (890456, -110), (890845, -110), (891234, -110), (891623, -110), (892012, -110), (892401, -110), (892790, -110), (893179, -110), (893568, -110), (893957, -110), (894346, -110), (894735, -110), (895124, -106), (895513, -106), (895902, -106), (896291, -110), (896680, -110), (897069, -110), (897458, -110), (897847, -110), (898236, -110), (898625, -110), (899014, -110), (899403, -110), (899792, -110), (900181, -110), (900570, -110), (900959, -110), (901348, -110), (901737, -110), (902126, -110), (902515, -110), (902904, -110), (903293, -110), (903682, -110), (904071, -110), (904460, -110), (904849, -110), (905238, -110), (905627, -110), (906016, -110), (906405, -110), (906794, -110), (907183, -110), (907572, -110), (907961, -110), (908350, -110), (908739, -110), (909128, -110), (909517, -110), (909906, -110), (910295, -110), (910684, -110), (911073, -110), (911462, -110), (911851, -110), (912240, -110), (912629, -110), (913018, -110), (913407, -110), (913796, -110), (914185, -110), (914574, -110), (914963, -110), (915352, -110), (915741, -110), (916130, -110), (916519, -110), (916908, -110), (917297, -110), (917686, -110), (918075, -110), (918464, -110), (918853, -110), (919242, -110), (919631, -110), (920020, -110), (920409, -110), (920798, -110), (921187, -110), (921576, -110), (921965, -110), (922354, -110), (922743, -110), (923132, -110), (923521, -110), (923910, -110), (924299, -110), (924688, -110), (925077, -110), (925466, -110), (925855, -110), (926244, -110), (926633, -110), (927022, -110), (927411, -110), (927800, -110), (928189, -110), (928578, -110), (928967, -110), (929356, -110), (929745, -110), (930134, -110), (930523, -110), (930912, -110), (931301, -110), (931690, -110), (932079, -110), (932468, -110), (932857, -110), (933246, -110), (933635, -110), (934024, -110), (934413, -110), (934802, -110), (935191, -110), (935580, -103), (935969, -103), (936358, -110), (936747, -110), (937136, -110), (937525, -110), (937914, -110), (938303, -110), (938692, -110), (939081, -110), (939470, -110), (939860, -110), (940250, -110), (940640, -110), (941030, -110), (941420, -110), (941810, -110), (942200, -110), (942590, -110), (942980, -110), (943370, -110), (943760, -110), (944150, -110), (944540, -110), (944930, -110), (945320, -110), (945710, -110), (946100, -110), (946490, -110), (946880, -110), (947270, -110), (947660, -110), (948050, -110), (948440, -110), (948830, -110), (949220, -110), (949610, -110), (950000, -110) ]\n```\n\u003c/details\u003e\n\n\n## Seek on Jam / FPV OSD using Flight controller:\n\nNeeds MILBETA 1.47 or later.\n\nUse target `seek-on-jam-sx1280` or `seek-on-jam-lr1121`. Make sure the pins are correct.\n\nI am using LilyGo T3S3 **V1.2** board for seek on jam, this board has a connector for GND, 3.3V, RX and TX for UART SERIAL. No need to solder to the board itself.\n\n![imagen](https://github.com/user-attachments/assets/d238a87f-3768-4293-a90c-eb3e4b530130)\n\nOnly GND, 3.3V and TX are needed. \n\nUse connector and solder to RPI or similar, I'm using a RPI Zero 2. The targets in platformio.ini are set to use `-DTX_PIN=43` which corresponds to the built-in connector on the T3S3 V1.2 board. RPI Zero2 needs to use the proxy.\n\n## Platformio targets:\n\n### 1. `heltec_wifi_lora_32_V3`\n- **Chip Used**: Heltec WiFi LoRa 32 V3\n- **Frequency**: 150 - 850 MHz\n- \n### 2. `heltec_wifi_lora_32_V3-OSD`\n- **Chip Used**: Heltec WiFi LoRa 32 V3\n- **Frequency**: Not specified\n- **Unique Features**: Includes OSD (On-Screen Display) specific flags `-DOSD_ENABLED` and `-DOSD_SIDE_BAR`.\n\n### 3. `heltec_wifi_lora_32_V3_433`\n- **Chip Used**: Heltec WiFi LoRa 32 V3\n- **Frequency**: 130 MHz to 180 MHz\n- **Unique Features**: Frequency range specified with `-DFREQ_BEGIN=130` and `-DFREQ_END=180`.\n\u003cimg width=\"500\" height=\"498\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2c21bd18-4605-4c58-b83c-300eadbcf75e\" /\u003e\n\n### 4. `lilygo-T3S3-v1-2-sx1262`\n- **Chip Used**: LilyGO T3 S3 V1.2 with SX1262\n- **Frequency**: 150 - 850 MHz\n- **Unique Features**: Uses SX1262 chip with specific flags like `-DT3_S3_V1_2_SX1262`.\n\n### 5. `lilygo-T3S3-v1-2-lr1121`\n- **Chip Used**: LilyGO T3 S3 V1.2 with LR1121\n- **Frequency**: 2400 MHz to 2500 MHz\n\n### 6. `lilygo-T3S3-v1-2-sx1280`\n- **Chip Used**: LilyGO T3 S3 V1.2 with SX1280\n- **Frequency**: 2400 MHz to 2500 MHz\n- **Unique Features**: Includes `-DSERIAL_OUT` for serial output.\n\u003cimg width=\"600\" height=\"600\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d6ab9f16-ca04-4931-8637-41616c3dd79f\" /\u003e\n\n### 7. `lilygo-T3-v1-6-xs1276`\n- **Chip Used**: LilyGO T3 V1.6 with SX1276\n- **Frequency**: 150 - 850 MHz\n- **Unique Features**: `-DARDUINO_USB_CDC_ON_BOOT=0` to avoid serial issues.\n- **Warning**: Not tested yet.\n\n### 8. `vision-master-e290`\n- **Chip Used**: Heltec WiFi LoRa 32 V3\n- **Frequency**: 150 - 850 MHz\n\u003cimg width=\"1280\" height=\"960\" alt=\"image\" src=\"https://github.com/user-attachments/assets/70631423-7921-48ae-b318-5b1df7d51457\" /\u003e\n\n### 9. `vision-master-t190`\n- **Chip Used**: Heltec WiFi LoRa 32 V3\n- **Frequency**: 150 - 850 MHz\n- **Unique Features**: Includes `-DROTATION=1` for display rotation. 1 == normal 3 == upside down\n\u003cimg width=\"800\" height=\"800\" alt=\"image\" src=\"https://github.com/user-attachments/assets/3fd8ffc2-1686-4867-959a-c884b2024194\" /\u003e\n\n\n### 10. `seek-on-mavic-sx1280`\n- **Chip Used**: LilyGO T3 S3 V1.2 with SX1280\n- **Frequency**: 2410 MHz to 2452 MHz (Mavic 3 frequency ranges)\n- **Unique Features**: \n   - `-DLOG_DATA_JSON=1` for JSON logging\n   - `-DDISABLE_SDCARD` to disable SD card and make boot faster\n   - `-DSERIAL_OUT` to enable serial output\n   - `-DSEEK_ON_X` to enable seek on jam\n   - `-DBANDWIDTH=4.8` to set the bandwidth to 4.8 kHz\n\n### 11. `seek-on-mavic-lr1121`\n- **Chip Used**: LilyGO T3 S3 V1.2 with LR1121\n- **Frequency**: 2410 MHz to 2452 MHz (Mavic 3 frequency ranges)\n- **Unique Features**:\n   - `-DLOG_DATA_JSON=1` for JSON logging\n   - `-DDISABLE_SDCARD` to disable SD card and make boot faster\n   - `-DSERIAL_OUT` to enable serial output\n   - `-DSEEK_ON_X` to enable seek on jam\n   - `-DBANDWIDTH=4.8` to set the bandwidth to 4.8 kHz\n\n ### 12. Compass Integration:\nLyligo only\n ```\nX DROY(not used)\nGPIO46 -\u003e SDA\nGPIO42 -\u003e SCLA\nGND -\u003e GND\n3.3V -\u003e VCC\n ```\nModule: GY-271\n\nhttps://www.amazon.com/HiLetgo-GY-271-QMC5883L-Compass-Magnetometer/dp/B008V9S64E\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenaker%2Florasa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenaker%2Florasa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenaker%2Florasa/lists"}