muse/book-reading-clip-lamp

A 60‑mm ESP32‑S3 lamp-head PCB combining USB‑C battery charging/power regulation, OV5640 autofocus camera interfacing, I²S microphone and differential speaker audio, six‑LED boost-driven reading light, buttons, status indicators, and battery monitoring.

Version
0.2.5
License
unset
Stars
0

controls-parts.tsx

SchematicSchematic preview for controls-parts.tsx
import type { PushButtonProps } from "@tscircuit/props"

/** E-Switch TL3305AF160QG — SPST normally-open momentary tactile switch.
 * Official TL3305 datasheet, 2022-09-28, p2 land pattern and schematic:
 * https://www.e-switch.com/wp-content/uploads/2023/01/TL3305.pdf
 * Manufacturer pins 1+2 form one permanently joined contact (lower row);
 * manufacturer pins 3+4 form the other contact (upper row).
 * Logical pin1 = physical 1+2; logical pin2 = physical 3+4.
 * Four 1.6x1.6 mm lands. Outer x span8.8, inner gap5.6 => x centres±3.6.
 * Outer y span4.4 => y centres±1.4. Body4.5x4.5, actuator height3.8mm.
 * Do not substitute a button with vertical-side contact pairing.
 */
export function AskButton(props: PushButtonProps) {
 return <pushbutton manufacturerPartNumber="TL3305AF160QG"
   footprint={<footprint insertionDirection="from_above" cutoutApertureDirection="from_above">
    <smtpad shape="rect" portHints={["pin1"]} pcbX={-3.6} pcbY={-1.4} width={1.6} height={1.6}/>
    <smtpad shape="rect" portHints={["pin1"]} pcbX={3.6} pcbY={-1.4} width={1.6} height={1.6}/>
    <smtpad shape="rect" portHints={["pin2"]} pcbX={-3.6} pcbY={1.4} width={1.6} height={1.6}/>
    <smtpad shape="rect" portHints={["pin2"]} pcbX={3.6} pcbY={1.4} width={1.6} height={1.6}/>
    <silkscreenrect width={4.5} height={4.5}/>
    <silkscreencircle radius={1.25}/>
    <courtyardrect width={9.3} height={5}/>
   </footprint>} {...props}/>
}