# orcahand/orcahand_hardware architecture

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

- Interactive diagram: https://gitdiagram.com/orcahand/orcahand_hardware
- Repository: https://github.com/orcahand/orcahand_hardware

## Overview

ORCA Hand Files is a repository of robotic-hand CAD and manufacturing assets, not primarily a software service. The main workflow is to modify an STL design, find the 3MF print packages that reference it, update their embedded meshes, then use the packages to print parts for assembly. The repository also provides base, touch, lite, and legacy designs, molds and skins, CNC parts, and motor-connector board files. Workflow links reflect the README and sampled scripts; variant details and other unsampled subsystems are represented only where the tree or README supports them.

Main entry points: [`orca_v2/base`](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base) (Base Hand), [`orca_v2/base/Prints-1100.3mf`](https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/base/Prints-1100.3mf) (3MF Print Packages), [`scripts/update-print-files.py`](https://github.com/orcahand/orcahand_hardware/blob/main/scripts/update-print-files.py) (Changed-File Updater), [`scripts/find_3mf_for_file.py`](https://github.com/orcahand/orcahand_hardware/blob/main/scripts/find_3mf_for_file.py) (Find Referencing 3MFs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_designs["Hand Designs"]
  node_base["Base Hand"]
  node_touch["Touch Variant"]
  node_lite["Lite Variant"]
  node_v1["Legacy V1"]
  node_fingers["Finger Parts"]
  node_carpals["Carpals"]
  node_wrist["Wrist"]
  node_forearm["Forearm"]
  node_spools["Spools"]
end

subgraph group_manufacturing["Manufacturing Assets"]
  node_cnc["CNC Parts"]
  node_molds["Molds"]
  node_clipped_molds["Clipped Molds"]
  node_skins["Hand Skins"]
  node_assembly["Assembly Guidance"]
  node_print_packages["3MF Print Packages<br/>[Prints-1100.3mf]"]
  node_touch_packages["Touch Print Packages<br/>[Prints-2000-DX.3mf]"]
  node_legacy_packages["V1 Print Files"]
end

subgraph group_workflow["Print File Workflow"]
  node_find["Find Referencing 3MFs"]
  node_update["Update 3MF Meshes<br/>[update_3mf.py]"]
  node_auto_update["Changed-File Updater"]
end

subgraph group_electronics["Electronics"]
  node_electronics_files["Motor Connectors"]
end

node_designer(("Designer"))
node_printer(("3D Printer"))
node_assembler(("Builder"))

node_designer -->|"edits designs"| node_base
node_base -->|"includes parts"| node_fingers
node_base -->|"includes parts"| node_carpals
node_base -->|"includes parts"| node_wrist
node_base -->|"includes parts"| node_forearm
node_base -->|"includes parts"| node_spools
node_base -->|"includes parts"| node_cnc
node_base -->|"includes parts"| node_molds
node_base -->|"includes parts"| node_clipped_molds
node_base -->|"includes parts"| node_skins
node_touch -->|"shares STL sources"| node_base
node_base -->|"provides part meshes"| node_print_packages
node_touch -->|"provides variant parts"| node_touch_packages
node_v1 -->|"provides print files"| node_legacy_packages
node_designer -->|"looks up changed STL"| node_find
node_find -->|"matches part names"| node_print_packages
node_designer -->|"starts update"| node_auto_update
node_auto_update -->|"maps changed parts"| node_find
node_auto_update -->|"runs updater"| node_update
node_update -->|"replaces embedded meshes"| node_print_packages
node_print_packages -->|"provides print input"| node_printer
node_printer -->|"produces parts"| node_assembler
node_assembly -->|"guides assembly"| node_assembler
node_electronics_files -.->|"provides board files"| node_assembler

click node_base "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base"
click node_touch "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/touch"
click node_lite "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/lite"
click node_v1 "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v1"
click node_fingers "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/01_Fingers"
click node_carpals "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/02_Carpals"
click node_wrist "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/03_Wrist"
click node_forearm "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/04_ForeArm"
click node_spools "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/05_Spools"
click node_cnc "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/06_CNC"
click node_molds "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/07_Molds"
click node_clipped_molds "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/08_MoldsWithClips"
click node_skins "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/09_Skin"
click node_assembly "https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/base/ASSEMBLY_ADDENDUM.md"
click node_print_packages "https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/base/Prints-1100.3mf"
click node_touch_packages "https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/touch/Prints-2000-DX.3mf"
click node_legacy_packages "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v1/Print_Files_Bambu"
click node_find "https://github.com/orcahand/orcahand_hardware/blob/main/scripts/find_3mf_for_file.py"
click node_update "https://github.com/orcahand/orcahand_hardware/blob/main/scripts/update_3mf.py"
click node_auto_update "https://github.com/orcahand/orcahand_hardware/blob/main/scripts/update-print-files.py"
click node_electronics_files "https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/electronics"

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_base,node_touch,node_lite,node_v1,node_fingers,node_carpals,node_wrist,node_forearm,node_spools toneBlue
class node_cnc,node_molds,node_clipped_molds,node_skins,node_assembly,node_print_packages,node_touch_packages,node_legacy_packages toneAmber
class node_find,node_update,node_auto_update toneMint
class node_electronics_files toneRose
class node_designer,node_printer,node_assembler toneIndigo
```

## Components

### Hand Designs

- [Base Hand](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base): `orca_v2/base`
- [Touch Variant](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/touch): `orca_v2/touch`
- [Lite Variant](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/lite): `orca_v2/lite`
- [Legacy V1](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v1): `orca_v1`
- [Finger Parts](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/01_Fingers): `orca_v2/base/01_Fingers`
- [Carpals](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/02_Carpals): `orca_v2/base/02_Carpals`
- [Wrist](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/03_Wrist): `orca_v2/base/03_Wrist`
- [Forearm](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/04_ForeArm): `orca_v2/base/04_ForeArm`
- [Spools](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/05_Spools): `orca_v2/base/05_Spools`

### Manufacturing Assets

- [CNC Parts](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/06_CNC): `orca_v2/base/06_CNC`
- [Molds](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/07_Molds): `orca_v2/base/07_Molds`
- [Clipped Molds](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/08_MoldsWithClips): `orca_v2/base/08_MoldsWithClips`
- [Hand Skins](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/base/09_Skin): `orca_v2/base/09_Skin`
- [Assembly Guidance](https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/base/ASSEMBLY_ADDENDUM.md): `orca_v2/base/ASSEMBLY_ADDENDUM.md`
- [3MF Print Packages](https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/base/Prints-1100.3mf): `orca_v2/base/Prints-1100.3mf`
- [Touch Print Packages](https://github.com/orcahand/orcahand_hardware/blob/main/orca_v2/touch/Prints-2000-DX.3mf): `orca_v2/touch/Prints-2000-DX.3mf`
- [V1 Print Files](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v1/Print_Files_Bambu): `orca_v1/Print_Files_Bambu`

### Print File Workflow

- [Find Referencing 3MFs](https://github.com/orcahand/orcahand_hardware/blob/main/scripts/find_3mf_for_file.py): `scripts/find_3mf_for_file.py`
- [Update 3MF Meshes](https://github.com/orcahand/orcahand_hardware/blob/main/scripts/update_3mf.py): `scripts/update_3mf.py`
- [Changed-File Updater](https://github.com/orcahand/orcahand_hardware/blob/main/scripts/update-print-files.py): `scripts/update-print-files.py`

### Electronics

- [Motor Connectors](https://github.com/orcahand/orcahand_hardware/tree/main/orca_v2/electronics): `orca_v2/electronics`

### Other components

- **Designer**
- **3D Printer**
- **Builder**

## Connections

- Designer → Base Hand: edits designs
- Base Hand → Finger Parts: includes parts
- Base Hand → Carpals: includes parts
- Base Hand → Wrist: includes parts
- Base Hand → Forearm: includes parts
- Base Hand → Spools: includes parts
- Base Hand → CNC Parts: includes parts
- Base Hand → Molds: includes parts
- Base Hand → Clipped Molds: includes parts
- Base Hand → Hand Skins: includes parts
- Touch Variant → Base Hand: shares STL sources
- Base Hand → 3MF Print Packages: provides part meshes
- Touch Variant → Touch Print Packages: provides variant parts
- Legacy V1 → V1 Print Files: provides print files
- Designer → Find Referencing 3MFs: looks up changed STL
- Find Referencing 3MFs → 3MF Print Packages: matches part names
- Designer → Changed-File Updater: starts update
- Changed-File Updater → Find Referencing 3MFs: maps changed parts
- Changed-File Updater → Update 3MF Meshes: runs updater
- Update 3MF Meshes → 3MF Print Packages: replaces embedded meshes
- 3MF Print Packages → 3D Printer: provides print input
- 3D Printer → Builder: produces parts
- Assembly Guidance → Builder: guides assembly
- Motor Connectors → Builder: provides board files
