mohan-bee/fitness-band
A 4-layer BLE wearable mainboard with Li-ion charging/protection, 3.3/1.8 V power regulation, motion and battery sensing, plus a folded 2-layer flex sensor board carrying MAX30102 optical and TMP117 temperature sensors.
- Version
- 0.0.2
- License
- unset
- Stars
- 0
parts.tsx
import type { CapacitorProps, ResistorProps, ChipProps } from "@tscircuit/props"
const capacitors = {
"100nF": { footprint: "0402", mpn: "GRM155R71C104KA88D" },
"1uF": { footprint: "0603", mpn: "GRM188R71C105KA12D" },
"4.7uF": { footprint: "0603", mpn: "GRM188R61A475KE15D" },
"10uF": { footprint: "0805", mpn: "GRM21BR61E106KA73L" },
} as const
export function Cap(props: CapacitorProps & { capacitance: keyof typeof capacitors }) {
const part = capacitors[props.capacitance]
return <capacitor schRotation={-90} {...props} footprint={part.footprint} manufacturerPartNumber={part.mpn} />
}
export function Pullup(props: ResistorProps) {
const mpn = props.resistance === "4.7k" ? "RC0402FR-074K7L" : "RC0402FR-0710KL"
return <resistor schRotation={-90} {...props} footprint="0402" manufacturerPartNumber={mpn} />
}
// Land patterns: KiCad 10 Nexperia_CFP3_SOD-123W and D_SOD-323, manufacturer package drawings.
export function InputSchottky(props: ChipProps) {
return <chip schPinArrangement={{topSide:["pin1"],bottomSide:["pin2"]}} schHeight={1.2} {...props} manufacturerPartNumber="PMEG2010ER-QX" pinLabels={{pin1:["K"],pin2:["A"]}}
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX={-1.4} pcbY={0} width={1.2} height={1.2} shape="rect" />
<smtpad portHints={["pin2"]} pcbX={1.4} pcbY={0} width={1.2} height={1.2} shape="rect" />
<silkscreenpath route={[{x:-2.26,y:-0.95},{x:-2.26,y:0.95},{x:1.4,y:0.95}]} strokeWidth={0.12} />
<courtyardrect width={4.5} height={2.2} />
</footprint>} />
}
export function InputTvs(props: ChipProps) {
return <chip schPinArrangement={{topSide:["pin1"],bottomSide:["pin2"]}} schHeight={1.2} {...props} manufacturerPartNumber="PESD5V0S1BA-Q,115" pinLabels={{pin1:["LINE"],pin2:["GND"]}}
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX={-1.05} pcbY={0} width={0.6} height={0.45} shape="rect" />
<smtpad portHints={["pin2"]} pcbX={1.05} pcbY={0} width={0.6} height={0.45} shape="rect" />
<silkscreenpath route={[{x:-1.61,y:-0.85},{x:-1.61,y:0.85},{x:1.05,y:0.85}]} strokeWidth={0.12} />
<courtyardrect width={3.3} height={1.8} />
</footprint>} />
}