diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/PCA9548APW_118.tsx b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/PCA9548APW_118.tsx new file mode 100644 index 00000000..4869c747 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/PCA9548APW_118.tsx @@ -0,0 +1,299 @@ +import type { ChipProps } from "@tscircuit/props" + +const pinLabels = { + pin1: ["A0"], + pin2: ["A1"], + pin3: ["pin3"], + pin4: ["SD0"], + pin5: ["SC0"], + pin6: ["SD1"], + pin7: ["SC1"], + pin8: ["SD2"], + pin9: ["SC2"], + pin10: ["SD3"], + pin11: ["SC3"], + pin12: ["VSS"], + pin13: ["SD4"], + pin14: ["SC4"], + pin15: ["SD5"], + pin16: ["SC5"], + pin17: ["SD6"], + pin18: ["SC6"], + pin19: ["SD7"], + pin20: ["SC7"], + pin21: ["A2"], + pin22: ["SCL"], + pin23: ["SDA"], + pin24: ["VDD"], +} as const + +export const PCA9548APW_118 = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C21198.obj?uuid=4564b07290534b8ea1373eede2664361", + stepUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C21198.step?uuid=4564b07290534b8ea1373eede2664361", + pcbRotationOffset: 90, + modelOriginPosition: { x: 0, y: 0, z: -0.019205 }, + }} + {...props} + /> + ) +} diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/README.md b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/README.md new file mode 100644 index 00000000..16af5bf7 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/README.md @@ -0,0 +1,5 @@ +# SparkFun Qwiic Mux Breakout 8 Channel TCA9548A + +For more information about this board, visit the official SparkFun product page: + +[https://www.sparkfun.com/sparkfun-qwiic-mux-breakout-8-channel-tca9548a.html](https://www.sparkfun.com/sparkfun-qwiic-mux-breakout-8-channel-tca9548a.html) diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SM04B_SRSS_TB_LF__SN_.tsx b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SM04B_SRSS_TB_LF__SN_.tsx new file mode 100644 index 00000000..b53ce889 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SM04B_SRSS_TB_LF__SN_.tsx @@ -0,0 +1,152 @@ +import type { ChipProps } from "@tscircuit/props" + +const pinLabels = { + pin1: ["pin1"], + pin2: ["pin2"], + pin3: ["pin3"], + pin4: ["pin4"], +} as const + +export const SM04B_SRSS_TB_LF__SN_ = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C160404.obj?uuid=96ff162c26934a308e7bbf01d083d593", + stepUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C160404.step?uuid=96ff162c26934a308e7bbf01d083d593", + pcbRotationOffset: 0, + modelOriginPosition: { x: 1.5, y: 0.2875033000001168, z: -0.01 }, + }} + {...props} + /> + ) +} diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A.circuit.tsx b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A.circuit.tsx new file mode 100644 index 00000000..255ebda8 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A.circuit.tsx @@ -0,0 +1,705 @@ +import { PCA9548APW_118 } from "./PCA9548APW_118" +import { SM04B_SRSS_TB_LF__SN_ } from "./SM04B_SRSS_TB_LF__SN_" + +const qwiicPorts = [ + { + name: "J1", + sda: "SDA0", + scl: "SCL0", + x: -12.7, + y: 13.334, + r: -90, + sx: -13.4, + sy: 2.4, + }, + { + name: "J8", + sda: "SDA1", + scl: "SCL1", + x: -12.7, + y: 3.174, + r: -90, + sx: -13.4, + sy: 0, + }, + { + name: "J9", + sda: "SDA2", + scl: "SCL2", + x: -12.7, + y: -6.986, + r: -90, + sx: -13.4, + sy: -2.4, + }, + { + name: "J10", + sda: "SDA3", + scl: "SCL3", + x: -12.7, + y: -17.146, + r: -90, + sx: -13.4, + sy: -4.8, + }, + { + name: "J23", + sda: "SDA4", + scl: "SCL4", + x: 12.699, + y: -17.145, + r: 90, + sx: -6.4, + sy: -4.8, + }, + { + name: "J24", + sda: "SDA5", + scl: "SCL5", + x: 12.699, + y: -6.985, + r: 90, + sx: -6.4, + sy: -2.4, + }, + { + name: "J25", + sda: "SDA6", + scl: "SCL6", + x: 12.699, + y: 3.175, + r: 90, + sx: -6.4, + sy: 0, + }, + { + name: "J26", + sda: "SDA7", + scl: "SCL7", + x: 12.699, + y: 13.335, + r: 90, + sx: -6.4, + sy: 2.4, + }, +] + +const pullups = [ + ["R6", "SDA0", -8, 14.858, 180, -11.2, 3.2], + ["R7", "SCL0", -8, 13.334, 180, -10.1, 3.2], + ["R1", "SDA1", -8, 4.698, 180, -11.2, 0.8], + ["R8", "SCL1", -8, 3.174, 180, -10.1, 0.8], + ["R9", "SDA2", -8, -5.462, 180, -11.2, -1.6], + ["R10", "SCL2", -8, -6.986, 180, -10.1, -1.6], + ["R11", "SDA3", -8, -15.622, 180, -11.2, -4], + ["R12", "SCL3", -8, -17.146, 180, -10.1, -4], + ["R2", "SDA4", 8, -17.144, 0, -3.4, -4], + ["R3", "SCL4", 8, -15.62, 0, -2.3, -4], + ["R13", "SDA5", 8, -6.984, 0, -3.4, -1.6], + ["R14", "SCL5", 8, -5.46, 0, -2.3, -1.6], + ["R15", "SDA6", 8, 3.176, 0, -3.4, 0.8], + ["R16", "SCL6", 8, 4.7, 0, -2.3, 0.8], + ["R17", "SDA7", 8, 13.336, 0, -3.4, 3.2], + ["R18", "SCL7", 8, 14.86, 0, -2.3, 3.2], +] as const + +const caps = [ + ["C2", -8, 11.81, 180, -16.1, 2.4], + ["C3", -8, 1.65, 180, -16.1, 0], + ["C4", -8, -8.51, 180, -16.1, -2.4], + ["C5", -8, -18.67, 180, -16.1, -4.8], + ["C6", 8, -18.669, 0, -8, -4.8], + ["C7", 8, -8.509, 0, -8, -2.4], + ["C8", 8, 1.651, 0, -8, 0], + ["C9", 8, 11.811, 0, -8, 2.4], +] as const + +const jumper2Footprint = ( + + + + +) + +export default () => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {qwiicPorts.map((j, i) => ( + + ))} + + + + + + + + + } + bridgedPins={[ + ["1", "2"], + ["2", "3"], + ]} + pcbX={1.27} + pcbY={6.985} + pcbRotation={180} + schX={10.8} + schY={5.7} + schRotation={180} + schSectionName="Mux" + connections={{ + pin1: "net.MAIN_SCL_PULLUP", + pin2: "net.V3_3", + pin3: "net.MAIN_SDA_PULLUP", + }} + /> + + {pullups.map(([name, net, x, y, r, sx, sy]) => ( + + ))} + + + + + + + + + + + + + + {caps.map(([name, x, y, r, sx, sy]) => ( + + ))} + + + + + + + + + + + + + + + + + + + + + +) diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-3d.snap.png b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-3d.snap.png new file mode 100644 index 00000000..a78f0f60 Binary files /dev/null and b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-3d.snap.png differ diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-pcb.snap.svg b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-pcb.snap.svg new file mode 100644 index 00000000..d1237794 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-pcb.snap.svg @@ -0,0 +1 @@ +U2J2J3J1J8J9J10J23J24J25J26R4R5R6R7R1R8R9R10R11R12R2R3R13R14R15R16R17R18R19R20R21R22J21C1C2C3C4C5C6C7C8C9D2R24Qwiic MuxMAINMAIN01234567 \ No newline at end of file diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-schematic.snap.svg b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-schematic.snap.svg new file mode 100644 index 00000000..063876f8 --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/__snapshots__/index-schematic.snap.svg @@ -0,0 +1,527 @@ +PCA9548APW_118U21A02A134SD05SC06SD17SC18SD29SC210SD311SC312VSS13SD414SC415SD516SC517SD618SC619SD720SC721A222SCL23SDA24VDDSM04B_SRSS_TB_LF__SN_J21234SM04B_SRSS_TB_LF__SN_J31234SM04B_SRSS_TB_LF__SN_J11234SM04B_SRSS_TB_LF__SN_J81234SM04B_SRSS_TB_LF__SN_J91234SM04B_SRSS_TB_LF__SN_J101234SM04B_SRSS_TB_LF__SN_J231234SM04B_SRSS_TB_LF__SN_J241234SM04B_SRSS_TB_LF__SN_J251234SM04B_SRSS_TB_LF__SN_J261234R44.7kΩR54.7kΩJP4R64.7kΩR74.7kΩR14.7kΩR84.7kΩR94.7kΩR104.7kΩR114.7kΩR124.7kΩR24.7kΩR34.7kΩR134.7kΩR144.7kΩR154.7kΩR164.7kΩR174.7kΩR184.7kΩR1910kΩR2010kΩR2110kΩJP3JP2JP1R2210kΩJ21C10.1uFC21uFC31uFC41uFC51uFC61uFC71uFC81uFC91uFredD2R241kΩADR0ADR0ADR1ADR1SDA0SDA0SCL0SCL0SCL0SDA1SDA1SCL1SCL1SCL1SDA2SDA2SCL2SCL2SCL2SDA3SDA3SCL3SCL3GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDA4SDA4SCL4SCL4SDA5SDA5SCL5SCL5SCL5SDA6SDA6SCL6SCL6SCL6SDA7SDA7SCL7SCL7SCL7ADR2ADR2MAIN_SCLMAIN_SCLMAIN_SDAMAIN_SDAMAIN_SDAV3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3V3_3GNDMAIN_SCLMAIN_SDAV3_3GNDMAIN_SCLGNDMAIN_SCLGNDSCL3GNDSCL4MAIN_SDAMAIN_SCLV3_3SCL3SCL4GNDV3_3GNDGNDV3_3Clear JP4 to removemain I2C pull-up resistors.Default 7-bit I2C address: 0x70Set ADR jumpers below whenusing multiple multiplexers.MainQwiic ConnectorsI2C MultiplexI2C AddressADR2ADR1ADR00x70 (default)OpenOpenOpen0x71OpenOpenClosed0x72OpenClosedOpen0x73OpenClosedClosed0x74ClosedOpenOpen0x75ClosedOpenClosed0x76ClosedClosedOpen0x77ClosedClosedClosed \ No newline at end of file diff --git a/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/index.tsx b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/index.tsx new file mode 100644 index 00000000..36cf189e --- /dev/null +++ b/boards/SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A/index.tsx @@ -0,0 +1,3 @@ +import SparkFunQwiicMuxBreakout8ChannelTCA9548A from "./SparkFun-Qwiic-Mux-Breakout-8-Channel-TCA9548A.circuit" + +export default SparkFunQwiicMuxBreakout8ChannelTCA9548A