gokul/wireless-calculator
A USB‑C rechargeable battery-powered controller board with MCP73871 Li‑ion charging, TPS63070 buck‑boost and LDO power regulation, ATmega328P and ESP32‑S3 control, LCD/keypad user interface, status LEDs, and UART/programming connectors.
- Version
- 0.0.1
- License
- ISC
- Stars
- 0
lib/calculator-board.tsx
import { LTST_C190KRKT } from "../imports/LTST_C190KRKT/LTST_C190KRKT";
import { LTST_C190KGKT } from "../imports/LTST_C190KGKT/LTST_C190KGKT";
import { fanoutTracePath } from "@tscircuit/props";
import capturedPaths from "./autorouted-paths.json";
import { TPS7A0230PDBVR } from "../imports/TPS7A0230PDBVR/TPS7A0230PDBVR";
import { powerFeedRoutes } from "./power-feed-routes";
import { regulatorSwitchRoutes } from "./regulator-switch-routes";
import { BatteryConnector } from "./battery-connector";
import { TYPE_C_31_M_12 } from "../imports/TYPE_C_31_M_12/TYPE_C_31_M_12";
import { SN74LVC2G125DCUR } from "../imports/SN74LVC2G125DCUR/SN74LVC2G125DCUR";
import { XFL4020_152MEC } from "../imports/XFL4020_152MEC/XFL4020_152MEC";
import { ATMEGA328P_AU } from "../imports/ATMEGA328P_AU/ATMEGA328P_AU";
import { ESP32_S3_WROOM_1_N8 } from "../imports/ESP32_S3_WROOM_1_N8/ESP32_S3_WROOM_1_N8";
import { MCP73871_2CCI_ML } from "../imports/MCP73871_2CCI_ML/MCP73871_2CCI_ML";
import { TPS63070RNMR } from "../imports/TPS63070RNMR/TPS63070RNMR";
import { TPS22918DBVR } from "../imports/TPS22918DBVR/TPS22918DBVR";
import { TS_1088_AR02016 } from "../imports/TS_1088_AR02016/TS_1088_AR02016";
import { Lcd } from "./lcd";
export default function CalculatorBoard({
reuseRoutes = true,
}: { reuseRoutes?: boolean } = {}) {
return (
<board
width={58}
height={124}
layers={2}
thickness={1.6}
autorouter={{
preset: "auto_local",
allowViaInPad: false,
traceClearance: 0.2,
}}
minTraceToPadEdgeClearance={0.15}
minViaEdgeToPadEdgeClearance={0.2}
minPadEdgeToPadEdgeClearance={0.15}
minViaHoleEdgeToViaHoleEdgeClearance={0.2}
minViaHoleDiameter={0.3}
minViaPadDiameter={0.6}
minBoardEdgeClearance={0.3}
routeRemaining={!reuseRoutes}
schAutoLayoutEnabled
pcbLayout={{ layoutMode: "none" }}
schLayout={{ grid: true, gridCols: 3, gridGap: 4 }}
>
{/* Preserve short, direct inductor connections; autoroute the remaining nets together. */}
<autoroutingphase
name="POWER_FEEDS"
phaseIndex={0}
pcbTracePaths={[...regulatorSwitchRoutes, ...powerFeedRoutes]}
/>
{reuseRoutes && (
<autoroutingphase
name="SAVED_AUTOROUTER"
connections={[]}
pcbTracePaths={capturedPaths.map((path) =>
fanoutTracePath.parse(path),
)}
/>
)}
<trace
name="RADIO_SUPPLY_FEED"
from="U2.pin7"
to="U4.pin1"
routingPhaseIndex={0}
/>
<trace
name="RADIO_SWITCH_FEED"
from="U4.pin6"
to="U5.pin2"
routingPhaseIndex={0}
/>
<trace
name="RADIO_GROUND_RETURN"
from="U2.pin10"
to="U5.pin40"
routingPhaseIndex={0}
/>
<trace
name="REGULATOR_INPUT_FEED"
from="CSYS.pin1"
to="CIN0.pin1"
routingPhaseIndex={0}
/>
<net name="GND" isGroundNet />
<net name="VBUS" isPowerNet nominalTraceWidth={0.25} />
<net name="VBAT" isPowerNet nominalTraceWidth={0.25} />
<net name="SYS" isPowerNet nominalTraceWidth={0.25} />
<net routingPhaseIndex={0} name="SW1" nominalTraceWidth={0.8} />
<net routingPhaseIndex={0} name="SW2" nominalTraceWidth={0.8} />
<net name="V3_27" isPowerNet nominalTraceWidth={0.25} />
<net name="V3_0" isPowerNet nominalTraceWidth={0.25} />
<net name="RADIO" isPowerNet nominalTraceWidth={0.25} />
<schematicsheet name="Charging" displayName="Charging">
<group
name="Charging"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Charging_section"
displayName="U1 charger: 4.2 V LiPo, 249 mA"
/>
<TYPE_C_31_M_12
schSectionName="Charging_section"
name="JUSB"
noConnect={["pin5", "pin7", "pin8", "pin9", "pin10", "pin11"]}
pcbX={0}
pcbY={56.3}
pcbRotation={180}
connections={{
pin1: "net.GND",
pin2: "net.GND",
pin3: "net.GND",
pin4: "net.GND",
pin13: "net.GND",
pin14: "net.GND",
pin15: "net.VBUS",
pin16: "net.VBUS",
pin6: "net.CC1",
pin12: "net.CC2",
}}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-075K1L"
name={"RCC1"}
pcbX={-6}
pcbY={53}
resistance={"5.1k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.CC1", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-075K1L"
name={"RCC2"}
pcbX={6}
pcbY={53}
resistance={"5.1k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.CC2", pin2: "net.GND" }}
/>
<MCP73871_2CCI_ML
schSectionName="Charging_section"
name={"U1"}
schWidth={2.4}
pcbX={-17}
pcbY={29}
layer={"bottom"}
connections={{
pin1: "net.SYS",
pin20: "net.SYS",
pin2: "net.VPCC",
pin3: "net.GND",
pin4: "net.VBUS",
pin5: "net.THERM",
pin9: "net.GND",
pin10: "net.GND",
pin11: "net.GND",
pin12: "net.TERM",
pin13: "net.CHARGE",
pin14: "net.VBAT",
pin15: "net.VBAT",
pin16: "net.VBAT",
pin17: "net.VBUS",
pin18: "net.VBUS",
pin19: "net.VBUS",
pin21: "net.GND",
pin8: "net.CHG",
pin7: "net.DONE",
}}
/>
<BatteryConnector
supplierPartNumbers={{}}
schSectionName="Charging_section"
name={"JBAT"}
schRotation={0}
schPinArrangement={{
rightSide: { pins: ["pin1", "pin2"], direction: "top-to-bottom" },
}}
manufacturerPartNumber="B2B-PH-K-S(LF)(SN)"
pcbX={-24}
pcbY={41}
layer={"bottom"}
pcbRotation={90}
connections={{ pin1: "net.VBAT", pin2: "net.GND" }}
/>
<pinheader
supplierPartNumbers={{}}
schSectionName="Charging_section"
name={"JNTC"}
schFacingDirection="right"
manufacturerPartNumber="61300211121"
pcbX={-24}
pcbY={33}
pinCount={2}
pitch={2.54}
layer={"bottom"}
connections={{ pin1: "net.THERM", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-074K02L"
name={"RPROG"}
pcbX={-22}
pcbY={24}
resistance={"4.02k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.CHARGE", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-0740K2L"
name={"RTERM"}
pcbX={-17}
pcbY={24}
resistance={"40.2k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.TERM", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-07330KL"
name={"RVP1"}
schRotation={-90}
pcbX={-23}
pcbY={27}
resistance={"330k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.VBUS", pin2: "net.VPCC" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="RC0603FR-07100KL"
name={"RVP2"}
pcbX={-23}
pcbY={29}
resistance={"100k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.VPCC", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="GRM188R61C475KE11D"
name={"CUSB"}
pcbX={-12}
pcbY={32}
capacitance={"4.7uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VBUS", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="GRM188R61C475KE11D"
name={"CBAT"}
pcbX={-12}
pcbY={29}
capacitance={"4.7uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VBAT", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Charging_section"
manufacturerPartNumber="GRM21BR61C106KE15L"
name={"CSYS"}
pcbX={-12}
pcbY={26}
capacitance={"10uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.SYS", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
<schematicsheet name="Regulator" displayName="Regulator">
<group
name="Regulator"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Regulator_section"
displayName="U2 buck-boost: 3.269 V"
/>
<TPS63070RNMR
schSectionName="Regulator_section"
name={"U2"}
pcbX={15}
pcbY={29}
layer={"bottom"}
connections={{
pin1: "net.REG_ENABLE",
pin3: "net.VAUX",
pin4: "net.GND",
pin5: "net.FB",
pin6: "net.GND",
pin7: "net.V3_27",
pin9: "net.SW2",
pin10: "net.GND",
pin11: "net.SW1",
pin12: "net.SYS",
pin14: "net.REG_ENABLE",
pin15: "net.GND",
}}
/>
<XFL4020_152MEC
schSectionName="Regulator_section"
name={"L1"}
pcbX={15}
pcbY={34}
layer={"bottom"}
connections={{ pin1: "net.SW1", pin2: "net.SW2" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="RT0603BRD07154KL"
name={"RFB1"}
pcbX={11}
pcbY={25}
resistance={"154k"}
tolerance={0.001}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.V3_27", pin2: "net.FB" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="RT0603BRD0749K9L"
name={"RFB2"}
tolerance={0.001}
pcbX={8}
pcbY={25}
resistance={"49.9k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.FB", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CVAUX"}
pcbX={14}
pcbY={25}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VAUX", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM21BR61C106KE15L"
name={"CIN0"}
pcbX={22}
pcbY={29.5}
capacitance={"10uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.SYS", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM21BR61C106KE15L"
name={"CIN1"}
pcbX={22}
pcbY={33}
capacitance={"10uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.SYS", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM21BR61C226ME44L"
name={"COUT0"}
pcbX={7}
pcbY={28}
capacitance={"22uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM21BR61C226ME44L"
name={"COUT1"}
pcbX={7}
pcbY={31}
capacitance={"22uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM21BR61C226ME44L"
name={"COUT2"}
pcbX={7}
pcbY={34}
capacitance={"22uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="RC0603FR-0710KL"
name="RENREG"
pcbX={20}
pcbY={24}
layer="bottom"
resistance="10k"
footprint="0603"
connections={{ pin1: "net.SYS", pin2: "net.REG_ENABLE" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name="CINHF"
pcbX={18.5}
pcbY={29.5}
layer="bottom"
capacitance="1uF"
maxVoltageRating="16V"
footprint="0603"
connections={{ pin1: "net.SYS", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Regulator_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name="COUTHF"
pcbX={11.5}
pcbY={27.5}
pcbRotation={180}
layer="bottom"
capacitance="1uF"
maxVoltageRating="16V"
footprint="0603"
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
<schematicsheet name="LogicPower" displayName="Calculator supply">
<group
name="LogicPower"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="LogicPower_section"
displayName="U7 low-power LDO: 3.0 V"
/>
<TPS7A0230PDBVR
schSectionName="LogicPower_section"
name="U7"
pcbX={9}
pcbY={19.5}
layer="bottom"
noConnect={["pin4"]}
connections={{
pin1: "net.V3_27",
pin2: "net.GND",
pin3: "net.V3_27",
pin5: "net.V3_0",
}}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="LogicPower_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name="CLDOIN"
pcbX={5}
pcbY={18.5}
layer="bottom"
capacitance="1uF"
maxVoltageRating="16V"
footprint="0603"
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="LogicPower_section"
manufacturerPartNumber="GRM188R61C475KE11D"
name="CLDOOUT"
pcbX={13.5}
pcbY={18.5}
pcbRotation={180}
layer="bottom"
capacitance="4.7uF"
maxVoltageRating="16V"
footprint="0603"
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
<schematicsheet name="Calculator" displayName="Calculator">
<group
name="Calculator"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Calculator_section"
displayName="U3 calculator: 3.0 V, internal 8 MHz"
/>
<ATMEGA328P_AU
schSectionName="Calculator_section"
name={"U3"}
pcbX={0}
pcbY={10}
layer={"bottom"}
connections={{
pin3: "net.GND",
pin5: "net.GND",
pin21: "net.GND",
pin4: "net.V3_0",
pin6: "net.V3_0",
pin18: "net.V3_0",
pin20: "net.AREF",
pin29: "net.RESET",
pin30: "net.MCU_RX",
pin31: "net.MCU_TX",
pin32: "net.ROW0",
pin1: "net.ROW1",
pin2: "net.ROW2",
pin9: "net.ROW3",
pin10: "net.ROW4",
pin23: "net.COL0",
pin24: "net.COL1",
pin25: "net.COL2",
pin26: "net.COL3",
pin14: "net.LCD_CS",
pin15: "net.MOSI",
pin16: "net.MISO",
pin17: "net.SCK",
pin12: "net.LCD_CD",
pin13: "net.LCD_RST",
pin7: "net.RADIO_ON",
pin8: "net.LED_WIFI",
pin11: "net.LED_PWR",
pin19: "net.BAT_ADC",
}}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CMCU0"}
pcbX={-7}
pcbY={5}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CMCU1"}
pcbX={0}
pcbY={3}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CMCU2"}
pcbX={8}
pcbY={10}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CAREF"}
pcbX={8}
pcbY={13}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.AREF", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="GRM188R61C475KE11D"
name={"CMCUB"}
pcbRotation={180}
pcbX={0}
pcbY={17}
capacitance={"4.7uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Calculator_section"
manufacturerPartNumber="RC0603FR-0710KL"
name={"RRESET"}
pcbX={-7}
pcbY={12}
resistance={"10k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.V3_0", pin2: "net.RESET" }}
/>
<pinheader
supplierPartNumbers={{}}
schSectionName="Calculator_section"
name={"JISP"}
doNotPlace
pcbRotation={90}
pcbX={-24}
pcbY={7}
pinCount={6}
pitch={2.54}
layer={"bottom"}
connections={{
pin1: "net.MISO",
pin2: "net.V3_0",
pin3: "net.SCK",
pin4: "net.MOSI",
pin5: "net.RESET",
pin6: "net.GND",
}}
/>
</group>
</schematicsheet>
<schematicsheet name="Display" displayName="Display">
<group
name="Display"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Display_section"
displayName="LCD1 reflective SPI: 2.5-3.3 V"
/>
<Lcd
schSectionName="Display_section"
name={"LCD1"}
pcbX={0}
pcbY={32}
connections={{
pin15: "net.VLCD",
pin16: "net.VB1N",
pin17: "net.VB0N",
pin18: "net.VB0P",
pin19: "net.VB1P",
pin20: "net.GND",
pin21: "net.GND",
pin22: "net.V3_0",
pin23: "net.V3_0",
pin24: "net.MOSI",
pin25: "net.SCK",
pin26: "net.LCD_CD",
pin27: "net.LCD_RST",
pin28: "net.LCD_CS",
}}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name={"CLCD1"}
pcbX={18}
pcbY={47}
capacitance={"1uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VLCD", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name={"CLCD2"}
schRotation={-90}
pcbX={13}
pcbY={47}
capacitance={"1uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VB1N", pin2: "net.VB1P" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name={"CLCD3"}
schRotation={-90}
pcbX={8}
pcbY={47}
capacitance={"1uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.VB0N", pin2: "net.VB0P" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CLCD4"}
pcbX={-4}
pcbY={47}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_0", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="RC0603FR-07100KL"
name={"RCS"}
pcbX={-17}
pcbY={47}
resistance={"100k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.V3_0", pin2: "net.LCD_CS" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Display_section"
manufacturerPartNumber="RC0603FR-07100KL"
name={"RLCDRST"}
pcbX={-12}
pcbY={47}
resistance={"100k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.GND", pin2: "net.LCD_RST" }}
/>
</group>
</schematicsheet>
<schematicsheet name="RadioPower">
<group
name="RadioPower"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="RadioPower_section"
displayName="U4 radio switch: 3.27 V, 2 A rated"
/>
<TPS22918DBVR
schSectionName="RadioPower_section"
name={"U4"}
pcbX={-15}
pcbY={-20}
layer={"bottom"}
connections={{
pin1: "net.V3_27",
pin2: "net.GND",
pin3: "net.RADIO_ON",
pin5: "net.QOD",
pin6: "net.RADIO",
pin4: "net.RADIO_CT",
}}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="RadioPower_section"
manufacturerPartNumber="RC0603FR-07100KL"
name={"RON"}
pcbX={-20}
pcbY={-20}
resistance={"100k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.RADIO_ON", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="RadioPower_section"
manufacturerPartNumber="RC0603FR-07100RL"
name={"RQOD"}
pcbX={-15}
pcbY={-24}
resistance={"100"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.QOD", pin2: "net.RADIO" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="RadioPower_section"
manufacturerPartNumber="GRM1885C1H102JA01D"
name="CCT"
pcbX={-11}
pcbY={-18.5}
pcbRotation={180}
layer="bottom"
capacitance="1nF"
maxVoltageRating="50V"
footprint="0603"
connections={{ pin1: "net.RADIO_CT", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="RadioPower_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name={"CSWIN"}
schMarginRight={0.5}
pcbX={-15}
pcbY={-16}
capacitance={"1uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.V3_27", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
<schematicsheet name="RadioUART">
<group
name="RadioUART"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="RadioUART_section"
displayName="U6 UART isolation: partial power down"
/>
<SN74LVC2G125DCUR
schSectionName="RadioUART_section"
name={"U6"}
pcbX={0}
pcbY={-20}
layer={"bottom"}
connections={{
pin1: "net.GND",
pin2: "net.MCU_TX",
pin3: "net.MCU_RX",
pin4: "net.GND",
pin5: "net.LINK_TX",
pin6: "net.LINK_RX",
pin7: "net.GND",
pin8: "net.RADIO",
}}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="RadioUART_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CBUF"}
pcbX={4}
pcbY={-16}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.RADIO", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="RadioUART_section"
manufacturerPartNumber="RC0603FR-07100KL"
name={"RRX"}
pcbX={6}
pcbY={-20}
resistance={"100k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.V3_0", pin2: "net.MCU_RX" }}
/>
</group>
</schematicsheet>
<schematicsheet name="Wireless">
<group
name="Wireless"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Wireless_section"
displayName="U5 Wi-Fi/BLE: 3.0-3.6 V"
/>
<ESP32_S3_WROOM_1_N8
schSectionName="Wireless_section"
name={"U5"}
allowOffBoard
pcbX={0}
pcbY={-50.6}
layer={"bottom"}
pcbRotation={180}
connections={{
pin1: "net.GND",
pin2: "net.RADIO",
pin3: "net.ESP_EN",
pin40: "net.GND",
pin27: "net.ESP_BOOT",
pin36: "net.ESP_RX",
pin37: "net.ESP_TX",
pin4: "net.LINK_RX",
pin5: "net.LINK_TX",
}}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Wireless_section"
manufacturerPartNumber="RC0603FR-0710KL"
name={"REN"}
pcbRotation={180}
pcbX={-14}
pcbY={-32}
resistance={"10k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.RADIO", pin2: "net.ESP_EN" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Wireless_section"
manufacturerPartNumber="GRM188R71C105KE15D"
name={"CEN"}
pcbX={-14}
pcbY={-35}
capacitance={"1uF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.ESP_EN", pin2: "net.GND" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Wireless_section"
manufacturerPartNumber="RC0603FR-0710KL"
name={"RBOOT"}
pcbRotation={180}
pcbX={14}
pcbY={-32}
resistance={"10k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.RADIO", pin2: "net.ESP_BOOT" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Wireless_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CESP1"}
schMarginRight={0.5}
pcbX={-13}
pcbY={-57}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.RADIO", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="Wireless_section"
manufacturerPartNumber="GRM21BR61C226ME44L"
name={"CESP2"}
pcbX={-13}
pcbY={-60}
capacitance={"22uF"}
footprint={"0805"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.RADIO", pin2: "net.GND" }}
/>
<pinheader
supplierPartNumbers={{}}
schSectionName="Wireless_section"
name={"JESP"}
doNotPlace
pcbX={22}
pcbY={-33}
pinCount={5}
pitch={2.54}
layer={"bottom"}
pcbRotation={90}
connections={{
pin1: "net.GND",
pin2: "net.ESP_RX",
pin3: "net.ESP_TX",
pin4: "net.ESP_BOOT",
pin5: "net.ESP_EN",
}}
/>
<TS_1088_AR02016
schSectionName="Wireless_section"
name={"SWBOOT"}
pcbX={-20}
pcbY={-49}
layer={"bottom"}
connections={{ pin1: "net.ESP_BOOT", pin2: "net.GND" }}
/>
<TS_1088_AR02016
schSectionName="Wireless_section"
name={"SWRESET"}
pcbX={20}
pcbY={-49}
layer={"bottom"}
connections={{ pin1: "net.ESP_EN", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
<schematicsheet name="Keypad" displayName="Keypad">
<group
name="Keypad"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schAutoLayoutEnabled
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="Keypad_section"
displayName="20 keys: 5 rows x 4 columns"
/>
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW1"}
pcbX={-18}
pcbY={3}
connections={{ pin1: "net.ROW0", pin2: "net.COL0" }}
/>
<silkscreentext text="ON/AC" pcbX={-18} pcbY={-0.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW2"}
pcbX={-6}
pcbY={3}
connections={{ pin1: "net.ROW0", pin2: "net.COL1" }}
/>
<silkscreentext text="NET" pcbX={-6} pcbY={-0.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW3"}
pcbX={6}
pcbY={3}
connections={{ pin1: "net.ROW0", pin2: "net.COL2" }}
/>
<silkscreentext text="%" pcbX={6} pcbY={-0.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW4"}
pcbX={18}
pcbY={3}
connections={{ pin1: "net.ROW0", pin2: "net.COL3" }}
/>
<silkscreentext text="DEL" pcbX={18} pcbY={-0.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW5"}
pcbX={-18}
pcbY={-9}
connections={{ pin1: "net.ROW1", pin2: "net.COL0" }}
/>
<silkscreentext text="7" pcbX={-18} pcbY={-12.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW6"}
pcbX={-6}
pcbY={-9}
connections={{ pin1: "net.ROW1", pin2: "net.COL1" }}
/>
<silkscreentext text="8" pcbX={-6} pcbY={-12.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW7"}
pcbX={6}
pcbY={-9}
connections={{ pin1: "net.ROW1", pin2: "net.COL2" }}
/>
<silkscreentext text="9" pcbX={6} pcbY={-12.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW8"}
pcbX={18}
pcbY={-9}
connections={{ pin1: "net.ROW1", pin2: "net.COL3" }}
/>
<silkscreentext text="/" pcbX={18} pcbY={-12.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW9"}
pcbX={-18}
pcbY={-21}
connections={{ pin1: "net.ROW2", pin2: "net.COL0" }}
/>
<silkscreentext text="4" pcbX={-18} pcbY={-24.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW10"}
pcbX={-6}
pcbY={-21}
connections={{ pin1: "net.ROW2", pin2: "net.COL1" }}
/>
<silkscreentext text="5" pcbX={-6} pcbY={-24.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW11"}
pcbX={6}
pcbY={-21}
connections={{ pin1: "net.ROW2", pin2: "net.COL2" }}
/>
<silkscreentext text="6" pcbX={6} pcbY={-24.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW12"}
pcbX={18}
pcbY={-21}
connections={{ pin1: "net.ROW2", pin2: "net.COL3" }}
/>
<silkscreentext text="x" pcbX={18} pcbY={-24.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW13"}
pcbX={-18}
pcbY={-33}
connections={{ pin1: "net.ROW3", pin2: "net.COL0" }}
/>
<silkscreentext text="1" pcbX={-18} pcbY={-36.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW14"}
pcbX={-6}
pcbY={-33}
connections={{ pin1: "net.ROW3", pin2: "net.COL1" }}
/>
<silkscreentext text="2" pcbX={-6} pcbY={-36.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW15"}
pcbX={6}
pcbY={-33}
connections={{ pin1: "net.ROW3", pin2: "net.COL2" }}
/>
<silkscreentext text="3" pcbX={6} pcbY={-36.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW16"}
pcbX={18}
pcbY={-33}
connections={{ pin1: "net.ROW3", pin2: "net.COL3" }}
/>
<silkscreentext text="-" pcbX={18} pcbY={-36.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW17"}
pcbX={-18}
pcbY={-45}
connections={{ pin1: "net.ROW4", pin2: "net.COL0" }}
/>
<silkscreentext text="0" pcbX={-18} pcbY={-48.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW18"}
pcbX={-6}
pcbY={-45}
connections={{ pin1: "net.ROW4", pin2: "net.COL1" }}
/>
<silkscreentext text="." pcbX={-6} pcbY={-48.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW19"}
pcbX={6}
pcbY={-45}
connections={{ pin1: "net.ROW4", pin2: "net.COL2" }}
/>
<silkscreentext text="=" pcbX={6} pcbY={-48.5} fontSize={1.4} />
<TS_1088_AR02016
schSectionName="Keypad_section"
name={"SW20"}
pcbX={18}
pcbY={-45}
connections={{ pin1: "net.ROW4", pin2: "net.COL3" }}
/>
<silkscreentext text="+" pcbX={18} pcbY={-48.5} fontSize={1.4} />
</group>
</schematicsheet>
<schematicsheet name="Indicator0" displayName="Status indicator 1">
<group
name="Indicator0"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ grid: true, gridCols: 1, gridGap: 1 }}
>
<schematicsection name="Indicator0_section" displayName="PWR" />
<resistor
supplierPartNumbers={{}}
schSectionName="Indicator0_section"
manufacturerPartNumber="RC0603FR-074K7L"
name={"RLED0"}
schRotation={-90}
pcbX={-18}
pcbY={7}
resistance={"4.7k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.LED_PWR", pin2: "net.PWR_A" }}
/>
<LTST_C190KGKT
schSectionName="Indicator0_section"
name={"D1"}
schRotation={-90}
manufacturerPartNumber="LTST-C190KGKT"
pcbX={-18}
pcbY={8}
pcbRotation={180}
color={"green"}
connections={{ anode: "net.PWR_A", cathode: "net.GND" }}
/>
<silkscreentext text="PWR" pcbX={-18} pcbY={10} fontSize={0.8} />
</group>
</schematicsheet>
<schematicsheet name="Indicator1" displayName="Status indicator 2">
<group
name="Indicator1"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ grid: true, gridCols: 1, gridGap: 1 }}
>
<schematicsection name="Indicator1_section" displayName="NET" />
<resistor
supplierPartNumbers={{}}
schSectionName="Indicator1_section"
manufacturerPartNumber="RC0603FR-074K7L"
name={"RLED1"}
schRotation={-90}
pcbX={-11}
pcbY={7}
resistance={"4.7k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.LED_WIFI", pin2: "net.WIFI_A" }}
/>
<LTST_C190KGKT
schSectionName="Indicator1_section"
name={"D2"}
schRotation={-90}
manufacturerPartNumber="LTST-C190KGKT"
pcbX={-6}
pcbY={8}
pcbRotation={180}
color={"green"}
connections={{ anode: "net.WIFI_A", cathode: "net.GND" }}
/>
<silkscreentext text="WIFI" pcbX={-6} pcbY={10} fontSize={0.8} />
</group>
</schematicsheet>
<schematicsheet name="Indicator2" displayName="Status indicator 3">
<group
name="Indicator2"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ grid: true, gridCols: 1, gridGap: 1 }}
>
<schematicsection name="Indicator2_section" displayName="CHG" />
<resistor
supplierPartNumbers={{}}
schSectionName="Indicator2_section"
manufacturerPartNumber="RC0603FR-074K7L"
name={"RLED2"}
schRotation={-90}
pcbX={11}
pcbY={7}
resistance={"4.7k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.VBUS", pin2: "net.CHG_A" }}
/>
<LTST_C190KRKT
schSectionName="Indicator2_section"
name={"D3"}
schRotation={-90}
manufacturerPartNumber="LTST-C190KRKT"
pcbX={6}
pcbY={8}
pcbRotation={180}
color={"red"}
connections={{ anode: "net.CHG_A", cathode: "net.CHG" }}
/>
<silkscreentext text="CHG" pcbX={6} pcbY={10} fontSize={0.8} />
</group>
</schematicsheet>
<schematicsheet name="Indicator3" displayName="Status indicator 4">
<group
name="Indicator3"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ grid: true, gridCols: 1, gridGap: 1 }}
>
<schematicsection
name="Indicator3_section"
displayName="FULL"
sectionTitleFontSize={0.12}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="Indicator3_section"
manufacturerPartNumber="RC0603FR-074K7L"
name={"RLED3"}
schRotation={-90}
pcbX={18}
pcbY={7}
resistance={"4.7k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.VBUS", pin2: "net.FULL_A" }}
/>
<LTST_C190KGKT
schSectionName="Indicator3_section"
name={"D4"}
schRotation={-90}
manufacturerPartNumber="LTST-C190KGKT"
pcbX={18}
pcbY={8}
pcbRotation={180}
color={"green"}
connections={{ anode: "net.FULL_A", cathode: "net.DONE" }}
/>
<silkscreentext text="FULL" pcbX={18} pcbY={10} fontSize={0.8} />
</group>
</schematicsheet>
<keepout
shape="rect"
pcbX={0}
pcbY={-64.5}
width={48}
height={5.6}
layers={["top", "bottom"]}
excludeRefs={[".U5"]}
/>
<hole pcbX={-25} pcbY={-57} diameter={2.2} />
<hole pcbX={-25} pcbY={57} diameter={2.2} />
<hole pcbX={25} pcbY={-57} diameter={2.2} />
<hole pcbX={25} pcbY={57} diameter={2.2} />
<copperpour
connectsTo="net.GND"
layer="top"
clearance={0.2}
boardEdgeMargin={0.3}
/>
<copperpour
connectsTo="net.GND"
layer="bottom"
clearance={0.2}
boardEdgeMargin={0.3}
/>
<schematicsheet name="BatterySense">
<group
name="BatterySenseGroup"
pcbX={0}
pcbY={0}
pcbLayout={{ layoutMode: "none" }}
schLayout={{ layoutMode: "match-adapt" }}
>
<schematicsection
name="BatterySense_section"
displayName="ADC"
sectionTitleFontSize={0.12}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="BatterySense_section"
manufacturerPartNumber="RC0603FR-071ML"
name={"RBAT1"}
pcbRotation={180}
pcbX={-8}
pcbY={16}
resistance={"1M"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.VBAT", pin2: "net.BAT_ADC" }}
/>
<resistor
supplierPartNumbers={{}}
schSectionName="BatterySense_section"
manufacturerPartNumber="RC0603FR-07330KL"
name={"RBAT2"}
pcbX={-8}
pcbY={18}
resistance={"330k"}
footprint={"0603"}
layer={"bottom"}
connections={{ pin1: "net.BAT_ADC", pin2: "net.GND" }}
/>
<capacitor
supplierPartNumbers={{}}
schSectionName="BatterySense_section"
manufacturerPartNumber="GRM188R71H104KA93D"
name={"CADC"}
pcbX={-8}
pcbY={20}
capacitance={"100nF"}
footprint={"0603"}
layer={"bottom"}
maxVoltageRating={"16V"}
connections={{ pin1: "net.BAT_ADC", pin2: "net.GND" }}
/>
</group>
</schematicsheet>
</board>
);
}