Skip to content

Add parametric OpenSCAD mount for UC-844 eye camera#36

Open
danielkaijzer wants to merge 6 commits into
mainfrom
claude/eye-camera-mount-design-tot42k
Open

Add parametric OpenSCAD mount for UC-844 eye camera#36
danielkaijzer wants to merge 6 commits into
mainfrom
claude/eye-camera-mount-design-tot42k

Conversation

@danielkaijzer

Copy link
Copy Markdown
Owner

Summary

  • Adds 3d-files/uc844_mount_v1.scad, a parametric OpenSCAD design for a new mount for the ArduCam UC-844 Rev.B (38x38mm PCB), replacing the old internal-eye-cam mount which was sized for a different camera.
  • Pocket-frame locates the PCB by its edges with a tight registration zone (0.10mm/side) plus a looser lead-in zone (0.30mm/side) above it, directly addressing the old mount's looseness/PCB-slide issue.
  • 4 corner posts with heat-set-insert pilot holes + gussets, sized to bolt the board down through its real corner mounting holes (confirmed from photos to be the only 4 real plated holes — the other 6 are via-stitching, not for screws).
  • Perforated floor under the PCB pocket for airflow, per 3d-files/NOTES.md.
  • Reuses two properties measured directly from the old mount's actual STEP file (3d-files/bottom mount/v1 various internal eye cams.step): the 60° camera tilt angle, and the glasses-attachment clip's geometry — a snap-fit "keyhole" slot (not a screw-cinched clamp): the wire pops through a narrow pinch and is captured in a wider pocket, with a separate bolt hole that just attaches the clip to the spine.
  • Parameters are grouped and commented by confidence level (measured from STEP vs. measured from photos/ruler vs. designer's-choice defaults) so it's clear what to verify before printing.

Test plan

  • Rendered headlessly with OpenSCAD (xvfb-run -a openscad) from multiple angles to visually verify the pocket, corner bosses, perforation grille, and glasses clips.
  • Exported to STL and confirmed the design is a single manifold, fully-connected solid (Simple: yes, one fused body) — printable as one part.
  • Physical test print + fit check on the real UC-844 board and glasses (up to the user — several parameters, e.g. hole_pitch, clip_spacing, tolerances, are flagged as low-confidence estimates that will likely need tuning after a first print).

🤖 Generated with Claude Code

https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs


Generated by Claude Code

claude added 6 commits July 15, 2026 22:07
Pocket-frame with a tight registration zone plus a looser lead-in
zone locates the 38x38mm PCB by its edges to fix the looseness of
the old mount, with 4 corner heat-set-insert bosses/gussets to bolt
the board down and a perforated floor for airflow (per 3d-files/NOTES.md).

Reuses two properties measured directly from the old mount's real
STEP file (3d-files/bottom mount/v1 various internal eye cams.step):
the 60 degree camera tilt, and the glasses-attachment clip's snap-fit
keyhole slot geometry (mouth/neck/pocket widths + bolt hole).

Parameters are grouped by confidence (measured from STEP vs. from
photos/ruler vs. designer defaults) so it's clear what to re-check
before printing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
Camera tilt was flipped so the pocket opening (where the PCB/lens
faces) tilts back toward the spine and glasses clips - inward toward
the eye - instead of outward away from the face.

Frame is now a genuine open picture-frame (thin rim hugging the PCB
edges, hollow in the middle) with a diagonal-braced pad at each
corner carrying the mounting screw, instead of a solid slab. This
makes the back-perforation workaround unnecessary since there's
nothing solid left to perforate - airflow is inherent to the design
now. Added an explicit connector tab so the spine still fuses solidly
into the frame despite the hollow middle (verified via CGAL volume
count on the exported STL).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
The old mount's camera bracket was tiny (~20x29.5x9mm, from its STEP
file) next to this frame's 44x44mm footprint. Centering the PCB the
same way in both, on an otherwise-identical flat/horizontal spine,
pushes the new lens noticeably further from the clip attachment point
than the old mount - which, given the tilt, means further up and away
from the eye.

This variant splits the spine into two segments with a bend
(dip_angle) between them, so the frame-side segment angles downward
before the frame attaches, compensating for that extra offset. Kept
as a separate file from uc844_mount_v1.scad (flat spine) since there's
no hard measurement yet for how much dip is actually needed - both are
meant to be compared during test-fit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
dip_angle and tilt_angle both rotate about the same axis, and the dip
was applied with the same sign as the tilt, so it compounded the
tilt instead of counteracting it - moving the lens further up/out
rather than back down. Traced the actual centroid coordinates through
both rotations to confirm: at dip_angle=25 the old (buggy) sign put
the frame centroid at height 32.0 (higher than v1's 23.8); the fixed
sign puts it at 11.7 (lower, as intended). Volume-check on the STL
still confirms a single fused part after the fix.

Also documented that the old mount's STEP file can't supply ground
truth for how much dip is actually needed - its bracket solids turned
out to be an unconnected comparison layout, not a modeled assembly -
so a real ruler measurement off the physical old mount is the
reliable way to calibrate this.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
The old camera's lens sits ~3/8in (9.5mm) above the clip. Solved for
the dip_angle that puts this frame's PCB/lens centroid at the same
height above the clip while holding tilt_angle fixed at 60 degrees
(matching the old mount, per the user's requirement) - 29 degrees,
up from the earlier placeholder guess of 25. Verified the centroid
math directly (root-solved against the same transform chain used to
catch the previous sign bug) and re-confirmed the part still fuses
into one manifold solid after the change.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
A clearer board photo showed two nested corner-hole patterns, not one
real + decoys as originally assumed from a blurrier shot. Measured
both via circle detection (cross-checked against all 4 sides of each
square): outer holes at 34.0mm pitch, inner at 28.0mm - matching the
"compatible with 34x34, 28x28mm" note from the very first message.
hole_pitch=34 already targeted the outer pattern correctly, so no
functional change, but the confidence label and comments were wrong
(claimed only 4 real holes existed) and are now corrected. Also
tightened hole_dia to the measured 2.85mm (from a rough 3.0mm guess);
purely informational, doesn't affect the geometry since the boss's
own insert_hole_dia is sized independently.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KF1U5JFzBcD4CbzqbnSUAs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants