Key Work · 5

Derived the optical spec at 53 µm/px from a 0.1 mm feature-resolution requirement

The chain fixed sensor, lens, and working distance, and produced a ±13 mm standoff window that became the tolerance the mechanical design had to fit inside. Every later optical decision traces back to two inputs: the feature size and the frame width.

Proved five cameras is the minimum for full-face coverage, verified by generated geometry

Boundary placement moves the hardest regions to mid-frame, where lighting and resolution are best, with overlap at every seam. Centering on the protrusions is the intuitive approach and leaves those regions shadowed. The motorized single-camera option was rejected on cycle time and on drift, since a moving stage on a dusty floor is both a repeatability risk and a single point of failure.

Held framing to ±2.9 mm with no contact to production tooling

Roughly four times margin inside the optical standoff window. The cart is never clamped, docked, or modified, so teardown flow is unchanged and the station can be relocated without recalibration.

Built the capture software end to end, gating every image on focus and exposure

A full unit runs from serial entry to completion in a browser, with per-camera retake. Every stored image carries its focus and exposure verdicts and any override flag, so the archive stays honest about which frames a human waved through.

Made camera count configuration-driven and handed off a full commissioning package

End-to-end runs verified at one, two, and five cameras, so the planned expansion needs no software work. The documentation set includes a commissioning runbook, a decision log of every locked design choice, a verification record with open items, and a code guide written for a non-programmer working with an AI assistant.

Interfaces

FromToTypeDescription
Camera (x5)PoE SwitchelectricalOne cable per camera carries both power and data. Expansion to ten cameras is additional ports rather than a topology change.
PoE SwitchStation PCdataGigE Vision on an isolated subnet with no gateway and no route to the corporate network. Corporate connectivity uses a separate adapter on the same machine. This is the boundary where discovery failed.
Foot PedalStation PCuiSingle keystroke triggers a capture, so the operator's hands stay on the cart. Deliberately the only physical input in the workflow.
Station PCLocal Image DrivedataImages written under the unit serial, each carrying its focus and exposure verdicts and any operator override. This is the record of what happened, not just the pictures.
Station PCMESdataSerial-to-image linkage defined as the next integration step. Images are serial-tagged on the station in the interim, so nothing is lost if the integration lands later.
Cart and ColumnStationmechanicalNo physical contact, by design. A station that touches production tooling risks being shifted or damaged in daily use, so all registration is workpiece-referenced.

Documents

Station CAD Render
IMGStation CAD Render

Five-camera station, independent vertical stages, mobile base

Camera Coverage Comparison
IMGCamera Coverage Comparison

Why five cameras: single-camera shadowing vs. boundary-placed coverage

Optical Specification Derivation
IMGOptical Specification Derivation

Requirement to specification: 0.1 mm feature to 53 µm/px

Showcase Poster
IMGShowcase Poster

Intern showcase poster, July 2026

Operator Console (Sample Cam Feed)
IMGOperator Console (Sample Cam Feed)

One-press capture with per-camera focus verdicts and single-camera retake

Limitations

  • Commissioning was not completed before handoff. Camera discovery is blocked by host firewall policy on the corporate-managed PC, which requires a centrally applied exception under IT security review. I traced it to the specific firewall rule and blocked process and delivered the exception package. Ticket ownership transferred to my manager before I left.
  • The production camera driver was never exercised against real hardware. I built simulator and USB camera backends to verify the full pipeline end to end, and a readiness script that isolates which layer is failing at bring-up.
  • Focus and exposure thresholds ship as placeholders, since real values depend on real optics and lighting. The calibration tool and procedure are built and documented; the step takes about ten minutes once cameras are live.
  • Optical resolution and framing budget are design values, not measurements taken with the system running on the line. The framing budget was sized against measured variation across production carts.
  • Phase 1 images the outward face only, a scope decision to hit the timeline. The software supports the extension unmodified, so adding it is a fixturing problem rather than a redesign.

Lessons

  • Wearing every hat at once, product owner, mechanical designer, software engineer, and network debugger, meant every trade-off went through me. Choosing an aperture for depth of field was also choosing how precisely an operator would have to position a cart. Owning both ends made those couplings visible in a way a specialist role would not have.
  • Reliability and Operations each set constraints that shaped the design fundamentally. Reliability needing every region imaged is what drove the five-camera layout. I learned to find the binding constraint from each group early rather than designing and then seeking approval.
  • Lead times drove more decisions than any technical analysis. Component availability shaped the camera and lens selection, and the station PC not arriving on schedule forced the software to become host-agnostic. Treating procurement as an engineering input rather than an administrative step would have changed my sequencing from week one.
  • Designing the handoff early changed what I built. Knowing I would not be the one commissioning the station is why camera count is set in a configuration file (as opposed to being hard-coded), and why the readiness check prints fixes rather than error codes.
  • IT was the stakeholder I did not think to consult. Reliability and Operations were obvious sources of requirements; the corporate network was infrastructure I assumed would just work. It became the binding constraint. On any project touching managed IT systems, I would have a meeting with them outlining the requirements of the project in week one.

Built something worth showing?

Document your project →