An all-in-one HUD app for managing your ESP32 ecosystem, featuring device mapping, ESPHome integration, WiFi/CSI radar visualization, and intelligent capability checking. Includes an SD Card setup helper for pre-configuration before device insertion.
Gadget Quarterback is a comprehensive management suite for ESP32-based devices (M5Stack, CYD, ESP32-C5, ESP32-C6, etc.). Inspired by Biscuit Manager and GhostESP Companion, it provides a unified dashboard for:
- Device Ecosystem Mapping - Visualize and organize all connected gadgets
- ESPHome Integration - Seamless device management and configuration
- WiFi/CSI Radar - Real-time network visualization and analysis
- Bin File Manager - Firmware storage, organization, and OTA flashing
- Capability System - Device ranking, performance metrics, and optimization suggestions
- Schematic Helper - Board pinouts, antenna recommendations, screen compatibility
- Kismet Integration - Network sniffing and analysis capabilities
- SD Card Helper - Pre-setup tool (Desktop CLI/GUI + Android module)
- Primary: Android (Rooted Nexus 5X and compatible devices)
- Minimum SDK: Android 5.0 (API 21)
- Features: Full filesystem access for rooted devices, raw socket access for WiFi monitoring
gadget-quarterback/
βββ android-app/ # Main HUD application
β βββ app/
β β βββ src/main/
β β β βββ java/com/stackzac22/quarterback/
β β β β βββ ui/ # UI Components
β β β β βββ dashboard/ # HUD Dashboard
β β β β βββ esphome/ # ESPHome integration
β β β β βββ wifi_radar/ # WiFi/CSI visualization
β β β β βββ bin_manager/ # Firmware management
β β β β βββ capability/ # Device capability system
β β β β βββ schematic/ # Pinout & schematic helper
β β β β βββ device_manager/ # Device registry & sync
β β β β βββ sd_helper/ # SD Card setup module
β β β β βββ network/ # Network operations
β β β β βββ utils/ # Utilities & helpers
β β β βββ res/ # Resources
β β βββ build.gradle
β βββ settings.gradle
βββ sd-card-helper/
β βββ cli/
β β βββ sdhelper-cli.py # Command-line tool
β β βββ requirements.txt
β β βββ config_templates.py # Config generation
β β βββ validators.py # Validation logic
β βββ gui/
β βββ package.json
οΏ½οΏ½οΏ½ βββ main.js # Electron entry
β βββ src/
β β βββ App.vue
β β βββ components/
β β βββ assets/
β βββ README.md
βββ docs/
β βββ ARCHITECTURE.md
β βββ SETUP_NEXUS5X.md
β βββ ESPHOME_INTEGRATION.md
β βββ WIFI_RADAR_GUIDE.md
β βββ SD_HELPER_GUIDE.md
β βββ CONTRIBUTING.md
β βββ API.md
βββ resources/
β βββ schemas/ # Device schemas
β βββ schematics/ # Board diagrams
β βββ templates/ # Config templates
βββ .github/
β βββ workflows/
β β βββ android-build.yml
β β βββ pr-tests.yml
β β βββ release.yml
β βββ ISSUE_TEMPLATE/
β βββ PULL_REQUEST_TEMPLATE.md
βββ LICENSE # MIT License
βββ README.md
βββ ROADMAP.md
βββ gradle/
- Real-time device status overview
- Quick-access controls
- Network visualization
- System metrics
- Automatic device discovery
- Configuration management
- OTA update handling
- Logs and diagnostics
- Visual network representation
- Relationship mapping
- Optimization suggestions
- Setup templates
- Organized firmware storage
- Supported boards: M5Stack, CYD, ESP32-C5, ESP32-C6
- One-tap OTA flashing
- Version tracking & rollback
- Real-time network visualization
- Channel utilization analysis
- Signal strength mapping
- Kismet integration
- Device capability scoring
- Performance metrics
- Compatibility checking
- Improvement suggestions
- Interactive pinout diagrams
- Screen compatibility matrix
- Antenna recommendations
- I2C/SPI bus analyzer
- Desktop CLI - Fast, scriptable setup
- Desktop GUI - User-friendly interface
- Android Module - On-device setup
- Auto-partition & format
- Template generation
- Pre-validation
- Language: Kotlin (primary), Java (legacy)
- UI Framework: Jetpack Compose / Material Design 3
- Network: OkHttp, Retrofit
- Database: Room (SQLite)
- Threading: Coroutines
- ESPHome: HTTP API (via Retrofit)
- WiFi Monitoring: Raw sockets, tcpdump
- Visualization: MPAndroidChart, Canvas
- Desktop Helper: Python (CLI), Electron (GUI)
# Clone repository
git clone https://github.com/stackzac22/gadget-quarterback.git
cd gadget-quarterback/android-app
# Build
./gradlew build
# Deploy to device
./gradlew installDebugcd gadget-quarterback/sd-card-helper/cli
# Install dependencies
pip install -r requirements.txt
# Run with auto-detection
python3 sdhelper-cli.py --auto-detect
# Or specify device
python3 sdhelper-cli.py --device /dev/sdb --template fullcd gadget-quarterback/sd-card-helper/gui
# Install dependencies
npm install
# Start GUI
npm start-
Android Development:
- Android Studio 2023.1+
- JDK 11+
- Gradle 8.0+
-
Device:
- Rooted Nexus 5X or compatible (Android 5.0+)
- At least one ESP32-based device
-
ESPHome:
- Local or cloud ESPHome instance
- Network connectivity
-
Desktop Helper:
- Python 3.8+ (CLI)
- Node.js 16+ (GUI)
- ARCHITECTURE.md - System design & data flow
- SETUP_NEXUS5X.md - Device setup guide
- ESPHOME_INTEGRATION.md - Device management
- WIFI_RADAR_GUIDE.md - Network monitoring
- SD_HELPER_GUIDE.md - SD card setup
- CONTRIBUTING.md - Developer guidelines
- API.md - API reference
This project uses a GitHub App for automation:
- PR Automation - Automated testing on pull requests
- Issue Management - Auto-labeling and triage
- Release Management - Automated version bumping and releases
- Deployment - CI/CD pipeline for testing and building
See .github/workflows/ for configuration.
- Project structure & documentation
- Android HUD Dashboard UI
- ESPHome device discovery
- SD Card Helper CLI (Python)
- SD Card Helper GUI (Electron)
- Bin file manager backend
- WiFi visualization (basic)
- Capability system MVP
- Schematic helper (first 5 boards)
- Android app compilation & testing
- Kismet integration
- CSI radar advanced features
- Play Store release
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
MIT License - See LICENSE file for details
- Inspired by Biscuit Manager and GhostESP Companion
- ESPHome community for excellent device support
- Kismet project for WiFi analysis tools
- Android community for best practices
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: GitHub Wiki
Status: Early Development | Version: 0.1.0-alpha | Last Updated: 2026-06-04