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

camera-fit.circuit.tsx

PCBPCB preview for camera-fit.circuit.tsx
SchematicSchematic preview for camera-fit.circuit.tsx
import { assembly } from "@tscircuit/core"
import { cameraParts } from "./camera-mechanical"
import { enclosureParts, tint } from "./enclosure-geometry"
import { baseCadModels } from "./base-cad-models"

/** Mechanical inspection only: covers/PCB hidden to expose the full flex path.
 * The complete circuit remains index.circuit.tsx. J2 mating is unresolved;
 * see mechanical/camera-fit-notes.txt before treating this as an assembly plan.
 */
export default function CameraFitStudy() {
  const retainer = enclosureParts.find(p => p.id === "camera-retainer")!
  return <assembly.device name="SeeedCameraFoldStudy">
    {[...cameraParts, retainer].map(part => <assembly.cadassembly
      key={part.id} name={part.id.replace(/-/g, "_")} displayName={part.label}
      cadModel={{
        ...(baseCadModels[part.id] ? { glbUrl: baseCadModels[part.id] } : { jscad: tint(part.color, part.plan) }),
        modelOriginPosition: { x:0, y:0, z:0 }, modelUnitToMmScale:1,
      }}
    />)}
  </assembly.device>
}