How 7wp81x/nrsuite-firmware works
NRSuite Firmware is ESP32 firmware controlled by the NRSuite Android app over USB serial. The principal workflow is command framing and dispatch in the firmware, followed by a selected radio/device operation and responses, events, or captured data back to the app. Its capabilities span Wi-Fi discovery and monitoring, active Wi-Fi testing, WPS analysis, BLE and USB HID, and device peripherals/storage. The map uses README-described capabilities where implementation excerpts were unavailable; those links are documented workflows, not claims about unsampled call sites.
Main entry points: main.cpp Command Dispatcher · wps_pixie.cpp WPS Pixie Flow · BridgeProtocol.cpp Serial Bridge · wps_attempt_detector.cpp WPS Attempt Detection
Components 26
Command and Protocol
- Command Dispatcher
src/main.cpp - Serial Bridge
lib/BridgeProtocol/BridgeProtocol.cpp
Wi-Fi Operations
- Wi-Fi Scan
src/main.cpp - Packet Sniffer
src/sniffer.cpp - Deauthentication
src/main.cpp - Multi-Deauth Rules
lib/DeauthMulti/DeauthMultiRules.h - Wi-Fi Detectors
src/deauth_detector.cpp - Hidden AP Revealer
src/hidden_ap.cpp - Beacon Injection
src/beacon.cpp - Captive Portal
src/portal.cpp
WPS Analysis
- WPS Attempt Detection
src/wps_attempt_detector.cpp - WPS Lock Detection
src/wps_lock_detector.cpp - WPS Pixie Flow
src/wps_pixie.cpp - WPS Packet Parser
src/wps_parser.cpp - WPS Registrar
src/wps_registrar.cpp
BLE and USB HID
- BLE HID and Scan
src/ble_hid.cpp - BLE HID PIN Test
src/ble_pin_bruteforce.cpp - USB HID and BadUSB
src/UsbHID.cpp - USB PIN Test
src/pin_bruteforce.cpp
Peripherals and Storage
- Experimental Mesh
src/mesh.cpp - IR Remote
src/ir_remote.cpp - LD2450 Radar
src/ld2450.cpp - PN532 NFC
src/pn532_nfc.cpp - Mass Storage
src/mass_storage.cpp - File Upload
src/FileUpload.cpp
Other components
- Android App
Connections 28
- Android App → Serial Bridge: sends commands
README.md - Serial Bridge → Command Dispatcher: dispatches frames
- Command Dispatcher → Android App: returns events
README.md - Command Dispatcher → Wi-Fi Scan: starts scan
src/main.cpp - Command Dispatcher → Packet Sniffer: starts capture
src/main.cpp - Command Dispatcher → Deauthentication: dispatches commands
src/main.cpp - Deauthentication → Multi-Deauth Rules: uses limits
src/main.cpp - Command Dispatcher → Wi-Fi Detectors: starts detection
- Command Dispatcher → Hidden AP Revealer: starts detection
src/main.cpp - Command Dispatcher → Beacon Injection: dispatches commands
- Command Dispatcher → Captive Portal: dispatches commands
src/main.cpp - Command Dispatcher → WPS Attempt Detection: starts detection
src/main.cpp - Command Dispatcher → WPS Lock Detection: dispatches commands
- Command Dispatcher → WPS Pixie Flow: dispatches commands
- WPS Attempt Detection → WPS Packet Parser: parses frames
src/wps_attempt_detector.cpp - WPS Pixie Flow → WPS Packet Parser: parses messages
- WPS Pixie Flow → WPS Registrar: uses registrar
- Command Dispatcher → BLE HID and Scan: dispatches commands
- Command Dispatcher → BLE HID PIN Test: dispatches commands
- Command Dispatcher → USB HID and BadUSB: dispatches commands
- Command Dispatcher → USB PIN Test: dispatches commands
- Command Dispatcher → Experimental Mesh: dispatches commands
- Command Dispatcher → IR Remote: dispatches commands
- Command Dispatcher → LD2450 Radar: dispatches commands
- Command Dispatcher → PN532 NFC: dispatches commands
- Command Dispatcher → Mass Storage: dispatches commands
src/main.cpp - Command Dispatcher → File Upload: dispatches uploads
- File Upload → Mass Storage: writes files