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
PCB
Schematic
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>
}