muse/book-reading-clip-lamp

A Wi‑Fi/USB‑C ESP32‑S3 reading lamp with OV5640 camera, microphone, speaker amplifier, rechargeable Li‑Po power management, six-LED boost light, USB protection/charging detection, and a clip/gooseneck enclosure with external FlexPIFA antenna.

Version
0.4.3
License
unset
Stars
0

mechanical/camera-fit-notes.txt

M7 UPDATE: face moves 0.8 mm inward to Z=-17.2, camera remains at the M5 pose.
Lens recess is 0.5 mm nominal / 0.3 mm with stated body tolerance.
Camera, heatsink, retainer and ribbon path unchanged. Main shell depth 27.2 mm;
maximum with harness pocket 32.7 mm. Earlier M5 dimensions below are historical.

SEEED OV5640 CAMERA / RIBBON FIT STUDY M5
07 October 2026 | Millimetres | CAD trial; no physical sample tested

J2 MATING MISMATCH - RESOLVE BEFORE FABRICATION
The Hirose FH12 catalog (current edition, page 10) recommends 3.5 mm minimum
contact length and 4.5 mm minimum stiffener length. Seeed specifies 2.5 and
4.0 mm respectively; its +/-0.1 tail-width tolerance is also wider than
Hirose's recommended +/-0.07. Matching 24 pins, 0.5 pitch and 0.3 thickness
was insufficient to establish compatibility. The earlier sourcing note's
claim of a mechanical match is withdrawn. J2 has NOT been changed by this
mechanical study. Select/qualify a connector for the actual short Seeed tongue
and repeat mating-height, pin-1 and fold checks before ordering the PCB.
The shown insertion is a PACKAGING PLACEHOLDER, not a verified connection.
https://www.hirose.com/en/product/series/FH12/documents?path=/api/v1/series/FH12/documents/product_series_catalog/content?lang%3DEN

SOURCES
Camera: Seeed SKU 114993115
https://www.seeedstudio.com/OV5640-Camera-for-XIAO-ESP32S3-Sense-With-Heat-Sink-p-5739.html
Module drawing: MJY5OAF-F3M-V1, 2023-06-20, PDF page 3
https://files.seeedstudio.com/wiki/OV5640_for_ESP32S3_sense/OV5640_Datasheet.pdf
Connector: Hirose FH12-24S-0.5SH(55), bottom contacts, already fitted as J2.
https://www.hirose.com/product/p/CL0586-0521-0-55

WHAT IS CONFIRMED BY THE SOURCES
- 70.5 +/-0.2 overall flat assembly length, INCLUDING the camera body.
- 8.5 +/-0.2 square camera body; 5.4 +/-0.2 overall module height.
- 6 +/-0.1 flexible stem width, 0.12 +/-0.03 flex thickness.
- 12.5 +/-0.1 tail width; 4 +/-0.1 stiffened end length.
- 0.30 +/-0.03 total tail thickness; 24 contacts at 0.5 pitch.
- 2.5 +/-0.1 exposed contact length.
- Product part list: 7 x 6 x 7 small heatsink and 14 x 14 x 7 second heatsink.
  Only the small heatsink is installed behind the camera in this model.

RESULT: OLD COVER FAILS; REVISED COVER PASSES GEOMETRIC CHECKS
The M4 shell was 22 deep. Its 12 x 12 x 2 heatsink placeholder was incorrect
for the supplied part. At the original camera location, the real 7-high sink
crosses the PCB and old camera strap (measured baseline intersections in JSON).
M5 moves the front face and lens forward by 6, giving 28 total shell depth
(Z=-18..+10) and 29.5 overall including the rear Light cap.
Diameter stays 72; PCB stays 60; rear cup, board and rear screw positions stay.
Keep the same three rear-entry M2 x 16 case screws. The front pilot remains
blind with 8.8 material to the new front face. Camera frame screws are M2 x 4.
Reprint front-bezel and camera-retainer. The six diffuser shapes are unchanged
and can be reused. Never mix the shallow M4 bezel with the complete Seeed stack.

CAMERA STACK
Lens front Z=-16.70; published module rear envelope Z=-11.30.
Thermal adhesive allowance 0.15: heatsink base Z=-11.15; top Z=-4.15.
PCB page surface Z=-0.80 gives 3.35 nominal heatsink-to-PCB separation.
Retainer window is 7.8 x 6.8: 0.4 side clearance around the nominal sink.
Its underside notch provides relief above the ribbon exit.
The retainer bears on the module perimeter, not the autofocus lens or fins.
Fin count/profile, detailed barrel silhouette and adhesive thickness are
modeled approximations. Published heights/outer sizes control the fit check.

RIBBON ROUTE (PCB COORDINATES)
Camera center (0,3.5). Flex leaves toward negative Y at (0,-0.75,-11.56).
Developed camera-edge-to-tail-tip length is 70.5 - 8.5 = 62, not 70.5.
1. Run straight at Z=-11.56 to Y=-23.3381.
2. First 180-degree bend, centerline R=2.415, turns back toward positive Y.
   Outermost centerline reaches Y=-25.7531; returning run is at Z=-6.73.
3. Return to Y=-4.6, then a second 180-degree bend of the same radius.
4. Finish toward negative Y at Z=-1.9. The final 4-long stiffened tongue
   (Y=-6.1..-10.1) is straight, approaching the inward-facing J2 mouth.
5. Nominal insertion is 2.489 based on the current connector CAD envelope.
   Contacts are shown facing +Z, toward the PCB. Pin-1 is NOT qualified by
   this packaging model: verify the actual camera and connector orientation
   before applying power. Do not force/twist a tongue to match a render.

No sharp creases, ribbon shortening, planar sideways bending or scaling were
used. The two bends preserve the ribbon contact-side normal in this pose.
The R=2.415 centerline bend is an engineering assumption, NOT a Seeed-rated
minimum. At maximum published 0.15 flex thickness the inner radius is 2.34.
Actual layers, stiffener transitions and allowable fold life are unspecified.
Keep bends away from the module bond and contact stiffener; confirm the route
and allowed bend radius with a physical sample or manufacturer before use.

VALIDATION SCOPE
mechanical/camera-fit-checks.json records dimensions, 62 mm developed length,
fold pose, old-envelope failure, and closest distances from the new solids.
The exporter checks nominal camera parts pairwise and the full 7 x 6 x 7 sink
box plus 0.15-thick/6.1-wide ribbon against all enclosure parts, PCB substrate
and 109 component bounding envelopes. The 12.6-wide/0.33-thick tongue is tested
as a tolerance envelope. A tightly bounded inserted-tongue region is excluded
from the solid J2 bounding box because that box fills the real connector slot;
this is reported explicitly and does NOT verify the detailed latch/slot fit.
Other overlaps fail the export. Printed parts must be closed single solids.
No camera-to-enclosure assembly motion, flex fatigue, thermal, optical/FOV,
focus, antenna, or electrical operation qualification is implied by these checks.

VIEW / EDIT
The tscircuit dev-server 3D assembly includes the camera, small finned heatsink,
adhesive allowance and amber folded ribbon with gold contacts. Rotate below
the PCB to see both folds through the transparent front cover.
camera-mechanical.ts: reference dimensions, body, heatsink and developed fold.
enclosure-geometry.ts: deeper cover, camera supports and open retaining frame.
export-enclosure.ts: geometry, tolerance-envelope and baseline checks.
bun run enclosure:export regenerates GLBs, print STLs and fit reports.