Skip to content

Technical Overview

Aedan Oskar Otto Diez edited this page Jun 16, 2025 · 2 revisions

Project Architecture Overview

This document provides a high-level overview of the pgShooterKit architecture, its core components, and how they interact.


πŸ—ΊοΈ System Diagram

At its core, pgShooterKit operates on a distributed model with a main control application and a dedicated hardware controller. Communication occurs over a standard Local Area Network (LAN) via HTTP GET requests.

graph TD
    subgraph Computer
        A["πŸ’» macOS Application <br/> (Swift & SwiftUI)"]
    end

    subgraph Hardware Controller
        C["πŸ€– ESP32-WROOM <br/> (C++ & Arduino)"]
    end

    A -- Commands --> B(("🌐 LAN <br/> Ethernet"))
    B -- Instructions --> C
    C -- Controls --> D{βš™οΈ Stepper Motors}

    style A fill:#D6EAF8,stroke:#333,stroke-width:2px
    style C fill:#D5F5E3,stroke:#333,stroke-width:2px
Loading

πŸ”‘ Key Specifications & Requirements

This section summarizes the essential technical requirements and technologies used in the project.

Main Application (macOS)

  • Target OS: macOS 15 Sequoia and higher
  • Language: Swift
  • UI Framework: SwiftUI
  • Development IDE: Xcode

Motor Controller (ESP32)

  • Hardware: ESP32-WROOM Module
  • Firmware Language: C++ (via the Arduino Framework)
  • Development IDE: Arduino IDE

Communication Layer

  • Physical Link: Ethernet (via LAN8720 module on ESP32)
  • Network: Both devices must be on the same Local Area Network (LAN).
  • Protocol: HTTP (The ESP32 runs a web server to accept commands via GET).

Dive Deeper

Now that you have the big picture, you can explore the specifics of each component:

Clone this wiki locally