# uga-ieee/2026_fyc_projects architecture

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

- Interactive diagram: https://gitdiagram.com/uga-ieee/2026_fyc_projects
- Repository: https://github.com/uga-ieee/2026_fyc_projects

## Overview

This repository is a collection of three student engineering projects, not one integrated application. Group 1 is documented as a sleep-tracking alarm clock; Group 2 converts PDF text into Braille patterns and sends them to hardware; Group 3 detects e-waste with a camera and uses detections to control sorting hardware. The Group 2 and Group 3 flows are grounded in sampled source. Group 1’s capabilities come from the README; its implementation wiring is not established by the sampled files.

Main entry points: [`Group_2/master_pipeline.py`](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py) (PDF processing), [`Group_1/README.md`](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_1/README.md) (SleepSense alarm), [`Group_3/ml/live_demo_4.py`](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py) (YOLO detection), [`Group_3/ml_final/best.pt`](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml_final/best.pt) (Trained weights)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sleep["SleepSense Clock"]
  node_sleep_project["SleepSense alarm<br/>[README.md]"]
  node_ppg["Wearable PPG"]
  node_sleep_record[("Sleep record")]
  node_lcd["Interactive LCD"]
  node_mobile["Mobile connectivity"]
end

subgraph group_braille["PDF Braille"]
  node_pipeline["PDF processing<br/>[master_pipeline.py]"]
  node_pdf_text["Extracted text<br/>[master_pipeline.py]"]
  node_translator["Braille encoding<br/>[master_pipeline.py]"]
  node_debug_files["Text and pattern files<br/>[master_pipeline.py]"]
  node_i2c["I2C driver<br/>[master_pipeline.py]"]
end

subgraph group_sorting["E-waste Sorting"]
  node_camera["Camera frames<br/>[live_demo_4.py]"]
  node_detector["YOLO detection<br/>[live_demo_4.py]"]
  node_weights["Trained weights<br/>[best.pt]"]
  node_trainer["Model training<br/>[train.py]"]
  node_stability["Stable label filter<br/>[live_demo_4.py]"]
  node_servo["Servo actuator<br/>[live_demo_4.py]"]
  node_motor["Motor PWM<br/>[live_demo_4.py]"]
end

node_sleeper(("Sleeper"))
node_pdf_user(("PDF user"))
node_pdf["PDF document"]
node_braille_hardware["Braille output hardware"]
node_sort_operator(("Sorting operator"))
node_dataset["Training dataset"]

node_sleeper -->|"uses"| node_sleep_project
node_ppg -->|"tracks sleep"| node_sleep_project
node_sleep_project -->|"records patterns"| node_sleep_record
node_sleep_project -->|"presents information"| node_lcd
node_sleep_project -->|"connects"| node_mobile
node_pdf_user -->|"supplies PDF"| node_pipeline
node_pipeline -->|"reads"| node_pdf
node_pipeline -->|"extracts text"| node_pdf_text
node_pipeline -->|"converts text"| node_translator
node_translator -->|"writes patterns"| node_debug_files
node_pipeline -->|"sends patterns"| node_i2c
node_i2c -->|"writes cells"| node_braille_hardware
node_sort_operator -->|"presents items"| node_camera
node_camera -->|"provides frames"| node_detector
node_weights -->|"loads model"| node_detector
node_dataset -->|"trains on"| node_trainer
node_trainer -->|"produces weights"| node_weights
node_detector -->|"filters detections"| node_stability
node_stability -->|"positions"| node_servo
node_sort_operator -->|"sets speed"| node_motor

click node_sleep_project "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_1/README.md"
click node_ppg "https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1"
click node_sleep_record "https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1"
click node_lcd "https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1"
click node_mobile "https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1"
click node_pipeline "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py"
click node_pdf_text "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py"
click node_translator "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py"
click node_debug_files "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py"
click node_i2c "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py"
click node_camera "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py"
click node_detector "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py"
click node_weights "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml_final/best.pt"
click node_trainer "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/eWaste_detection/train.py"
click node_stability "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py"
click node_servo "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py"
click node_motor "https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py"

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_sleep_project,node_ppg,node_sleep_record,node_lcd,node_mobile,node_pdf_user toneBlue
class node_pipeline,node_pdf_text,node_translator,node_debug_files,node_i2c toneAmber
class node_camera,node_detector,node_weights,node_trainer,node_stability,node_servo,node_motor toneMint
class node_sleeper,node_pdf,node_braille_hardware,node_sort_operator,node_dataset toneIndigo
```

## Components

### SleepSense Clock

- [SleepSense alarm](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_1/README.md): `Group_1/README.md`
- [Wearable PPG](https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1): `Group_1`
- [Sleep record](https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1): `Group_1`
- [Interactive LCD](https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1): `Group_1`
- [Mobile connectivity](https://github.com/uga-ieee/2026_fyc_projects/tree/main/Group_1): `Group_1`

### PDF Braille

- [PDF processing](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py): `Group_2/master_pipeline.py`
- [Extracted text](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py): `Group_2/master_pipeline.py`
- [Braille encoding](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py): `Group_2/master_pipeline.py`
- [Text and pattern files](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py): `Group_2/master_pipeline.py`
- [I2C driver](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_2/master_pipeline.py): `Group_2/master_pipeline.py`

### E-waste Sorting

- [Camera frames](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py): `Group_3/ml/live_demo_4.py`
- [YOLO detection](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py): `Group_3/ml/live_demo_4.py`
- [Trained weights](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml_final/best.pt): `Group_3/ml_final/best.pt`
- [Model training](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/eWaste_detection/train.py): `Group_3/eWaste_detection/train.py`
- [Stable label filter](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py): `Group_3/ml/live_demo_4.py`
- [Servo actuator](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py): `Group_3/ml/live_demo_4.py`
- [Motor PWM](https://github.com/uga-ieee/2026_fyc_projects/blob/main/Group_3/ml/live_demo_4.py): `Group_3/ml/live_demo_4.py`

### Other components

- **Sleeper**
- **PDF user**
- **PDF document**
- **Braille output hardware**
- **Sorting operator**
- **Training dataset**

## Connections

- Sleeper → SleepSense alarm: uses
- Wearable PPG → SleepSense alarm: tracks sleep
- SleepSense alarm → Sleep record: records patterns
- SleepSense alarm → Interactive LCD: presents information
- SleepSense alarm → Mobile connectivity: connects
- PDF user → PDF processing: supplies PDF
- PDF processing → PDF document: reads
- PDF processing → Extracted text: extracts text
- PDF processing → Braille encoding: converts text
- Braille encoding → Text and pattern files: writes patterns
- PDF processing → I2C driver: sends patterns
- I2C driver → Braille output hardware: writes cells
- Sorting operator → Camera frames: presents items
- Camera frames → YOLO detection: provides frames
- Trained weights → YOLO detection: loads model
- Training dataset → Model training: trains on
- Model training → Trained weights: produces weights
- YOLO detection → Stable label filter: filters detections
- Stable label filter → Servo actuator: positions
- Sorting operator → Motor PWM: sets speed
