Skip to content

stackzac22/gadget-quarterback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gadget Quarterback πŸˆπŸ“‘

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.

🎯 Overview

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)

πŸ“± Target Platform

  • 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

πŸ—οΈ Project Structure

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/

✨ Key Features

1. HUD Dashboard

  • Real-time device status overview
  • Quick-access controls
  • Network visualization
  • System metrics

2. ESPHome Integration

  • Automatic device discovery
  • Configuration management
  • OTA update handling
  • Logs and diagnostics

3. Device Ecosystem Mapper

  • Visual network representation
  • Relationship mapping
  • Optimization suggestions
  • Setup templates

4. Bin File Manager

  • Organized firmware storage
  • Supported boards: M5Stack, CYD, ESP32-C5, ESP32-C6
  • One-tap OTA flashing
  • Version tracking & rollback

5. WiFi/CSI Radar

  • Real-time network visualization
  • Channel utilization analysis
  • Signal strength mapping
  • Kismet integration

6. Capability System

  • Device capability scoring
  • Performance metrics
  • Compatibility checking
  • Improvement suggestions

7. Schematic Helper

  • Interactive pinout diagrams
  • Screen compatibility matrix
  • Antenna recommendations
  • I2C/SPI bus analyzer

8. SD Card Helper ⭐

  • Desktop CLI - Fast, scriptable setup
  • Desktop GUI - User-friendly interface
  • Android Module - On-device setup
  • Auto-partition & format
  • Template generation
  • Pre-validation

πŸ› οΈ Technology Stack

  • 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)

πŸš€ Quick Start

Android App

# Clone repository
git clone https://github.com/stackzac22/gadget-quarterback.git
cd gadget-quarterback/android-app

# Build
./gradlew build

# Deploy to device
./gradlew installDebug

SD Card Helper - CLI (Desktop)

cd 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 full

SD Card Helper - GUI (Desktop)

cd gadget-quarterback/sd-card-helper/gui

# Install dependencies
npm install

# Start GUI
npm start

πŸ“‹ Prerequisites

  • 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)

πŸ“š Documentation

πŸ”„ GitHub App Integration

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.

🎯 Roadmap

  • 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

🀝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

πŸ“„ License

MIT License - See LICENSE file for details

πŸ™ Acknowledgments

  • Inspired by Biscuit Manager and GhostESP Companion
  • ESPHome community for excellent device support
  • Kismet project for WiFi analysis tools
  • Android community for best practices

πŸ“ž Support & Community


Status: Early Development | Version: 0.1.0-alpha | Last Updated: 2026-06-04

About

All-in-one HUD app for ESP32 ecosystem with SD Card setup helper

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages