diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce5dff9..e3d555c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v4 with: repository: stackup-eda/stackup - ref: v0.1.3 + ref: v0.2.0 path: stackup-tool - name: Install Rust 1.96 diff --git a/PCB/snips_controller.kicad_pcb b/PCB/snips_controller.kicad_pcb index 900ce8f..c3bd0b3 100644 --- a/PCB/snips_controller.kicad_pcb +++ b/PCB/snips_controller.kicad_pcb @@ -10183,6 +10183,28 @@ ) ) ) + (property "MF" "GuliKit" + (at 0 2 0) + (layer "F.SilkS") + (hide yes) + (uuid "b9294487-7c81-4d6a-ba42-41b30ef13931") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Manufacturer_Part_Number" "GuliKit_Thumbstick" + (at 0 2 0) + (layer "F.SilkS") + (hide yes) + (uuid "d7a65aa1-c035-4481-bb4f-725faedeca5b") + (effects + (font + (size 1.27 1.27) + ) + ) + ) (path "/43319c6c-a25e-5ed1-b08a-2fd013ecdd04") (units (unit diff --git a/PCB/stackup/README.md b/PCB/stackup/README.md index 715d377..c98e6e0 100644 --- a/PCB/stackup/README.md +++ b/PCB/stackup/README.md @@ -2,13 +2,17 @@ `board.kdl` defines the electrical design and imports parts from the library pinned in the repository's `manifest.kdl`. `parts.kdl` defines the Snips-specific -thumbstick. Component choices and purchasing details are specified on the -placements in `board.kdl`. +thumbstick. `purchasing.kdl` declares the selected manufacturer parts and +supplier numbers. The match rules in `board.kdl` choose those parts by the +resolved value and footprint. The resulting BOM matches the previous factory +order in `../production/bom/snips_controller-bom.csv`. The board layout is in `../snips_controller.kicad_pcb`. To check the design, run `stackup check PCB/stackup/board.kdl` from the repository root. To update the PCB, use the Stackup KiCad plugin with `PCB/snips_controller.stackup_sch`. -CI checks both the design and whether the PCB is in sync with it. +CI checks the design and whether the PCB is in sync with it. Run `stackup bom PCB/stackup/board.kdl --locked` to export the purchasing CSV. Parts installed after outsourced assembly use `hand=#true` on their placement; they remain in the BOM and are marked `DNP` for the assembler. +The hand-installed GuliKit thumbstick had no recorded manufacturer part number +on the pre-port PCB; its assembly identity is checked separately. diff --git a/PCB/stackup/board.kdl b/PCB/stackup/board.kdl index 646a450..ee3d846 100644 --- a/PCB/stackup/board.kdl +++ b/PCB/stackup/board.kdl @@ -17,95 +17,95 @@ use "@stackup/radio/xbee3" use "@stackup/sensor/accel/qma6100p" use "@stackup/sensor/hall/drv5055" use "@stackup/switch/push-button" -use "./parts.kdl" +use "./parts.kdl"; use "./purchasing.kdl" design snips_controller { // Components - place jst-ph-2 "BT1" designator="BT1" footprint="Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal" manufacturer="JST" mpn="S2B-PH-K(LF)(SN)" lcsc="C265016" value="PH 2-pin battery RIGHT-ANGLE HORIZONTAL" - place capacitor "C_3V3_1" designator="C_3V3_1" footprint="Capacitor_SMD:C_0603_1608Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL10A106KP8NNNC" lcsc="C19702" value="10µF" - place capacitor "C_3V3_2" designator="C_3V3_2" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_3V3_3" designator="C_3V3_3" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Yageo" mpn="CC0402JRNPO9BN390" lcsc="C106223" value="39pF" - place capacitor "C_ACCEL_1" designator="C_ACCEL_1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B103KB5NNNC" lcsc="C15195" value="10nF" - place capacitor "C_ACCEL_2" designator="C_ACCEL_2" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="FH (Guangdong Fenghua Advanced Tech)" mpn="0402CG101J500NT" lcsc="C1546" value="100pF" - place capacitor "C_ACCEL_3" designator="C_ACCEL_3" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B222KB5NNNC" lcsc="C84703" value="2.2nF" - place capacitor "C_BAT1" designator="C_BAT1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A106KAYNNNE" lcsc="C15850" value="10µF" - place capacitor "C_BUCK_IN1" designator="C_BUCK_IN1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A106KAYNNNE" lcsc="C15850" value="10µF" - place capacitor "C_BUCK_OUT1" designator="C_BUCK_OUT1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A226MAQNNNE" lcsc="C45783" value="22µF" - place capacitor "C_DBNC1" designator="C_DBNC1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_HALL1" designator="C_HALL1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_LATCH_G1" designator="C_LATCH_G1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_OLED_1" designator="C_OLED_1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A106KAYNNNE" lcsc="C15850" value="10µF" - place capacitor "C_OLED_2" designator="C_OLED_2" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_RGB1" designator="C_RGB1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_STICK1" designator="C_STICK1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_SYS_1" designator="C_SYS_1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A106KAYNNNE" lcsc="C15850" value="10µF" - place capacitor "C_SYS_2" designator="C_SYS_2" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_VIN_1" designator="C_VIN_1" footprint="Capacitor_SMD:C_0805_2012Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL21A106KAYNNNE" lcsc="C15850" value="10µF" - place capacitor "C_VIN_2" designator="C_VIN_2" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_XBEE_RC1" designator="C_XBEE_RC1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_XBEE_VCC1" designator="C_XBEE_VCC1" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL05B104KO5NNNC" lcsc="C1525" value="100nF" - place capacitor "C_XBEE_VCC2" designator="C_XBEE_VCC2" footprint="Capacitor_SMD:C_0603_1608Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL10A105KB8NNNC" lcsc="C15849" value="1µF" - place capacitor "C_XBEE_VCC3" designator="C_XBEE_VCC3" footprint="Capacitor_SMD:C_0402_1005Metric" manufacturer="FH (Guangdong Fenghua Advanced Tech)" mpn="0402CG470J500NT" lcsc="C1567" value="47pF" - place capacitor "C_XBEE_VCC4" designator="C_XBEE_VCC4" footprint="Capacitor_SMD:C_0603_1608Metric" manufacturer="Samsung Electro-Mechanics" mpn="CL10A106KP8NNNC" lcsc="C19702" value="10µF" - place bat54w "D_INV_ISO1" designator="D_INV_ISO1" footprint="Package_TO_SOT_SMD:SOT-323_SC-70" manufacturer="Diodes Incorporated" mpn="BAT54W-7-F" lcsc="C134417" value="BAT54W-7-F" - place diode "D_OR1" designator="D_OR1" footprint="Diode_SMD:D_SOD-123" manufacturer="ST(Semtech)" mpn="1N4148W" lcsc="C81598" value="1N4148W" - place diode "D_OR2" designator="D_OR2" footprint="Diode_SMD:D_SOD-123" manufacturer="ST(Semtech)" mpn="1N4148W" lcsc="C81598" value="1N4148W" - place sk6812mini-e "D_RGB1" designator="D_RGB1" footprint="SnipsControllers_Custom:SK6812MINI-E-012" manufacturer="OPSCO Optoelectronics" mpn="SK6812MINI-E" lcsc="C5149201" value="SK6812MINI-E-012" { + place jst-ph-2 "BT1" designator="BT1" footprint="Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal" value="PH 2-pin battery RIGHT-ANGLE HORIZONTAL" + place capacitor "C_3V3_1" designator="C_3V3_1" footprint="Capacitor_SMD:C_0603_1608Metric" value="10µF" + place capacitor "C_3V3_2" designator="C_3V3_2" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_3V3_3" designator="C_3V3_3" footprint="Capacitor_SMD:C_0402_1005Metric" value="39pF" + place capacitor "C_ACCEL_1" designator="C_ACCEL_1" footprint="Capacitor_SMD:C_0402_1005Metric" value="10nF" + place capacitor "C_ACCEL_2" designator="C_ACCEL_2" footprint="Capacitor_SMD:C_0402_1005Metric" value="100pF" + place capacitor "C_ACCEL_3" designator="C_ACCEL_3" footprint="Capacitor_SMD:C_0402_1005Metric" value="2.2nF" + place capacitor "C_BAT1" designator="C_BAT1" footprint="Capacitor_SMD:C_0805_2012Metric" value="10µF" + place capacitor "C_BUCK_IN1" designator="C_BUCK_IN1" footprint="Capacitor_SMD:C_0805_2012Metric" value="10µF" + place capacitor "C_BUCK_OUT1" designator="C_BUCK_OUT1" footprint="Capacitor_SMD:C_0805_2012Metric" value="22µF" + place capacitor "C_DBNC1" designator="C_DBNC1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_HALL1" designator="C_HALL1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_LATCH_G1" designator="C_LATCH_G1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_OLED_1" designator="C_OLED_1" footprint="Capacitor_SMD:C_0805_2012Metric" value="10µF" + place capacitor "C_OLED_2" designator="C_OLED_2" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_RGB1" designator="C_RGB1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_STICK1" designator="C_STICK1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_SYS_1" designator="C_SYS_1" footprint="Capacitor_SMD:C_0805_2012Metric" value="10µF" + place capacitor "C_SYS_2" designator="C_SYS_2" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_VIN_1" designator="C_VIN_1" footprint="Capacitor_SMD:C_0805_2012Metric" value="10µF" + place capacitor "C_VIN_2" designator="C_VIN_2" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_XBEE_RC1" designator="C_XBEE_RC1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_XBEE_VCC1" designator="C_XBEE_VCC1" footprint="Capacitor_SMD:C_0402_1005Metric" value="100nF" + place capacitor "C_XBEE_VCC2" designator="C_XBEE_VCC2" footprint="Capacitor_SMD:C_0603_1608Metric" value="1µF" + place capacitor "C_XBEE_VCC3" designator="C_XBEE_VCC3" footprint="Capacitor_SMD:C_0402_1005Metric" value="47pF" + place capacitor "C_XBEE_VCC4" designator="C_XBEE_VCC4" footprint="Capacitor_SMD:C_0603_1608Metric" value="10µF" + place bat54w "D_INV_ISO1" designator="D_INV_ISO1" footprint="Package_TO_SOT_SMD:SOT-323_SC-70" value="BAT54W-7-F" + place diode "D_OR1" designator="D_OR1" footprint="Diode_SMD:D_SOD-123" value="1N4148W" + place diode "D_OR2" designator="D_OR2" footprint="Diode_SMD:D_SOD-123" value="1N4148W" + place sk6812mini-e "D_RGB1" designator="D_RGB1" footprint="SnipsControllers_Custom:SK6812MINI-E-012" value="SK6812MINI-E-012" { without supply ignore "vdd.net.voltage" reason="verified to operate at 3.3V" // Library minimum: 3.7 V; this board supplies 3.3 V. } - place tvs "D_VBUS_TVS1" designator="D_VBUS_TVS1" footprint="Diode_SMD:D_SOD-323" manufacturer="TECH PUBLIC" mpn="TPPESD5V0S1BA" lcsc="C587144" value="TPPESD5V0S1BA" + place tvs "D_VBUS_TVS1" designator="D_VBUS_TVS1" footprint="Diode_SMD:D_SOD-323" value="TPPESD5V0S1BA" place component_J_STICK1 "J_STICK1" designator="J_STICK1" footprint="SnipsControllers_Custom:GuliKit_HallStick" value="GuliKit_Thumbstick" hand=#true - place usb-c-receptacle "J_USB1" designator="J_USB1" footprint="Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" manufacturer="Hroparts Elec" mpn="TYPE-C-31-M-12" lcsc="C165948" package="hro" value="USB-C" - place inductor "L_BUCK1" designator="L_BUCK1" footprint="Inductor_SMD:L_Bourns-SRN4018" manufacturer="Bourns" mpn="SRN4018-2R2M" lcsc="C913207" value="2.2µH" - place mmbt3904 "Q_INV1" designator="Q_INV1" footprint="Package_TO_SOT_SMD:SOT-23" manufacturer="Jiangsu Changjing Electronics Technology Co., Ltd." mpn="MMBT3904(RANGE:100-300)" lcsc="C20526" value="MMBT3904(RANGE:100-300)" - place nfet-ao3400a "Q_LATCH1" designator="Q_LATCH1" footprint="Package_TO_SOT_SMD:SOT-23" manufacturer="Alpha & Omega Semicon" mpn="AO3400A" lcsc="C20917" value="AO3400A" - place ao3401a "Q_PWR1" designator="Q_PWR1" footprint="Package_TO_SOT_SMD:SOT-23" manufacturer="Alpha & Omega Semicon" mpn="AO3401A" lcsc="C15127" value="AO3401A" - place resistor "R_BOOT_PU1" designator="R_BOOT_PU1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_BTN_PU1" designator="R_BTN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_CC1" designator="R_CC1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF5101TCE" lcsc="C25905" value="5.1kΩ" - place resistor "R_CC2" designator="R_CC2" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF5101TCE" lcsc="C25905" value="5.1kΩ" - place resistor "R_EN_PU1" designator="R_EN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_FB1" designator="R_FB1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="RC0402FR-07255KL" lcsc="C327361" value="255kΩ" - place resistor "R_FB2" designator="R_FB2" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="RC0402FR-0756K2L" lcsc="C183355" value="56.2kΩ" - place resistor "R_GATE1" designator="R_GATE1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_INV_BASE1" designator="R_INV_BASE1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_INV_PU1" designator="R_INV_PU1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_ISET1" designator="R_ISET1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="AC0402FR-07604RL" lcsc="C227167" value="604Ω" - place resistor "R_LATCH_G1" designator="R_LATCH_G1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1004TCE" lcsc="C26083" value="1MΩ" - place pull-down "R_PWR_EN_PD1" designator="R_PWR_EN_PD1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_RGB1" designator="R_RGB1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF4700TCE" lcsc="C25117" value="470Ω" - place resistor "R_STAT1" designator="R_STAT1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_STAT2" designator="R_STAT2" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_TS1" designator="R_TS1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_USB_DM1" designator="R_USB_DM1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="RC0402FR-0727RL" lcsc="C138021" value="27Ω" - place resistor "R_USB_DP1" designator="R_USB_DP1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="RC0402FR-0727RL" lcsc="C138021" value="27Ω" - place resistor "R_VSET1" designator="R_VSET1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="Yageo" mpn="RC0402FR-0718KL" lcsc="C138044" value="18kΩ" - place resistor "R_VSYS1" designator="R_VSYS1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF2003TCE" lcsc="C25764" value="200kΩ" - place resistor "R_VSYS2" designator="R_VSYS2" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1003TCE" lcsc="C25741" value="100kΩ" - place resistor "R_XBEE_ATTN_PU1" designator="R_XBEE_ATTN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place resistor "R_XBEE_RC1" designator="R_XBEE_RC1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1000TCE" lcsc="C25076" value="100Ω" - place resistor "R_XBEE_RST1" designator="R_XBEE_RST1" footprint="Resistor_SMD:R_0402_1005Metric" manufacturer="UNI-ROYAL(Uniroyal Elec)" mpn="0402WGF1002TCE" lcsc="C25744" value="10kΩ" - place push-button "SW_BOOT1" designator="SW_BOOT1" footprint="Button_Switch_SMD:SW_SPST_EVQP2_ShortPushTravel_H2.1mm" manufacturer="Panasonic" mpn="EVQP2T02M" lcsc="C2915174" package="evqp2" value="Panasonic_EVQP2" - place push-button "SW_MACRO1" designator="SW_MACRO1" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_MACRO2" designator="SW_MACRO2" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_MACRO3" designator="SW_MACRO3" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_MACRO4" designator="SW_MACRO4" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_MACRO5" designator="SW_MACRO5" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_MACRO6" designator="SW_MACRO6" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" manufacturer="Hongyuan Precision" mpn="1TS009A-1800-5000-CT" lcsc="C319409" package="tact6x6" value="6x6x5mm SMD Tactile" - place push-button "SW_PWR1" designator="SW_PWR1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place push-button "SW_THR_DN1" designator="SW_THR_DN1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place push-button "SW_THR_UP1" designator="SW_THR_UP1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place push-button "SW_TRIG_DIG1" designator="SW_TRIG_DIG1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place push-button "SW_VOL_DN1" designator="SW_VOL_DN1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place push-button "SW_VOL_UP1" designator="SW_VOL_UP1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" manufacturer="Alps Alpine" mpn="SKRTLAE010" lcsc="C110293" package="alps" value="SKRTLAE010" - place qma6100p "U_ACCEL1" designator="U_ACCEL1" footprint="SnipsControllers_Custom:QMA6100P" manufacturer="QST" mpn="QMA6100P" lcsc="C2887190" value="QMA6100P" { without supply; without i2c-mode; without returns } - place tlv62569 "U_BUCK1" designator="U_BUCK1" footprint="Package_TO_SOT_SMD:SOT-23-5" manufacturer="Texas Instruments" mpn="TLV62569DBVR" lcsc="C141836" value="TLV62569DBVR" - place bq25185 "U_CHG1" designator="U_CHG1" footprint="BQ25185DLHR:IC_BQ25185DLHR" manufacturer="Texas Instruments" mpn="BQ25185DLHR" lcsc="C19725033" value="BQ25185DLHR" { without program; without always-enabled; without ts-fixed; without thermal; without supply } - place drv5055a2 "U_HALL1" designator="U_HALL1" footprint="Package_TO_SOT_THT:TO-92_Inline" manufacturer="Texas Instruments" mpn="DRV5055A2QLPGM" value="DRV5055A2QLPGM" hand=#true { without supply } - place esp32-s3-wroom-1 "U_MCU1" designator="U_MCU1" footprint="Espressif:ESP32-S3-WROOM-1" manufacturer="Espressif Systems" mpn="ESP32-S3-WROOM-1-N8" lcsc="C2913198" package="n8" value="ESP32-S3-WROOM-1-N8" { without supply; without enable; without boot } - place qwiic "U_OLED1" designator="U_OLED1" footprint="Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal" manufacturer="JST" mpn="SM04B-SRSS-TB(LF)(SN)" lcsc="C160404" value="Qwiic connector" { without tab } - place xbee3-zigbee "U_XBEE1" designator="U_XBEE1" footprint="Xbee3:XB324Z8UTJ" manufacturer="Digi International" mpn="XB3-24Z8UT-J" value="XBee3" hand=#true { without supply; without bootmode } + place usb-c-receptacle "J_USB1" designator="J_USB1" footprint="Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" package="hro" value="USB-C" + place inductor "L_BUCK1" designator="L_BUCK1" footprint="Inductor_SMD:L_Bourns-SRN4018" value="2.2µH" + place mmbt3904 "Q_INV1" designator="Q_INV1" footprint="Package_TO_SOT_SMD:SOT-23" value="MMBT3904(RANGE:100-300)" + place nfet-ao3400a "Q_LATCH1" designator="Q_LATCH1" footprint="Package_TO_SOT_SMD:SOT-23" value="AO3400A" + place ao3401a "Q_PWR1" designator="Q_PWR1" footprint="Package_TO_SOT_SMD:SOT-23" value="AO3401A" + place resistor "R_BOOT_PU1" designator="R_BOOT_PU1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_BTN_PU1" designator="R_BTN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_CC1" designator="R_CC1" footprint="Resistor_SMD:R_0402_1005Metric" value="5.1kΩ" + place resistor "R_CC2" designator="R_CC2" footprint="Resistor_SMD:R_0402_1005Metric" value="5.1kΩ" + place resistor "R_EN_PU1" designator="R_EN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_FB1" designator="R_FB1" footprint="Resistor_SMD:R_0402_1005Metric" value="255kΩ" + place resistor "R_FB2" designator="R_FB2" footprint="Resistor_SMD:R_0402_1005Metric" value="56.2kΩ" + place resistor "R_GATE1" designator="R_GATE1" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_INV_BASE1" designator="R_INV_BASE1" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_INV_PU1" designator="R_INV_PU1" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_ISET1" designator="R_ISET1" footprint="Resistor_SMD:R_0402_1005Metric" value="604Ω" + place resistor "R_LATCH_G1" designator="R_LATCH_G1" footprint="Resistor_SMD:R_0402_1005Metric" value="1MΩ" + place pull-down "R_PWR_EN_PD1" designator="R_PWR_EN_PD1" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_RGB1" designator="R_RGB1" footprint="Resistor_SMD:R_0402_1005Metric" value="470Ω" + place resistor "R_STAT1" designator="R_STAT1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_STAT2" designator="R_STAT2" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_TS1" designator="R_TS1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_USB_DM1" designator="R_USB_DM1" footprint="Resistor_SMD:R_0402_1005Metric" value="27Ω" + place resistor "R_USB_DP1" designator="R_USB_DP1" footprint="Resistor_SMD:R_0402_1005Metric" value="27Ω" + place resistor "R_VSET1" designator="R_VSET1" footprint="Resistor_SMD:R_0402_1005Metric" value="18kΩ" + place resistor "R_VSYS1" designator="R_VSYS1" footprint="Resistor_SMD:R_0402_1005Metric" value="200kΩ" + place resistor "R_VSYS2" designator="R_VSYS2" footprint="Resistor_SMD:R_0402_1005Metric" value="100kΩ" + place resistor "R_XBEE_ATTN_PU1" designator="R_XBEE_ATTN_PU1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place resistor "R_XBEE_RC1" designator="R_XBEE_RC1" footprint="Resistor_SMD:R_0402_1005Metric" value="100Ω" + place resistor "R_XBEE_RST1" designator="R_XBEE_RST1" footprint="Resistor_SMD:R_0402_1005Metric" value="10kΩ" + place push-button "SW_BOOT1" designator="SW_BOOT1" footprint="Button_Switch_SMD:SW_SPST_EVQP2_ShortPushTravel_H2.1mm" package="evqp2" value="Panasonic_EVQP2" + place push-button "SW_MACRO1" designator="SW_MACRO1" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_MACRO2" designator="SW_MACRO2" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_MACRO3" designator="SW_MACRO3" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_MACRO4" designator="SW_MACRO4" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_MACRO5" designator="SW_MACRO5" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_MACRO6" designator="SW_MACRO6" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" package="tact6x6" value="6x6x5mm SMD Tactile" + place push-button "SW_PWR1" designator="SW_PWR1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place push-button "SW_THR_DN1" designator="SW_THR_DN1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place push-button "SW_THR_UP1" designator="SW_THR_UP1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place push-button "SW_TRIG_DIG1" designator="SW_TRIG_DIG1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place push-button "SW_VOL_DN1" designator="SW_VOL_DN1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place push-button "SW_VOL_UP1" designator="SW_VOL_UP1" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" package="alps" value="SKRTLAE010" + place qma6100p "U_ACCEL1" designator="U_ACCEL1" footprint="SnipsControllers_Custom:QMA6100P" value="QMA6100P" { without supply; without i2c-mode; without returns } + place tlv62569 "U_BUCK1" designator="U_BUCK1" footprint="Package_TO_SOT_SMD:SOT-23-5" value="TLV62569DBVR" + place bq25185 "U_CHG1" designator="U_CHG1" footprint="BQ25185DLHR:IC_BQ25185DLHR" value="BQ25185DLHR" { without program; without always-enabled; without ts-fixed; without thermal; without supply } + place drv5055a2 "U_HALL1" designator="U_HALL1" footprint="Package_TO_SOT_THT:TO-92_Inline" value="DRV5055A2QLPGM" hand=#true { without supply } + place esp32-s3-wroom-1 "U_MCU1" designator="U_MCU1" footprint="Espressif:ESP32-S3-WROOM-1" package="n8" value="ESP32-S3-WROOM-1-N8" { without supply; without enable; without boot } + place qwiic "U_OLED1" designator="U_OLED1" footprint="Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal" value="Qwiic connector" { without tab } + place xbee3-zigbee "U_XBEE1" designator="U_XBEE1" footprint="Xbee3:XB324Z8UTJ" value="XBee3" hand=#true { without supply; without bootmode } // Electrical nets circuit "U_ACCEL1.SCX" "U_MCU1.IO9" "U_OLED1.4" name="/Accelerometer/I2C_SCL" @@ -184,4 +184,223 @@ design snips_controller { nc "U_XBEE1.RESERVED2" nc "U_XBEE1.CTS" nc "U_XBEE1.RTS" + + // Select the pre-port components by resolved value and footprint. + // This also applies to future support parts with the same specification. + match placement { + when value="100kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF1003TCE" + } + match placement { + when value="100nF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="CL05B104KO5NNNC" + } + match placement { + when value="100pF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="0402CG101J500NT" + } + match placement { + when value="100Ω" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF1000TCE" + } + match placement { + when value="10kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF1002TCE" + } + match placement { + when value="10nF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="CL05B103KB5NNNC" + } + match placement { + when value="10µF" + when footprint="Capacitor_SMD:C_0603_1608Metric" + set mpn="CL10A106KP8NNNC" + } + match placement { + when value="10µF" + when footprint="Capacitor_SMD:C_0805_2012Metric" + set mpn="CL21A106KAYNNNE" + } + match placement { + when value="18kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="RC0402FR-0718KL" + } + match placement { + when value="1MΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF1004TCE" + } + match placement { + when value="1N4148W" + when footprint="Diode_SMD:D_SOD-123" + set mpn="1N4148W" + } + match placement { + when value="1µF" + when footprint="Capacitor_SMD:C_0603_1608Metric" + set mpn="CL10A105KB8NNNC" + } + match placement { + when value="2.2nF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="CL05B222KB5NNNC" + } + match placement { + when value="2.2µH" + when footprint="Inductor_SMD:L_Bourns-SRN4018" + set mpn="SRN4018-2R2M" + } + match placement { + when value="200kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF2003TCE" + } + match placement { + when value="22µF" + when footprint="Capacitor_SMD:C_0805_2012Metric" + set mpn="CL21A226MAQNNNE" + } + match placement { + when value="255kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="RC0402FR-07255KL" + } + match placement { + when value="27Ω" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="RC0402FR-0727RL" + } + match placement { + when value="39pF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="CC0402JRNPO9BN390" + } + match placement { + when value="470Ω" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF4700TCE" + } + match placement { + when value="47pF" + when footprint="Capacitor_SMD:C_0402_1005Metric" + set mpn="0402CG470J500NT" + } + match placement { + when value="5.1kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="0402WGF5101TCE" + } + match placement { + when value="56.2kΩ" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="RC0402FR-0756K2L" + } + match placement { + when value="604Ω" + when footprint="Resistor_SMD:R_0402_1005Metric" + set mpn="AC0402FR-07604RL" + } + match placement { + when value="6x6x5mm SMD Tactile" + when footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" + set mpn="1TS009A-1800-5000-CT" + } + match placement { + when value="AO3400A" + when footprint="Package_TO_SOT_SMD:SOT-23" + set mpn="AO3400A" + } + match placement { + when value="AO3401A" + when footprint="Package_TO_SOT_SMD:SOT-23" + set mpn="AO3401A" + } + match placement { + when value="BAT54W-7-F" + when footprint="Package_TO_SOT_SMD:SOT-323_SC-70" + set mpn="BAT54W-7-F" + } + match placement { + when value="BQ25185DLHR" + when footprint="BQ25185DLHR:IC_BQ25185DLHR" + set mpn="BQ25185DLHR" + } + match placement { + when value="DRV5055A2QLPGM" + when footprint="Package_TO_SOT_THT:TO-92_Inline" + set mpn="DRV5055A2QLPGM" + } + match placement { + when value="ESP32-S3-WROOM-1-N8" + when footprint="Espressif:ESP32-S3-WROOM-1" + set mpn="ESP32-S3-WROOM-1-N8" + } + match placement { + when value="GuliKit_Thumbstick" + when footprint="SnipsControllers_Custom:GuliKit_HallStick" + set mpn="GuliKit_Thumbstick" + } + match placement { + when value="MMBT3904(RANGE:100-300)" + when footprint="Package_TO_SOT_SMD:SOT-23" + set mpn="MMBT3904(RANGE:100-300)" + } + match placement { + when value="PH 2-pin battery RIGHT-ANGLE HORIZONTAL" + when footprint="Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal" + set mpn="S2B-PH-K(LF)(SN)" + } + match placement { + when value="Panasonic_EVQP2" + when footprint="Button_Switch_SMD:SW_SPST_EVQP2_ShortPushTravel_H2.1mm" + set mpn="EVQP2T02M" + } + match placement { + when value="QMA6100P" + when footprint="SnipsControllers_Custom:QMA6100P" + set mpn="QMA6100P" + } + match placement { + when value="Qwiic connector" + when footprint="Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal" + set mpn="SM04B-SRSS-TB(LF)(SN)" + } + match placement { + when value="SK6812MINI-E-012" + when footprint="SnipsControllers_Custom:SK6812MINI-E-012" + set mpn="SK6812MINI-E" + } + match placement { + when value="SKRTLAE010" + when footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" + set mpn="SKRTLAE010" + } + match placement { + when value="TLV62569DBVR" + when footprint="Package_TO_SOT_SMD:SOT-23-5" + set mpn="TLV62569DBVR" + } + match placement { + when value="TPPESD5V0S1BA" + when footprint="Diode_SMD:D_SOD-323" + set mpn="TPPESD5V0S1BA" + } + match placement { + when value="USB-C" + when footprint="Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" + set mpn="TYPE-C-31-M-12" + } + match placement { + when value="XBee3" + when footprint="Xbee3:XB324Z8UTJ" + set mpn="XB3-24Z8UT-J" + } + } diff --git a/PCB/stackup/purchasing.kdl b/PCB/stackup/purchasing.kdl new file mode 100644 index 0000000..8c26327 --- /dev/null +++ b/PCB/stackup/purchasing.kdl @@ -0,0 +1,172 @@ +// Board-selected purchasing parts, preserving the previous factory BOM. +// Values and footprints are checked against each matched placement. + +mpn "0402CG101J500NT" manufacturer="FH (Guangdong Fenghua Advanced Tech)" value="100pF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C1546" +} + +mpn "0402CG470J500NT" manufacturer="FH (Guangdong Fenghua Advanced Tech)" value="47pF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C1567" +} + +mpn "0402WGF1000TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="100Ω" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25076" +} + +mpn "0402WGF1002TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="10kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25744" +} + +mpn "0402WGF1003TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="100kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25741" +} + +mpn "0402WGF1004TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="1MΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C26083" +} + +mpn "0402WGF2003TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="200kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25764" +} + +mpn "0402WGF4700TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="470Ω" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25117" +} + +mpn "0402WGF5101TCE" manufacturer="UNI-ROYAL(Uniroyal Elec)" value="5.1kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C25905" +} + +mpn "1N4148W" manufacturer="ST(Semtech)" value="1N4148W" footprint="Diode_SMD:D_SOD-123" { + catalog lcsc="C81598" +} + +mpn "1TS009A-1800-5000-CT" manufacturer="Hongyuan Precision" value="6x6x5mm SMD Tactile" footprint="Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm" { + catalog lcsc="C319409" +} + +mpn "AC0402FR-07604RL" manufacturer="Yageo" value="604Ω" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C227167" +} + +mpn "AO3400A" manufacturer="Alpha & Omega Semicon" value="AO3400A" footprint="Package_TO_SOT_SMD:SOT-23" { + catalog lcsc="C20917" +} + +mpn "AO3401A" manufacturer="Alpha & Omega Semicon" value="AO3401A" footprint="Package_TO_SOT_SMD:SOT-23" { + catalog lcsc="C15127" +} + +mpn "BAT54W-7-F" manufacturer="Diodes Incorporated" value="BAT54W-7-F" footprint="Package_TO_SOT_SMD:SOT-323_SC-70" { + catalog lcsc="C134417" +} + +mpn "BQ25185DLHR" manufacturer="Texas Instruments" value="BQ25185DLHR" footprint="BQ25185DLHR:IC_BQ25185DLHR" { + catalog lcsc="C19725033" +} + +mpn "CC0402JRNPO9BN390" manufacturer="Yageo" value="39pF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C106223" +} + +mpn "CL05B103KB5NNNC" manufacturer="Samsung Electro-Mechanics" value="10nF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C15195" +} + +mpn "CL05B104KO5NNNC" manufacturer="Samsung Electro-Mechanics" value="100nF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C1525" +} + +mpn "CL05B222KB5NNNC" manufacturer="Samsung Electro-Mechanics" value="2.2nF" footprint="Capacitor_SMD:C_0402_1005Metric" { + catalog lcsc="C84703" +} + +mpn "CL10A105KB8NNNC" manufacturer="Samsung Electro-Mechanics" value="1µF" footprint="Capacitor_SMD:C_0603_1608Metric" { + catalog lcsc="C15849" +} + +mpn "CL10A106KP8NNNC" manufacturer="Samsung Electro-Mechanics" value="10µF" footprint="Capacitor_SMD:C_0603_1608Metric" { + catalog lcsc="C19702" +} + +mpn "CL21A106KAYNNNE" manufacturer="Samsung Electro-Mechanics" value="10µF" footprint="Capacitor_SMD:C_0805_2012Metric" { + catalog lcsc="C15850" +} + +mpn "CL21A226MAQNNNE" manufacturer="Samsung Electro-Mechanics" value="22µF" footprint="Capacitor_SMD:C_0805_2012Metric" { + catalog lcsc="C45783" +} + +mpn "DRV5055A2QLPGM" manufacturer="Texas Instruments" value="DRV5055A2QLPGM" footprint="Package_TO_SOT_THT:TO-92_Inline" + +mpn "ESP32-S3-WROOM-1-N8" manufacturer="Espressif Systems" value="ESP32-S3-WROOM-1-N8" footprint="Espressif:ESP32-S3-WROOM-1" { + catalog lcsc="C2913198" mouser="356-ESP32S3WROOM1N8" +} + +mpn "EVQP2T02M" manufacturer="Panasonic" value="Panasonic_EVQP2" footprint="Button_Switch_SMD:SW_SPST_EVQP2_ShortPushTravel_H2.1mm" { + catalog lcsc="C2915174" +} + +// Internal assembly identifier: the pre-port PCB named the GuliKit hall stick +// but recorded no orderable manufacturer part number. This is hand installed. +mpn "GuliKit_Thumbstick" manufacturer="GuliKit" value="GuliKit_Thumbstick" footprint="SnipsControllers_Custom:GuliKit_HallStick" + +mpn "MMBT3904(RANGE:100-300)" manufacturer="Jiangsu Changjing Electronics Technology Co., Ltd." value="MMBT3904(RANGE:100-300)" footprint="Package_TO_SOT_SMD:SOT-23" { + catalog lcsc="C20526" +} + +mpn "QMA6100P" manufacturer="QST" value="QMA6100P" footprint="SnipsControllers_Custom:QMA6100P" { + catalog lcsc="C2887190" +} + +mpn "RC0402FR-0718KL" manufacturer="Yageo" value="18kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C138044" +} + +mpn "RC0402FR-07255KL" manufacturer="Yageo" value="255kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C327361" +} + +mpn "RC0402FR-0727RL" manufacturer="Yageo" value="27Ω" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C138021" +} + +mpn "RC0402FR-0756K2L" manufacturer="Yageo" value="56.2kΩ" footprint="Resistor_SMD:R_0402_1005Metric" { + catalog lcsc="C183355" +} + +mpn "S2B-PH-K(LF)(SN)" manufacturer="JST" value="PH 2-pin battery RIGHT-ANGLE HORIZONTAL" footprint="Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal" { + catalog lcsc="C265016" +} + +mpn "SK6812MINI-E" manufacturer="OPSCO Optoelectronics" value="SK6812MINI-E-012" footprint="SnipsControllers_Custom:SK6812MINI-E-012" { + catalog lcsc="C5149201" +} + +mpn "SKRTLAE010" manufacturer="Alps Alpine" value="SKRTLAE010" footprint="Button_Switch_SMD:SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010" { + catalog lcsc="C110293" +} + +mpn "SM04B-SRSS-TB(LF)(SN)" manufacturer="JST" value="Qwiic connector" footprint="Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal" { + catalog lcsc="C160404" +} + +mpn "SRN4018-2R2M" manufacturer="Bourns" value="2.2µH" footprint="Inductor_SMD:L_Bourns-SRN4018" { + catalog lcsc="C913207" +} + +mpn "TLV62569DBVR" manufacturer="Texas Instruments" value="TLV62569DBVR" footprint="Package_TO_SOT_SMD:SOT-23-5" { + catalog lcsc="C141836" +} + +mpn "TPPESD5V0S1BA" manufacturer="TECH PUBLIC" value="TPPESD5V0S1BA" footprint="Diode_SMD:D_SOD-323" { + catalog lcsc="C587144" +} + +mpn "TYPE-C-31-M-12" manufacturer="Hroparts Elec" value="USB-C" footprint="Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" { + catalog lcsc="C165948" +} + +mpn "XB3-24Z8UT-J" manufacturer="Digi International" value="XBee3" footprint="Xbee3:XB324Z8UTJ" { + catalog mouser="888-XB3-24Z8UT-J" +} diff --git a/ci/stackup/Cargo.lock b/ci/stackup/Cargo.lock index 8960cb7..9fffa9f 100644 --- a/ci/stackup/Cargo.lock +++ b/ci/stackup/Cargo.lock @@ -243,9 +243,9 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackup-eda" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51059d3027f65d1045bc7cec8375ec26a487411cf6b5cea02822c5b552b7060f" +checksum = "75a6b8652668d21b6683d266d22d10a0f5c975aab0d70e17aa447525e36d7172" dependencies = [ "miette", "stackup-eda-parser", @@ -253,9 +253,9 @@ dependencies = [ [[package]] name = "stackup-eda-parser" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d31c9d11ee6f7920ee762e8706bdef2218b3450aafbe71de3a4fa3cd209ef87" +checksum = "c75b7ab62576796cf3c81ea908e232aaba1b72cd43430594f0bd449922ee0360" dependencies = [ "kdl", "miette", diff --git a/ci/stackup/Cargo.toml b/ci/stackup/Cargo.toml index acf3040..45d8e28 100644 --- a/ci/stackup/Cargo.toml +++ b/ci/stackup/Cargo.toml @@ -5,4 +5,4 @@ edition = "2024" publish = false [dependencies] -stackup = { package = "stackup-eda", version = "=0.1.3" } +stackup = { package = "stackup-eda", version = "=0.2.0" } diff --git a/manifest.kdl b/manifest.kdl index a747dd1..5f7ee3c 100644 --- a/manifest.kdl +++ b/manifest.kdl @@ -1,2 +1,2 @@ -stackup "0.1" +stackup "0.2" library stackup git="https://github.com/stackup-eda/library" rev="9120a03038a79a3fc05ed309dbb8858c06370739"