{"id":51337541,"url":"https://github.com/pingequalab/rf-lab","last_synced_at":"2026-07-02T04:03:33.332Z","repository":{"id":355736967,"uuid":"1229377889","full_name":"pingequalab/rf-lab","owner":"pingequalab","description":"Open-source 2.4 GHz spectrum analyzer + NRF24 Jammer for Flipper Zero. Plug-and-play across every firmware. Built for the PINGEQUA 2-in-1 RF Devboard.","archived":false,"fork":false,"pushed_at":"2026-06-12T01:50:30.000Z","size":5956,"stargazers_count":20,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-12T02:13:11.295Z","etag":null,"topics":["2-4ghz","ble","flipper-zero","flipper-zero-fap","jammer","nrf24","nrf24l01","pingequa","reactive-jamming","rf","spectrum-analyzer","wifi-jammer"],"latest_commit_sha":null,"homepage":"https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pingequalab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2026-05-05T01:31:55.000Z","updated_at":"2026-06-08T05:50:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pingequalab/rf-lab","commit_stats":null,"previous_names":["pingequalab/rf-lab"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pingequalab/rf-lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingequalab%2Frf-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingequalab%2Frf-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingequalab%2Frf-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingequalab%2Frf-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingequalab","download_url":"https://codeload.github.com/pingequalab/rf-lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingequalab%2Frf-lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35032146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"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":["2-4ghz","ble","flipper-zero","flipper-zero-fap","jammer","nrf24","nrf24l01","pingequa","reactive-jamming","rf","spectrum-analyzer","wifi-jammer"],"created_at":"2026-07-02T04:03:32.668Z","updated_at":"2026-07-02T04:03:33.324Z","avatar_url":"https://github.com/pingequalab.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003ca href=\"https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=banner\"\u003e\n        \u003cimg src=\"images/hardware_devboard.jpg\" alt=\"PINGEQUA 2-in-1 RF Devboard hardware\" width=\"100%\" /\u003e\n      \u003c/a\u003e\n      \u003cbr\u003e\u003csub\u003e\u003cb\u003eThe Hardware\u003c/b\u003e · 2-in-1 NRF24 + CC1101\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/demo.gif\" alt=\"PINGEQUA RF Lab live demo — main menu navigation on Flipper Zero\" width=\"100%\" /\u003e\n      \u003cbr\u003e\u003csub\u003e\u003cb\u003eLive Demo\u003c/b\u003e · Scanner · Signal Gen · About\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n# PINGEQUA RF Lab\n\n### Plug-and-play across every firmware.\n\n**2.4 GHz spectrum analyzer + NRF24 jammer for Flipper Zero, designed for the [PINGEQUA 2-in-1 RF Devboard](https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=hero).**\n\n[![Platform](https://img.shields.io/badge/platform-Flipper%20Zero-FF8200?style=flat-square)](https://flipperzero.one/)\n[![Release](https://img.shields.io/github/v/release/pingequalab/rf-lab?style=flat-square\u0026color=success\u0026label=release)](https://github.com/pingequalab/rf-lab/releases/latest)\n[![Firmware](https://img.shields.io/badge/firmware-OFW%20%7C%20Momentum%20%7C%20Unleashed%20%7C%20RogueMaster-blue?style=flat-square)](#firmware-compatibility)\n[![FAP size](https://img.shields.io/badge/FAP-44%20KB-success?style=flat-square)](dist/)\n[![License](https://img.shields.io/badge/license-MIT-yellow?style=flat-square)](LICENSE)\n[![Hardware](https://img.shields.io/badge/hardware-PINGEQUA%202--in--1-000000?style=flat-square)](https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=badge)\n\n[**🛒 Get the Hardware**](https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=cta_top) · [**📦 Download FAP**](../../releases) · [**📖 Quickstart**](docs/QUICKSTART.md) · [**❓ FAQ**](docs/FAQ.md)\n\n\u003c/div\u003e\n\n---\n\n## What It Does\n\nAn open-source Flipper Application Package (FAP) that turns Flipper Zero plus the PINGEQUA 2-in-1 RF Devboard into:\n\n- **2.4 GHz spectrum analyzer** — 126 channels real-time with WiFi 1/6/11 + BLE 37/38/39 band markers, max-hold, microsecond dwell tuning, cursor inspection, **CSV scan export** (long-press OK, v0.5.0+)\n- **NRF24 jammer with 7 modes** (v0.4.0+):\n  - CW Custom · BLE Adv · **BLE React** (RPD reactive — first on Flipper NRF24) · WiFi 1/6/11 (CW band hop) · ALL 2.4G\n  - Disrupts nearby BLE / 2.4 GHz WiFi at close range\n  - **Auto session log** + **mode/channel persistence** (v0.5.0+)\n- **Human-readable export filenames** (v0.5.2+) — `scan_\u003cdate\u003e_\u003ctime\u003e_ch\u003cpeak\u003e.csv` / `jam_\u003cdate\u003e_\u003ctime\u003e_\u003cmode\u003e_\u003cdur\u003es.csv`. Sorting by name = sorting by time.\n- **On-device About screen** (v0.5.2+) — three pages, Up/Down to navigate, with scannable QR codes for the shop and GitHub repo so visitors can land on the right page with their phone.\n- **Plug-and-play across firmware** — Momentum, Unleashed, RogueMaster, Xtreme, and Official Flipper firmware. No firmware-specific patching.\n- **Clean exit** — other Flipper apps (Sub-GHz Read, NFC, Bad-USB) keep working perfectly after you exit\n\n---\n\n## How It Compares\n\n| Feature | PINGEQUA RF Lab | Legacy NRF24 scanner apps |\n|---|:---:|:---:|\n| Built for dual-chip 2-in-1 boards | ✅ | ❌ Single-chip designs only |\n| Plug-and-play across all major firmware | ✅ | ⚠️ Often firmware-specific tweaks needed |\n| Clean co-existence with Flipper Sub-GHz / NFC apps | ✅ | ❌ Frequently break other apps until reboot |\n| Max-hold spectrum-analyzer mode | ✅ | ❌ Rare |\n| WiFi 1/6/11 + BLE 37/38/39 frequency markers | ✅ | ❌ |\n| Adjustable dwell time (130–2000 µs) | ✅ | ⚠️ Usually fixed |\n| Cursor channel inspection with live readout | ✅ | ❌ Rare |\n| NRF24 jammer (7 modes incl. RPD reactive + WiFi band hop) | ✅ | ❌ Usually CW only, separate app |\n| RPD-driven reactive BLE jamming | ✅ | ❌ |\n| WiFi-band CW jamming (ch 1 / 6 / 11) | ✅ | ❌ |\n| CSV scan export for analysis | ✅ | ❌ |\n| Continuous active development | ✅ | ⚠️ Often abandoned |\n| Compact FAP size | ✅ ~44 KB | varies |\n| Open source MIT license | ✅ | varies |\n\n---\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/screen_menu.png\" alt=\"PINGEQUA RF Lab main menu — Channel Scanner, NRF24 Signal Gen, About\" width=\"300\" /\u003e\u003cbr\u003e\n      \u003csub\u003e\u003cb\u003eMain Menu\u003c/b\u003e\u003cbr\u003eScanner · Signal Gen · About\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/photo_scanner.png\" alt=\"Channel Scanner running — live 2.4 GHz RPD spectrum\" width=\"300\" /\u003e\u003cbr\u003e\n      \u003csub\u003e\u003cb\u003eChannel Scanner\u003c/b\u003e\u003cbr\u003e126-ch live RPD spectrum, max-hold\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/screen_siggen.png\" alt=\"NRF24 Signal Gen — CW mode on channel 42\" width=\"300\" /\u003e\u003cbr\u003e\n      \u003csub\u003e\u003cb\u003eNRF24 Signal Gen\u003c/b\u003e\u003cbr\u003e7 TX modes — CW shown\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/about.png\" alt=\"About screen with scannable QR code to the shop\" width=\"300\" /\u003e\u003cbr\u003e\n      \u003csub\u003e\u003cb\u003eAbout\u003c/b\u003e (v0.5.2)\u003cbr\u003eOn-device QR to shop \u0026amp; GitHub\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Install\n\n### 1. Mount the board (hardware)\n\n\u003e ⚠️ **Always power off Flipper before inserting or removing the board** — hot-swapping the SPI bus can damage either chip.\n\n1. **Power OFF** your Flipper Zero (hold `Back` ~2 seconds → Power off)\n2. Insert the PINGEQUA 2-in-1 board onto the **LEFT GPIO headers** (the 18-pin row on the top-left edge)\n3. **Power ON** Flipper\n\n### 2. Install the app (software)\n\n**qFlipper drag-and-drop** (recommended):\n1. Download `pingequa_rf_toolkit.fap` from [Releases](../../releases) or [`dist/`](dist/)\n2. In qFlipper: drag into `/ext/apps/GPIO/`\n3. On Flipper: `Apps → GPIO → PINGEQUA RF Lab`\n\nWorks on every modern firmware — **no additional setup required**.\n\n**ufbt sideload** (build from source):\n```bash\npip install --user ufbt\nufbt update --channel=dev\ngit clone https://github.com/pingequalab/rf-lab\ncd rf-lab\nufbt launch\n```\n\n---\n\n## Usage\n\nLaunch from `Apps → GPIO → PINGEQUA RF Lab`. Main menu offers **Scanner**, **Jammer**, or **About** (v0.5.2+).\n\n### Scanner\n- ← / → moves the cursor (long-press = ±5 channels)\n- ↑ / ↓ adjusts dwell time (short = ±10 µs, long = ±50 µs)\n- OK pauses / resumes\n- **Long-press OK exports current scan to CSV** at `/ext/apps_data/pingequa/scans/scan_\u003cts\u003e.csv` (v0.5.0+). Top-right shows `SAVED!` for ~1 sec.\n- Back returns to main menu\n- When any bar saturates → automatic **MAX HOLD** mode (display freezes for analysis). Press OK to clear and rescan.\n\n### Jammer (v0.4.0 — 7 modes)\n- ↑ / ↓ cycles through 7 modes:\n  1. **CW Custom** — single channel CW, ←/→ adjusts ±1 / ±5\n  2. **BLE Adv** — blind CW hop {37, 38, 39}\n  3. **BLE React** ★ — RPD-driven reactive jam (listens, jams on detection — 1st on Flipper NRF24)\n  4. **WiFi 1** — CW hop across the WiFi-1 band (ch 1–23)\n  5. **WiFi 6** — CW hop across the WiFi-6 band (ch 26–48)\n  6. **WiFi 11** — CW hop across the WiFi-11 band (ch 51–73)\n  7. **ALL 2.4G** — full-band CW sweep\n- ← / → adjusts CW Custom channel (no-op in other modes)\n- OK starts / stops\n- Back returns to main menu — **session auto-logs** to `/ext/apps_data/pingequa/siggen/siggen_\u003cts\u003e.csv` (mode, duration, chunks, reactive jam count) and **mode/channel persists** for next launch (v0.5.0+).\n- Disrupts nearby BLE / 2.4 GHz WiFi at close range.\n- **Note:** during a long continuous transmit run the radio may occasionally stop responding — hold **Left + Back** (~5 s) to reboot, then relaunch. **CW Custom** is the most robust for long sessions; use the multi-channel sweep modes in shorter bursts.\n\n### Data Export (v0.5.0+)\n\nThe app writes research-grade data to your Flipper SD card. Open with qFlipper, Excel, Numbers, or `pandas.read_csv` (skip `#` comment lines):\n\n**Filenames embed RTC wall-clock + summary** (v0.5.2+) so sorting by name in qFlipper = sorting by time, and the filename itself tells you what's inside without opening it:\n\n```\n/ext/apps_data/pingequa/\n├── jammer.conf                                        ← Last jammer mode + channel (auto-restored)\n├── scans/scan_\u003cYYYY-MM-DD\u003e_\u003cHHMMSS\u003e_ch\u003cpeak\u003e.csv      ← e.g. scan_2026-05-15_143022_ch42.csv\n└── jammer/jam_\u003cYYYY-MM-DD\u003e_\u003cHHMMSS\u003e_\u003cmode\u003e_\u003cdur\u003es.csv ← e.g. jam_2026-05-15_143530_BLEreact_19s.csv\n```\n\nWhen the RTC isn't set, filenames fall back to a boot-tick form (`scan_boot\u003ctick\u003e_ch\u003cpeak\u003e.csv`) so you never see `1970-01-01` garbage names.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/qflipper_data_dir.png\" alt=\"qFlipper showing /ext/apps_data/pingequa/\" width=\"100%\" /\u003e\u003cbr\u003e\n      \u003csub\u003eData directory in qFlipper's file manager\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"images/qflipper_session_logs.png\" alt=\"qFlipper showing accumulated jammer session CSVs\" width=\"100%\" /\u003e\u003cbr\u003e\n      \u003csub\u003eEach Back-from-Jammer creates one session CSV\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n**Scanner CSV** contains all 126 channel hits, peak channel, dwell, sweep count, and wall-clock datetime.\n**Jammer session CSV** (v0.5.2+ schema) carries `datetime`, `mode`, `engine`, derived `target_freq_mhz`, and `scene_duration_s` — with conditional `cw_channel` / `reactive_jams` only when the mode actually produces those values. No more redundant or misleading fields.\n\nDetailed walkthroughs: [docs/QUICKSTART.md](docs/QUICKSTART.md), [docs/UI_GUIDE.md](docs/UI_GUIDE.md), [docs/USE_CASES.md](docs/USE_CASES.md).\n\n---\n\n## Using Pingequa Hardware with Other Apps\n\nThe PINGEQUA 2-in-1 board works with this official FAP **and** with third-party apps and Flipper's built-in radio tools — but the dual-chip layout uses non-default SPI pins, so other apps need a one-time setup.\n\n### Third-party NRF24 apps (NRF24 Sniffer, Mousejack, etc.)\n\nThe Pingequa NRF24 chip is wired to the **Extra 7** SPI bus (rather than the conventional pin set). On **Momentum** firmware:\n\n1. From the main menu, navigate to **`Settings → Protocols → GPIO Pins`** (path may read `START → PROTOCOLS → GPIO PINS` on some menu variants)\n2. Set **NRF24 SPI** to **`Extra 7`**\n3. Launch your third-party NRF24 app normally\n\n\u003e Some third-party apps hard-code different pin assignments and may show partial incompatibility. The official PINGEQUA RF Lab app (this one) handles routing transparently — **no setup needed**.\n\n### Official Sub-GHz app with Pingequa CC1101\n\nTo use Flipper's built-in **Sub-GHz Read / Read External** through the longer-range Pingequa CC1101:\n\n1. Open **Sub-GHz** from the main menu\n2. Go to **`Radio Settings → Module`**\n3. Select **`External`**\n4. Use Sub-GHz normally — it now routes through the Pingequa CC1101\n\n\u003e The `External` option is exposed on Momentum, Unleashed, and RogueMaster. Official Flipper firmware (OFW) has a similar `Read External` mode but no settings UI — use as-is.\n\nIf you don't see `External`, see [docs/HARDWARE.md](docs/HARDWARE.md) for firmware-specific notes.\n\n---\n\n## Hardware\n\n\u003e ### 🛒 [PINGEQUA Flipper Zero NRF24+CC1101 2-in-1 RF Devboard](https://www.pingequa.com/products/flipper-zero-nrf24-cc1101-2-in-1-rf-devboard?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=hardware_block)\n\u003e\n\u003e The only officially supported hardware. One module gives your Flipper both 2.4 GHz (nRF24L01+) and Sub-GHz (CC1101) chips, software-switched. No jumpers, no rewiring.\n\nOther NRF24 boards may partially work but are unsupported. See [docs/HARDWARE.md](docs/HARDWARE.md).\n\n---\n\n## Firmware Compatibility\n\n| Firmware | Status |\n|---|:---:|\n| Momentum (mntm-dev) | ✅ Primary build target |\n| Unleashed | ✅ Compatible |\n| RogueMaster | ✅ Compatible |\n| Official Flipper firmware (API ≥ 87.1) | ✅ Compatible |\n| Xtreme | ✅ Compatible |\n\n---\n\n## Roadmap\n\n| Version | Status | Headline |\n|---|:---:|---|\n| v0.2.0 | ✅ | Channel scanner, max-hold, WiFi/BLE markers |\n| v0.3.0 | ✅ | NRF24 jammer (CW + Sweep), main menu |\n| v0.4.0 | ✅ | RPD reactive BLE jam, WiFi-band CW jam, 7 jammer modes |\n| v0.5.0 | ✅ | CSV scan export, jammer session log, settings persistence |\n| v0.5.1 | ✅ | OFW compatibility — single-handle SPI arbiter, all firmwares |\n| v0.5.2 | ✅ | Readable export filenames, jammer log redesign, About screen + QR codes |\n| v0.5.3 | ✅ | In-app rename: transmit feature now displays as \"Signal Generator\" (neutral, instrument-grade naming) |\n| **v0.5.4** | ✅ | **Signal Generator now actually radiates (held-bus driver + FIFO-flush ignition); honest power wording; long-run reboot note** |\n| v0.6.x | 🔜 next | **Shaped by community feedback** — candidates: cross-chip dual-band sweep (nRF24 2.4 GHz + CC1101 Sub-GHz in one view), spectrum CSV export, custom scan presets. [Tell us what you want](../../issues/new?template=feature.yml) |\n| v1.0.0 | planned | Polished release, full documentation set, Catalog submission |\n| v1.5.0 | concept | Companion mobile viewer over Bluetooth |\n| v2.0.0 | concept | Unified UI bridging NRF24 + CC1101 |\n\n[Vote on the roadmap](../../issues) · [Request a feature](../../issues/new?template=feature.yml)\n\n---\n\n## Documentation\n\n| Doc | For |\n|---|---|\n| [Quickstart](docs/QUICKSTART.md) | First-time users — 5 minutes to first scan |\n| [UI Guide](docs/UI_GUIDE.md) | Every pixel of the screen explained |\n| [Hardware](docs/HARDWARE.md) | Pin map, firmware compatibility |\n| [Use Cases](docs/USE_CASES.md) | 10 real-world scenarios |\n| [FAQ](docs/FAQ.md) | Common questions |\n| [Troubleshooting](docs/TROUBLESHOOTING.md) | Error decoding, hardware diagnostics |\n| [Build](docs/BUILD.md) | ufbt setup, contributor build steps |\n\n---\n\n## Legal Notice\n\nPINGEQUA RF Lab includes opt-in **transmit features (NRF24 Jammer)** — the Channel Scanner is passive listen-only, but the 7 Jammer modes actively transmit on the 2.4 GHz ISM band.\n\n\u003e **On output power.** The 2.4 GHz band is power-regulated (FCC §15 in the US, ETSI EN 300 328 in the EU, equivalent elsewhere). **To respect those legal limits, the firmware deliberately restrains output power and does not drive the radio to its electrical maximum.** This is an intentional compliance choice — the transmit range is correspondingly modest by design, not a defect.\n\nYou are responsible for compliance with your local regulations. Use only on hardware and networks you own or have authorization to test. The authors accept no liability for misuse.\n\nYou are responsible for compliance with your local regulations. Use only on hardware and networks you own or have authorization to test. The authors accept no liability for misuse.\n\nFull disclosure: [SECURITY.md](SECURITY.md).\n\n---\n\n## Support\n\n- **Issues**: [GitHub Issues](../../issues)\n- **Email**: [support@pingequa.com](mailto:support@pingequa.com)\n- **Hardware**: [pingequa.com](https://www.pingequa.com/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=footer_store)\n- **YouTube**: [@PINGEQUA](https://www.youtube.com/@PINGEQUA)\n\n---\n\n## License\n\n[MIT](LICENSE) © 2026 PINGEQUA. PINGEQUA® is a trademark.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003csub\u003e\u003cb\u003ePrecision Gear for Hackers.\u003c/b\u003e\u003c/sub\u003e\u003cbr\u003e\n\u003csub\u003eMade for the PINGEQUA 2-in-1 RF Devboard ·\n\u003ca href=\"https://www.pingequa.com/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=rflab\u0026utm_content=footer_brand\"\u003ePINGEQUA\u003c/a\u003e\u003c/sub\u003e\n\n⭐ **Star the repo if PINGEQUA RF Lab saves you time.**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingequalab%2Frf-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpingequalab%2Frf-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingequalab%2Frf-lab/lists"}