RF Device Scanner β WiFi, Bluetooth & BLE detector with threat analysis.
- πΆ WiFi Scanner β Detect all nearby networks with SSID, channel, security
- π΅ Bluetooth / BLE Scanner β Identify devices, estimate distance via RSSI
β οΈ Threat Detection β Auto-flag suspicious/unknown devices- π― Live Radar β Animated radar with device blips
- π‘οΈ Signal Heatmap β Visual signal intensity map
- π Device Detail β Full info: MAC, RSSI, distance, timeline
flutter pub getflutter runNote: Real scanning requires a physical Android device.
On emulator, mock data is used automatically.
flutter build apk --releaseAPK will be at: build/app/outputs/flutter-apk/app-release.apk
| Permission | Purpose |
|---|---|
ACCESS_FINE_LOCATION |
Required for WiFi + BLE scanning |
BLUETOOTH_SCAN |
BLE device scanning (Android 12+) |
BLUETOOTH_CONNECT |
BLE device connection |
NEARBY_WIFI_DEVICES |
WiFi scanning (Android 13+) |
lib/
βββ main.dart # Entry point
βββ theme/
β βββ app_theme.dart # Colors, typography
βββ models/
β βββ scanned_device.dart # Device model + enums
βββ services/
β βββ scanner_service.dart # WiFi + BLE scanning logic
βββ screens/
β βββ home_screen.dart # Main screen with tabs
β βββ device_detail_screen.dart
βββ widgets/
βββ common_widgets.dart # StatCard, DeviceRow, etc.
βββ radar_widget.dart # Animated radar
βββ heatmap_widget.dart # Signal heatmap
| Package | Purpose |
|---|---|
flutter_blue_plus |
BLE scanning |
wifi_scan |
WiFi scanning |
permission_handler |
Runtime permissions |
provider |
State management |
google_fonts |
Inter + JetBrains Mono |
fl_chart |
Charts (extendable) |
sqflite |
Local device history storage |
- Tested on Android 12+
- iOS support requires additional entitlements (CoreBluetooth, CoreLocation)
- Hidden BLE devices with unresolvable MACs are flagged as threats
- Open WiFi networks are flagged as suspicious