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

lamp-enclosure.tsx

import { assembly } from "@tscircuit/core"
import { enclosureParts, tint } from "./enclosure-geometry"
import { baseAssemblyParts } from "./base-assembly-geometry"
import { baseCadModels } from "./base-cad-models"

export const productParts = [...enclosureParts, ...baseAssemblyParts]

/** Mechanical-only siblings: no new PCB footprints, nets or routing obstacles. */
export function LampEnclosure() {
  return <assembly.cadassembly name="LampClipAssembly">
    {productParts.map(part => <assembly.cadassembly
      key={part.id} name={part.id.replace(/-/g, "_")} displayName={part.label}
      cadModel={{
        ...(baseCadModels[part.id] ? { glbUrl: baseCadModels[part.id] } : {
          jscad: part.id === "camera-reference" || part.multicolor ? part.plan : tint(part.color, part.plan),
        }),
        modelOriginPosition: { x: 0, y: 0, z: 0 },
        modelUnitToMmScale: 1,
        showAsTranslucentModel: ["rear", "front", "base", "neck"].includes(part.group),
      }}
    />)}
  </assembly.cadassembly>
}