Architecture & interfaces
This is the contract page. If you replace or modify a module, this page tells you what the rest of the machine assumes about it. Module-internal details live in each module specification.
Module decomposition
- Frame & beam delivery — main structure; laser source, steering mirror mounts, the path-switching mirror, the galvo head and the rails it rides on.
- Vacuum system — ISO160 chamber, pumps, gauges, valves, and all feedthroughs (feedthroughs belong to this module's BOM, but their specification is defined here, because they are contracts with other modules).
- Ablation scanner — the mirror+lens assembly that rasters the beam over the target: one rotational axis parallel to the ablation axis, one translational axis perpendicular to it, together covering the full target.
- Main mechanism — everything inside the vacuum: tape/mask transport, target and substrate holders, and their registration features.
- Electronics — controller, motor drivers, laser control, interlocks, power distribution.
- Software (cross-cutting, versioned with the electronics controller) — layered Python stack; see Operation → Software.
Block diagram
┌────────────────────────────────────────┐
│ FRAME & BEAM DELIVERY │
│ │
1064 nm laser ──┼─► steering mirrors ──► [switch mirror] │
│ │(inserted) │(retracted)
│ ▼ ▼
│ ABLATION SCANNER GALVO (on rails)
│ rot ∥ + transl ⊥ │
└───────────────────┬───────────────┬────┘
│ window A │ window B
┌───────────────────▼───────────────▼────┐
│ VACUUM SYSTEM (ISO160) │
│ ┌─────────────────────────────────┐ │
│ │ MAIN MECHANISM │ │
│ │ targets ◄─ ablation tape/mask │ │
│ │ substrate machining ◄──────┤ │
│ └─────────────────────────────────┘ │
│ pumps · gauges · feedthroughs │
└────────────────────────────────────────┘
▲ motion/electrical feedthroughs
┌────────────┴───────────────────────────┐
│ ELECTRONICS ◄──► SOFTWARE (HAL) │
└────────────────────────────────────────┘
Optical path contract
The laser serves two functions through two mutually exclusive paths, selected by a mirror inserted into the beam path:
| Mask micromachining (SAP) | Target ablation (PLD) | |
|---|---|---|
| Path | laser → steering → galvo → window → tape | laser → steering → switch mirror → ablation scanner → window → target |
| Moving elements in path | none during a fabrication run | switch mirror (inserted), scanner axes |
| Pointing criticality | high — defines mask coordinate frame | low — beam is rastered over target anyway |
Registration invariant: the galvo and every optic upstream of it must not move for the duration of a fabrication run. This is why the switching element diverts the beam away from the galvo path rather than into it: insertion repeatability of the switch mirror only perturbs the ablation path, where it is harmless. Any modification to beam delivery must preserve this asymmetry.
Open question / TODO: the galvo rides on rails (chamber access, engraver mode). Define whether rail repositioning is repeatable (hard stops / kinematic seats) or whether coordinate registration is recalibrated per session. This determines a frame requirement vs. an operational procedure. See Calibration.
Vacuum wall contract (feedthroughs)
Everything crossing the chamber wall, by consumer module:
| Crossing | Consumer | Type | Spec (TODO: fill from r1) |
|---|---|---|---|
| Machining beam, window B | Frame (galvo) | Optical viewport | aperture ≥ …, material …, AR @1064 nm |
| Ablation beam, window A | Ablation scanner | Optical viewport | aperture ≥ …, angle …, AR @1064 nm |
| Tape transport motion | Main mechanism | Rotary feedthrough(s) | torque …, qty … |
| Substrate/target motion | Main mechanism | Rotary/linear | … |
| In-vacuum electrical | Main mechanism | Electrical feedthrough | pins …, current …, voltage … |
| Gauging | Vacuum | Gauge ports | qty …, flange … |
| Venting / gas inlet | Vacuum | Valve port | … |
Electrical & signal conventions
Software interface
The controller exposes a hardware abstraction layer (HAL); machine geometry
and configuration live in declarative YAML (hardware_config.yaml,
machine_state.yaml). A module variant is software-compatible if it can be
described by the config schema without HAL changes.