# mozetoo/slidex architecture

> Architecture diagram of the GitHub repository mozetoo/slidex, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mozetoo/slidex
- Repository: https://github.com/mozetoo/slidex

## Overview

Slidex is an event-control system for synchronized kinetic LED screens. Operators use a PySide6 desktop application to configure setups, play scenarios, and trigger Resolume video; the system controls screen rotation and vertical movement across up to five structures. Firmware on ESP32 boards provides ESP-NOW wireless control, with custom electronics supporting Ethernet and RS485 and firmware supporting OTA updates. The repository tree contains only README.md, so paths identify documented capabilities rather than inspected implementation modules; uncertain wiring is omitted.

Main entry points: [`README.md`](https://github.com/mozetoo/slidex/blob/main/README.md) (PySide6 application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Operator Control"]
  node_desktop["PySide6 application<br/>[README.md]"]
  node_configuration["Dynamic configuration<br/>[README.md]"]
  node_scenarios["Scenario playback<br/>[README.md]"]
  node_video["Video triggering<br/>[README.md]"]
end

subgraph group_firmware["Firmware &amp; Communication"]
  node_firmware["ESP32 firmware<br/>[README.md]"]
  node_espnow["ESP-NOW control<br/>[README.md]"]
  node_ota["OTA updates<br/>[README.md]"]
end

subgraph group_hardware["Display Hardware"]
  node_pcb["Custom control PCB<br/>[README.md]"]
  node_ethernet["Ethernet support<br/>[README.md]"]
  node_rs485["RS485 support<br/>[README.md]"]
  node_structures["Up to five totems<br/>[README.md]"]
  node_screens["LED screens<br/>[README.md]"]
  node_motion["Rotation and lift<br/>[README.md]"]
end

node_operator(("Event operator"))
node_resolume["Resolume"]

node_operator -->|"operates"| node_desktop
node_desktop -->|"configures"| node_configuration
node_desktop -->|"plays"| node_scenarios
node_desktop -->|"triggers"| node_video
node_video -->|"triggers video"| node_resolume
node_desktop -->|"wireless control"| node_espnow
node_espnow -->|"delivers commands"| node_firmware
node_firmware -->|"runs on"| node_pcb
node_ota -->|"updates"| node_firmware
node_pcb -->|"integrates"| node_ethernet
node_pcb -->|"integrates"| node_rs485
node_pcb -->|"controls"| node_structures
node_structures -->|"mounts"| node_screens
node_screens -->|"supports"| node_motion

click node_desktop "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_configuration "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_scenarios "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_video "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_firmware "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_espnow "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_ota "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_pcb "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_ethernet "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_rs485 "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_structures "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_screens "https://github.com/mozetoo/slidex/blob/main/README.md"
click node_motion "https://github.com/mozetoo/slidex/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_desktop,node_configuration,node_scenarios,node_video toneBlue
class node_firmware,node_espnow,node_ota toneAmber
class node_pcb,node_ethernet,node_rs485,node_structures,node_screens,node_motion toneMint
class node_operator,node_resolume toneIndigo
```

## Components

### Operator Control

- [PySide6 application](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Dynamic configuration](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Scenario playback](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Video triggering](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`

### Firmware & Communication

- [ESP32 firmware](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [ESP-NOW control](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [OTA updates](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`

### Display Hardware

- [Custom control PCB](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Ethernet support](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [RS485 support](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Up to five totems](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [LED screens](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`
- [Rotation and lift](https://github.com/mozetoo/slidex/blob/main/README.md): `README.md`

### Other components

- **Event operator**
- **Resolume**

## Connections

- Event operator → PySide6 application: operates
- PySide6 application → Dynamic configuration: configures
- PySide6 application → Scenario playback: plays
- PySide6 application → Video triggering: triggers
- Video triggering → Resolume: triggers video
- PySide6 application → ESP-NOW control: wireless control
- ESP-NOW control → ESP32 firmware: delivers commands
- ESP32 firmware → Custom control PCB: runs on
- OTA updates → ESP32 firmware: updates
- Custom control PCB → Ethernet support: integrates
- Custom control PCB → RS485 support: integrates
- Custom control PCB → Up to five totems: controls
- Up to five totems → LED screens: mounts
- LED screens → Rotation and lift: supports
