diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 33fca419..cf827c69 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,6 +1,6 @@
# Code owners for SparkFun boards repository
-* @ShiboSoftwareDev
+* @ShiboSoftwareDev @Abse2001
# Each board directory is owned by its original creator
diff --git a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-3d.snap.png b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-3d.snap.png
index 0af4a013..554db4dd 100644
Binary files a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-3d.snap.png and b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-pcb.snap.svg b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-pcb.snap.svg
index e0197906..f7c6c06e 100644
--- a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005/__snapshots__/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1005.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SM04B_SRSS_TB_LF__SN2.tsx b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SM04B_SRSS_TB_LF__SN2.tsx
new file mode 100644
index 00000000..b65a767b
--- /dev/null
+++ b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SM04B_SRSS_TB_LF__SN2.tsx
@@ -0,0 +1,106 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["VDD"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+} as const
+
+export const SM04B_SRSS_TB_LF__SN2 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 1.5, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015.circuit.tsx b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015.circuit.tsx
index 38bee27b..a025248f 100644
--- a/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015.circuit.tsx
+++ b/boards/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015/SparkFun-Air-Velocity-Sensor-Breakout-FS3000-1015.circuit.tsx
@@ -1,6 +1,7 @@
import { FS3000_1015 } from "./ FS3000_1015"
import { SM04B_SRSS_TB_LF__SN } from "./SM04B_SRSS_TB_LF__SN"
import { sel } from "tscircuit"
+import { SM04B_SRSS_TB_LF__SN2 } from "./SM04B_SRSS_TB_LF__SN2"
export default () => {
return (
@@ -455,7 +456,7 @@ export default () => {
connectsTo={sel.JP6.pin1}
anchorSide="top"
/>
- JP1JP2JP3ADC-REFAirVelocitySensorFS3000I2C ADD: 0x28LEDI2CqwiicVCMADCRGNDV3_3SDASCLC1C2C3C4R3R4R5D210051015Air VelocitySensorFS3000PWRqwiicVCMADCRJP4GNDV3_3SDASCLJP5
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-3d.snap.png b/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-3d.snap.png
index 3ba0ff90..77a19e60 100644
Binary files a/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-3d.snap.png and b/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-pcb.snap.svg b/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-pcb.snap.svg
index b5b4828a..f525a37a 100644
--- a/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2/__snapshots__/SparkFun-Altitude-Pressure-Sensor-Breakout-MPL3115A2.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/README.md b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/README.md
new file mode 100644
index 00000000..773b125b
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/README.md
@@ -0,0 +1,5 @@
+# SparkFun Ambient Light Sensor - VEML6030 (Qwiic)
+
+For more information about this board, visit the official SparkFun product page:
+
+[https://www.sparkfun.com/sparkfun-ambient-light-sensor-veml6030-qwiic.html](https://www.sparkfun.com/sparkfun-ambient-light-sensor-veml6030-qwiic.html)
\ No newline at end of file
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN.tsx b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN.tsx
new file mode 100644
index 00000000..ce056df4
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN.tsx
@@ -0,0 +1,106 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["VDD"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+} as const
+
+export const SM04B_SRSS_TB_LF__SN = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: -1.5, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN2.tsx b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN2.tsx
new file mode 100644
index 00000000..b65a767b
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SM04B_SRSS_TB_LF__SN2.tsx
@@ -0,0 +1,106 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["VDD"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+} as const
+
+export const SM04B_SRSS_TB_LF__SN2 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 1.5, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit.tsx b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit.tsx
new file mode 100644
index 00000000..7514483b
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit.tsx
@@ -0,0 +1,420 @@
+import { sel } from "tscircuit"
+import { VEML6030 } from "./VEML6030"
+import { SM04B_SRSS_TB_LF__SN } from "./SM04B_SRSS_TB_LF__SN"
+import { SM04B_SRSS_TB_LF__SN2 } from "./SM04B_SRSS_TB_LF__SN2"
+const jumperPinLabels = {
+ pin1: ["GND"],
+ pin2: ["3V3"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+ pin5: ["N_INT"],
+}
+export default () => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+)
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/VEML6030.tsx b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/VEML6030.tsx
new file mode 100644
index 00000000..344fda82
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/VEML6030.tsx
@@ -0,0 +1,107 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["SDA"],
+ pin3: ["INT"],
+ pin4: ["ADD"],
+ pin5: ["SCL"],
+ pin6: ["VDD"],
+} as const
+
+export const VEML6030 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=4524f635bbc740058d5f3b214807d25b&pn=C132182",
+ rotationOffset: { x: 180, y: 0, z: 0 },
+ positionOffset: {
+ x: -0.0001015999999935957,
+ y: 0.0001015999999935957,
+ z: 0,
+ },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-3d.snap.png b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-3d.snap.png
new file mode 100644
index 00000000..276af923
Binary files /dev/null and b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-pcb.snap.svg b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-pcb.snap.svg
new file mode 100644
index 00000000..19322f8d
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-pcb.snap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-schematic.snap.svg b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-schematic.snap.svg
new file mode 100644
index 00000000..e36a7899
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit-schematic.snap.svg
@@ -0,0 +1,142 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/index.tsx b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/index.tsx
new file mode 100644
index 00000000..4060f9f6
--- /dev/null
+++ b/boards/SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic)/index.tsx
@@ -0,0 +1,2 @@
+import SparkFunAmbientLightSensorVEML6030Qwiic from "./SparkFun-Ambient-Light-Sensor-VEML6030-(Qwiic).circuit"
+export default SparkFunAmbientLightSensorVEML6030Qwiic
diff --git a/boards/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic).circuit-3d.snap.png b/boards/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic).circuit-3d.snap.png
index 8b41a92c..04dc9934 100644
Binary files a/boards/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic).circuit-3d.snap.png and b/boards/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic)/__snapshots__/SparkFun-Ambient-Light-Sensor-VEML7700-(Qwiic).circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/CD74HC4067.tsx b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/CD74HC4067.tsx
new file mode 100644
index 00000000..0fe857d5
--- /dev/null
+++ b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/CD74HC4067.tsx
@@ -0,0 +1,274 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: "COM",
+ pin2: "CHAN7",
+ pin3: "CHAN6",
+ pin4: "CHAN5",
+ pin5: "CHAN4",
+ pin6: "CHAN3",
+ pin7: "CHAN2",
+ pin8: "CHAN1",
+ pin9: "CHAN0",
+ pin10: "S0",
+ pin11: "S1",
+ pin12: "GND",
+ pin13: "S3",
+ pin14: "S2",
+ pin15: "N_EN",
+ pin16: "CHAN15",
+ pin17: "CHAN14",
+ pin18: "CHAN13",
+ pin19: "CHAN12",
+ pin20: "CHAN11",
+ pin21: "CHAN10",
+ pin22: "CHAN9",
+ pin23: "CHAN8",
+ pin24: "VCC",
+} as const
+
+export const CD74HC4067 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/README.md b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/README.md
new file mode 100644
index 00000000..8c06d5d4
--- /dev/null
+++ b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/README.md
@@ -0,0 +1,11 @@
+# SparkFun Analog/Digital MUX Breakout - CD74HC4067
+
+This is a breakout board for the CD74HC4067 16-channel analog/digital multiplexer/demultiplexer.
+
+Product Link: [https://www.sparkfun.com/sparkfun-analog-digital-mux-breakout-cd74hc4067.html](https://www.sparkfun.com/sparkfun-analog-digital-mux-breakout-cd74hc4067.html)
+
+## Features
+- 2V to 6V operation
+- 16 channels can be multiplexed to one signal pin
+- Bidirectional switches
+- Enable pin to disable all switches
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit.tsx b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit.tsx
new file mode 100644
index 00000000..433ea0a3
--- /dev/null
+++ b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit.tsx
@@ -0,0 +1,199 @@
+import { sel } from "@tscircuit/core"
+import { CD74HC4067 } from "./CD74HC4067"
+
+export default () => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+)
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-3d.snap.png b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-3d.snap.png
new file mode 100644
index 00000000..cf4e2df6
Binary files /dev/null and b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-pcb.snap.svg b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-pcb.snap.svg
new file mode 100644
index 00000000..021715f4
--- /dev/null
+++ b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-pcb.snap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-schematic.snap.svg b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-schematic.snap.svg
new file mode 100644
index 00000000..32da1d51
--- /dev/null
+++ b/boards/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067/__snapshots__/SparkFun-Analog-Digital-MUX-Breakout-CD74HC4067.circuit-schematic.snap.svg
@@ -0,0 +1,76 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-3d.snap.png b/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-3d.snap.png
index 75d82e65..d46bcc1c 100644
Binary files a/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-3d.snap.png and b/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-pcb.snap.svg b/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-pcb.snap.svg
index 1ef6e5b1..b68aab75 100644
--- a/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Atmospheric-Sensor-Breakout-BME280/__snapshots__/SparkFun-Atmospheric-Sensor-Breakout-BME280.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-3d.snap.png b/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-3d.snap.png
index 8a1c1f87..7193f414 100644
Binary files a/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-3d.snap.png and b/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-pcb.snap.svg
index 7f72e942..41e6cb9f 100644
--- a/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Audio-Jack-Breakout/__snapshots__/SparkFun-Audio-Jack-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-3d.snap.png b/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-3d.snap.png
index 3ad858d1..d7a94a5e 100644
Binary files a/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-3d.snap.png and b/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-pcb.snap.svg b/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-pcb.snap.svg
index 3529b774..0dc3e6cd 100644
--- a/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Breakout-Board-for-XBee-Module/__snapshots__/SparkFun-Breakout-Board-for-XBee-Module.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN.tsx b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN.tsx
index a5f8ad1b..ce056df4 100644
--- a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN.tsx
+++ b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN.tsx
@@ -98,7 +98,7 @@ export const SM04B_SRSS_TB_LF__SN = (props: ChipProps) => {
objUrl:
"https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
rotationOffset: { x: 0, y: 0, z: 0 },
- positionOffset: { x: -1.5, y: -0.5, z: 0 },
+ positionOffset: { x: 0, y: -1.5, z: 0 },
}}
{...props}
/>
diff --git a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN2.tsx b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN2.tsx
new file mode 100644
index 00000000..b65a767b
--- /dev/null
+++ b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SM04B_SRSS_TB_LF__SN2.tsx
@@ -0,0 +1,106 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["VDD"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+} as const
+
+export const SM04B_SRSS_TB_LF__SN2 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 1.5, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40.circuit.tsx b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40.circuit.tsx
index 501069ee..25b4d475 100644
--- a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40.circuit.tsx
+++ b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD40.circuit.tsx
@@ -1,6 +1,7 @@
import { SCD40_D_R1 } from "./ SCD40_D_R1"
import { sel } from "tscircuit"
import { SM04B_SRSS_TB_LF__SN } from "./SM04B_SRSS_TB_LF__SN"
+import { SM04B_SRSS_TB_LF__SN2 } from "./SM04B_SRSS_TB_LF__SN2"
export default () => (
@@ -137,7 +138,7 @@ export default () => (
pin1: sel.net.GND,
}}
/>
- Qwiic CO2 SensorPLEDJP1I2CJP2GNDVDDSDASCLSCD40SCD41qwiicPWRqwiic CO2 SensorC1C2R1R2D1R3GNDVDDSDASCLJP3
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-3d.snap.png b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-3d.snap.png
index 7ab99686..6110a664 100644
Binary files a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-3d.snap.png and b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-pcb.snap.svg b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-pcb.snap.svg
index e0560a64..6b4e4911 100644
--- a/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-pcb.snap.svg
+++ b/boards/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41/__snapshots__/SparkFun-CO2-Humidity-And-Temperature-Sensor-SCD41.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A/__snapshots__/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A.circuit-3d.snap.png b/boards/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A/__snapshots__/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A.circuit-3d.snap.png
index 90bf9531..2336225c 100644
Binary files a/boards/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A/__snapshots__/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A.circuit-3d.snap.png and b/boards/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A/__snapshots__/SparkFun-Cryptographic-Co-Processor-Breakout-ATECC508A.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Current-Sensor-Breakout-ACS723/ACS723.tsx b/boards/SparkFun-Current-Sensor-Breakout-ACS723/ACS723.tsx
index 97469aaa..6ace208c 100644
--- a/boards/SparkFun-Current-Sensor-Breakout-ACS723/ACS723.tsx
+++ b/boards/SparkFun-Current-Sensor-Breakout-ACS723/ACS723.tsx
@@ -99,7 +99,7 @@ export const ACS723 = (props: ChipProps) => {
cadModel={{
objUrl:
"https://modelcdn.tscircuit.com/easyeda_models/download?uuid=dc694c23844346e9981bdbac7bb76421&pn=C459325",
- rotationOffset: { x: 0, y: 0, z: 90 },
+ rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}}
{...props}
diff --git a/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-3d.snap.png b/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-3d.snap.png
index 8035564c..ce1f9bac 100644
Binary files a/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-3d.snap.png and b/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-pcb.snap.svg b/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-pcb.snap.svg
index 5128ea3f..53865862 100644
--- a/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Current-Sensor-Breakout-ACS723/__snapshots__/SparkFun-Current-Sensor-Breakout-ACS723.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-DeadOn-RTC-Breakout-DS3234/__snapshots__/SparkFun-DeadOn-RTC-Breakout-DS3234.circuit-3d.snap.png b/boards/SparkFun-DeadOn-RTC-Breakout-DS3234/__snapshots__/SparkFun-DeadOn-RTC-Breakout-DS3234.circuit-3d.snap.png
index dd43c914..c311ec0a 100644
Binary files a/boards/SparkFun-DeadOn-RTC-Breakout-DS3234/__snapshots__/SparkFun-DeadOn-RTC-Breakout-DS3234.circuit-3d.snap.png and b/boards/SparkFun-DeadOn-RTC-Breakout-DS3234/__snapshots__/SparkFun-DeadOn-RTC-Breakout-DS3234.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-3d.snap.png b/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-3d.snap.png
index 30f5e7e3..4d8d1e30 100644
Binary files a/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-3d.snap.png and b/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-pcb.snap.svg b/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-pcb.snap.svg
index dec7a951..55652c30 100644
--- a/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102/__snapshots__/SparkFun-Digital-Temperature-Sensor-Breakout-TMP102.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-3d.snap.png b/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-3d.snap.png
index d3cc8ddc..262ec180 100644
Binary files a/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-3d.snap.png and b/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-pcb.snap.svg b/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-pcb.snap.svg
index 9d439e43..b4cc6b51 100644
--- a/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-pcb.snap.svg
+++ b/boards/SparkFun-ESLOV-to-Qwiic-Bridge/__snapshots__/SparkFun-ESLOV-to-Qwiic-Bridge.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-GPS-Breakout/__snapshots__/SparkFun-GPS-Breakout.circuit-3d.snap.png b/boards/SparkFun-GPS-Breakout/__snapshots__/SparkFun-GPS-Breakout.circuit-3d.snap.png
index 9226ed37..73d084f6 100644
Binary files a/boards/SparkFun-GPS-Breakout/__snapshots__/SparkFun-GPS-Breakout.circuit-3d.snap.png and b/boards/SparkFun-GPS-Breakout/__snapshots__/SparkFun-GPS-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-(Qwiic)/__snapshots__/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-Qwiic.circuit-3d.snap.png b/boards/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-(Qwiic)/__snapshots__/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-Qwiic.circuit-3d.snap.png
index 18a1ed94..38e2356c 100644
Binary files a/boards/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-(Qwiic)/__snapshots__/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-Qwiic.circuit-3d.snap.png and b/boards/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-(Qwiic)/__snapshots__/SparkFun-Grid-EYE-Infrared-Array-Breakout-AMG8833-Qwiic.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-3d.snap.png b/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-3d.snap.png
index 531dc150..f2e7e4db 100644
Binary files a/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-3d.snap.png and b/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-pcb.snap.svg
index 5937cb3d..348c5ba9 100644
--- a/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-HMC6343-Breakout/__snapshots__/SparkFun-HMC6343-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-3d.snap.png b/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-3d.snap.png
index 4ece8d56..9f1b388b 100644
Binary files a/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-3d.snap.png and b/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-pcb.snap.svg
index 200aee65..d97f3540 100644
--- a/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-HSTX-PTH-Breakout/__snapshots__/SparkFun-HSTX-PTH-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/DRV2605LDGST.tsx b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/DRV2605LDGST.tsx
index e7be60af..5fa271e0 100644
--- a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/DRV2605LDGST.tsx
+++ b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/DRV2605LDGST.tsx
@@ -161,7 +161,7 @@ export const DRV2605LDGST = (props: ChipProps) => {
cadModel={{
objUrl:
"https://modelcdn.tscircuit.com/easyeda_models/download?uuid=854098f5cce54b6caab82164a7d3deef&pn=C425927",
- rotationOffset: { x: 0, y: 0, z: 0 },
+ rotationOffset: { x: 0, y: 0, z: 90 },
positionOffset: { x: 0, y: 0, z: 0 },
}}
{...props}
diff --git a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-3d.snap.png b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-3d.snap.png
index c4f2cc6a..f7b8f06d 100644
Binary files a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-3d.snap.png and b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-pcb.snap.svg b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-pcb.snap.svg
index 34843930..e2a1285c 100644
--- a/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Haptic-Motor-Driver-DRV2605L/__snapshots__/SparkFun-Haptic-Motor-Driver-DRV2605L.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-3d.snap.png b/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-3d.snap.png
index dff7d350..e9843f1a 100644
Binary files a/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-3d.snap.png and b/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-pcb.snap.svg b/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-pcb.snap.svg
index 2ddce2e7..8d8ff2d6 100644
--- a/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-pcb.snap.svg
+++ b/boards/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-Qwiic/__snapshots__/SparkFun-Human-Presence-and-Motion-Sensor-STHS34PF80-(Qwiic).circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-3d.snap.png b/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-3d.snap.png
index c47fc86d..c2512518 100644
Binary files a/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-3d.snap.png and b/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-pcb.snap.svg b/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-pcb.snap.svg
index eddaa5cb..75a3bdd7 100644
--- a/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130/__snapshots__/SparkFun-Humidity-Temperature-Sensor-Breakout-HIH6130.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-3d.snap.png b/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-3d.snap.png
index 967b3ba6..26fa3552 100644
Binary files a/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-3d.snap.png and b/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-pcb.snap.svg b/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-pcb.snap.svg
index bfb02598..a30304c3 100644
--- a/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021/__snapshots__/SparkFun-Humidity-and-Temperature-Sensor-Breakout-Si7021.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-3d.snap.png b/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-3d.snap.png
index cf307246..93bbb633 100644
Binary files a/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-3d.snap.png and b/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-pcb.snap.svg b/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-pcb.snap.svg
index e1674b52..c998c968 100644
--- a/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-pcb.snap.svg
+++ b/boards/SparkFun-I2C-DAC-Breakout-MCP4725/__snapshots__/SparkFun I2C DAC Breakout - MCP4725.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-3d.snap.png b/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-3d.snap.png
index dfdf080e..9da2cd3d 100644
Binary files a/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-3d.snap.png and b/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-pcb.snap.svg b/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-pcb.snap.svg
index ab0e55d0..110b8b5d 100644
--- a/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-pcb.snap.svg
+++ b/boards/SparkFun-I2S-Audio-Breakout-MAX98357A/__snapshots__/SparkFun-I2S-Audio-Breakout-MAX98357A.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-3d.snap.png b/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-3d.snap.png
index 859d6d24..62f23c31 100644
Binary files a/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-3d.snap.png and b/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-pcb.snap.svg b/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-pcb.snap.svg
index 13d9f24c..5798a7be 100644
--- a/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-pcb.snap.svg
+++ b/boards/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-110Degree-FOV-MLX90640.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-3d.snap.png b/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-3d.snap.png
index 43dfb25b..dcf8225d 100644
Binary files a/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-3d.snap.png and b/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-pcb.snap.svg b/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-pcb.snap.svg
index 301d91de..de59d63c 100644
--- a/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-pcb.snap.svg
+++ b/boards/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640/__snapshots__/SparkFun-IR-Array-Breakout-55Degree-FOV-MLX90640.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Level-Shifter-8-Channel-TXS0108E/__snapshots__/SparkFun-Level-Shifter-8-Channel-TXS0108E.circuit-3d.snap.png b/boards/SparkFun-Level-Shifter-8-Channel-TXS0108E/__snapshots__/SparkFun-Level-Shifter-8-Channel-TXS0108E.circuit-3d.snap.png
index 2922864e..8d6524ce 100644
Binary files a/boards/SparkFun-Level-Shifter-8-Channel-TXS0108E/__snapshots__/SparkFun-Level-Shifter-8-Channel-TXS0108E.circuit-3d.snap.png and b/boards/SparkFun-Level-Shifter-8-Channel-TXS0108E/__snapshots__/SparkFun-Level-Shifter-8-Channel-TXS0108E.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-3d.snap.png b/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-3d.snap.png
index ac8130ad..efc25ccd 100644
Binary files a/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-3d.snap.png and b/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-pcb.snap.svg b/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-pcb.snap.svg
index 2a0ab06e..d626cad9 100644
--- a/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Level-Translator-Breakout-PCA9306/__snapshots__/SparkFun-Level-Translator-Breakout-PCA9306.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-3d.snap.png b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-3d.snap.png
index f6586aa5..2cd29701 100644
Binary files a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-3d.snap.png and b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-pcb.snap.svg b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-pcb.snap.svg
index 9db19083..da314d4b 100644
--- a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Analog/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Analog.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-3d.snap.png b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-3d.snap.png
index b4700dda..ceab890a 100644
Binary files a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-3d.snap.png and b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-pcb.snap.svg b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-pcb.snap.svg
index cd781d94..2c5cafd0 100644
--- a/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Line-Sensor-Breakout-QRE1113-Digital/__snapshots__/SparkFun-Line-Sensor-Breakout-QRE1113-Digital.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/README.md b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/README.md
new file mode 100644
index 00000000..36e6fb83
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/README.md
@@ -0,0 +1,5 @@
+# SparkFun Linear 3D Hall-Effect Sensor - TMAG5273 (Qwiic)
+
+For more information about this board, visit the official SparkFun product page:
+
+[https://www.sparkfun.com/sparkfun-linear-3d-hall-effect-sensor-tmag5273-qwiic.html](https://www.sparkfun.com/sparkfun-linear-3d-hall-effect-sensor-tmag5273-qwiic.html)
\ No newline at end of file
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/SparkFun-Linear-3d-Hall-Effect.circuit.tsx b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/SparkFun-Linear-3d-Hall-Effect.circuit.tsx
new file mode 100644
index 00000000..f7e3f9e5
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/SparkFun-Linear-3d-Hall-Effect.circuit.tsx
@@ -0,0 +1,603 @@
+import { sel } from "@tscircuit/core"
+import { TMAG5273 } from "./TMAG5273"
+import { jstsh4_vert_1mm } from "./jumper-footprint"
+import { mosfetFootprint } from "./mosfet-footprint"
+
+const jumperPinLabels = {
+ pin1: "GND",
+ pin2: "VCC",
+ pin3: "SDA",
+ pin4: "SCL",
+}
+
+export default () => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+)
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/TMAG5273.tsx b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/TMAG5273.tsx
new file mode 100644
index 00000000..97c01df5
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/TMAG5273.tsx
@@ -0,0 +1,93 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["SCL"],
+ pin2: ["GND"],
+ pin3: ["TEST"],
+ pin4: ["VCC"],
+ pin5: ["N_INT"],
+ pin6: ["SDA"],
+} as const
+
+export const TMAG5273 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=229b69761e2c45dba6a83d8866dec72d&pn=C3716049",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 0, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/index.tsx b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/index.tsx
new file mode 100644
index 00000000..f6d7edfd
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/index.tsx
@@ -0,0 +1,3 @@
+import TMAG5273HallEffect from "./SparkFun-Linear-3d-Hall-Effect.circuit"
+
+export default TMAG5273HallEffect
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/jumper-footprint.tsx b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/jumper-footprint.tsx
new file mode 100644
index 00000000..a4174a4b
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/jumper-footprint.tsx
@@ -0,0 +1,52 @@
+export const jstsh4_vert_1mm = (
+
+
+
+
+
+
+
+
+)
diff --git a/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/mosfet-footprint.tsx b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/mosfet-footprint.tsx
new file mode 100644
index 00000000..4ff753d6
--- /dev/null
+++ b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/mosfet-footprint.tsx
@@ -0,0 +1,28 @@
+export const mosfetFootprint = (
+
+
+
+
+
+)
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/tscircuit.config.json b/boards/SparkFun-Linear-3D-Hall-Effect-Sensor/tscircuit.config.json
similarity index 100%
rename from boards/SparkFun-RedBot-Sensor-Line Follower/tscircuit.config.json
rename to boards/SparkFun-Linear-3D-Hall-Effect-Sensor/tscircuit.config.json
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/JST04_1MM_RA.tsx b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/JST04_1MM_RA.tsx
new file mode 100644
index 00000000..2db16d90
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/JST04_1MM_RA.tsx
@@ -0,0 +1,106 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["VDD"],
+ pin3: ["SDA"],
+ pin4: ["SCL"],
+} as const
+
+export const JST04_1MM_RA = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=96ff162c26934a308e7bbf01d083d593&pn=C160404",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: -1.5, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/README.md b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/README.md
new file mode 100644
index 00000000..bc9b976a
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/README.md
@@ -0,0 +1,5 @@
+# SparkFun Micro Proximity Sensor - 20cm, VCNL4040 (Qwiic)
+
+For more information about this board, visit the official SparkFun product page:
+
+[https://www.sparkfun.com/sparkfun-micro-proximity-sensor-20cm-vcnl4040-qwiic.html](https://www.sparkfun.com/sparkfun-micro-proximity-sensor-20cm-vcnl4040-qwiic.html)
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit.tsx b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit.tsx
new file mode 100644
index 00000000..1015a567
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit.tsx
@@ -0,0 +1,355 @@
+import { sel } from "tscircuit"
+import { VCNL4040 } from "./VCNL4040"
+import { JST04_1MM_RA } from "./JST04_1MM_RA"
+
+const SectionTitle = ({
+ text,
+ schX,
+ schY,
+}: {
+ text: string
+ schX: number
+ schY: number
+}) => (
+
+)
+
+export default () => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+)
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/VCNL4040.tsx b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/VCNL4040.tsx
new file mode 100644
index 00000000..3004faa2
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/VCNL4040.tsx
@@ -0,0 +1,124 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["GND"],
+ pin2: ["CATHODE_SEN"],
+ pin3: ["VDD"],
+ pin4: ["ANODE"],
+ pin5: ["CATHODE_LED"],
+ pin6: ["N_INT"],
+ pin7: ["SDA"],
+ pin8: ["SCL"],
+} as const
+
+export const VCNL4040 = (props: ChipProps) => (
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=263d838dce3c462a9139718e05588e07&pn=C142526",
+ rotationOffset: { x: 0, y: 0, z: 90 },
+ positionOffset: { x: 0, y: 0, z: 0 },
+ }}
+ {...props}
+ />
+)
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-3d.snap.png b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-3d.snap.png
new file mode 100644
index 00000000..0bd2d0cb
Binary files /dev/null and b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg
new file mode 100644
index 00000000..64a4b16c
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-schematic.snap.svg b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-schematic.snap.svg
new file mode 100644
index 00000000..bc0b3e64
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit-schematic.snap.svg
@@ -0,0 +1,84 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/index.tsx b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/index.tsx
new file mode 100644
index 00000000..4996221c
--- /dev/null
+++ b/boards/SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-(Qwiic)/index.tsx
@@ -0,0 +1,3 @@
+import SparkFunMicroProximitySensor20cmVCNL4040Qwiic from "./SparkFun-Micro-Proximity-Sensor-20cm-VCNL4040-Qwiic.circuit"
+
+export default SparkFunMicroProximitySensor20cmVCNL4040Qwiic
diff --git a/boards/SparkFun-Mini-Linear-3D-Hall-Effect-Sensor/__snapshots__/SparkFun-Mini-Linear-3d-Hall-Effect.circuit-3d.snap.png b/boards/SparkFun-Mini-Linear-3D-Hall-Effect-Sensor/__snapshots__/SparkFun-Mini-Linear-3d-Hall-Effect.circuit-3d.snap.png
index cde9a30d..889705f6 100644
Binary files a/boards/SparkFun-Mini-Linear-3D-Hall-Effect-Sensor/__snapshots__/SparkFun-Mini-Linear-3d-Hall-Effect.circuit-3d.snap.png and b/boards/SparkFun-Mini-Linear-3D-Hall-Effect-Sensor/__snapshots__/SparkFun-Mini-Linear-3d-Hall-Effect.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051/__snapshots__/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051.circuit-3d.snap.png b/boards/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051/__snapshots__/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051.circuit-3d.snap.png
index 72599a39..2001e6c9 100644
Binary files a/boards/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051/__snapshots__/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051.circuit-3d.snap.png and b/boards/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051/__snapshots__/SparkFun-Multiplexer-Breakout-8-Channel-74HC4051.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-3d.snap.png b/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-3d.snap.png
index 702a1118..5a64a872 100644
Binary files a/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-3d.snap.png and b/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-pcb.snap.svg b/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-pcb.snap.svg
index fd7a900f..bb82294a 100644
--- a/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F/__snapshots__/SparkFun-Photo-Interrupter-Breakout-Board-GP1A57HRJ00F.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-3d.snap.png b/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-3d.snap.png
index e47870d1..f07c42c6 100644
Binary files a/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-3d.snap.png and b/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-pcb.snap.svg b/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-pcb.snap.svg
index 112ecc1b..8558bd0d 100644
--- a/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA/__snapshots__/SparkFun-Pressure-Sensor-Breakout-MS5803-14BA.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-3d.snap.png b/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-3d.snap.png
index c136eb18..e7f598a5 100644
Binary files a/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-3d.snap.png and b/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg b/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg
index ed560125..e6b71a40 100644
--- a/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-(Qwiic)/__snapshots__/SparkFun-Proximity-Sensor-Breakout-20cm-VCNL4040-Qwiic.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-3d.snap.png b/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-3d.snap.png
index b39fee6a..5c100df8 100644
Binary files a/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-pcb.snap.svg b/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-pcb.snap.svg
index 9513f03c..984028d5 100644
--- a/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Qwiic-Adapter/__snapshots__/SparkFun-Qwiic-Adapter.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820.circuit-3d.snap.png b/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820.circuit-3d.snap.png
index aa56c449..03470493 100644
Binary files a/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8820.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821.circuit-3d.snap.png b/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821.circuit-3d.snap.png
index aa56c449..03470493 100644
Binary files a/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-Mini-dToF-Imager-TMF8821.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-MultiPort/__snapshots__/SparkFun-Qwiic-MultiPort.circuit-3d.snap.png b/boards/SparkFun-Qwiic-MultiPort/__snapshots__/SparkFun-Qwiic-MultiPort.circuit-3d.snap.png
index cfd584bd..fa1dc30c 100644
Binary files a/boards/SparkFun-Qwiic-MultiPort/__snapshots__/SparkFun-Qwiic-MultiPort.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-MultiPort/__snapshots__/SparkFun-Qwiic-MultiPort.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-ToF-Imager-VL53L5CX/__snapshots__/SparkFun-Qwiic-ToF-Imager.circuit-3d.snap.png b/boards/SparkFun-Qwiic-ToF-Imager-VL53L5CX/__snapshots__/SparkFun-Qwiic-ToF-Imager.circuit-3d.snap.png
index 1c09f069..3fab85c7 100644
Binary files a/boards/SparkFun-Qwiic-ToF-Imager-VL53L5CX/__snapshots__/SparkFun-Qwiic-ToF-Imager.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-ToF-Imager-VL53L5CX/__snapshots__/SparkFun-Qwiic-ToF-Imager.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8820.circuit-3d.snap.png b/boards/SparkFun-Qwiic-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8820.circuit-3d.snap.png
index d8d66195..caa43fba 100644
Binary files a/boards/SparkFun-Qwiic-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8820.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-dToF-Imager-TMF8820/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8820.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Qwiic-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8821.circuit-3d.snap.png b/boards/SparkFun-Qwiic-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8821.circuit-3d.snap.png
index f082e17f..54ba265b 100644
Binary files a/boards/SparkFun-Qwiic-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8821.circuit-3d.snap.png and b/boards/SparkFun-Qwiic-dToF-Imager-TMF8821/__snapshots__/SparkFun-Qwiic-dToF-Imager-TMF8821.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-3d.snap.png b/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-3d.snap.png
index 2da8e3f5..fbc8e13e 100644
Binary files a/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-3d.snap.png and b/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-pcb.snap.svg
index 951427cd..4099df23 100644
--- a/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-RFID-Reader-Breakout/__snapshots__/SparkFun-RFID-Reader-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-RFM69-Breakout-915MHz/__snapshots__/SparkFun-RFM69-Breakout.circuit-3d.snap.png b/boards/SparkFun-RFM69-Breakout-915MHz/__snapshots__/SparkFun-RFM69-Breakout.circuit-3d.snap.png
index 35a290a2..f0b52d6a 100644
Binary files a/boards/SparkFun-RFM69-Breakout-915MHz/__snapshots__/SparkFun-RFM69-Breakout.circuit-3d.snap.png and b/boards/SparkFun-RFM69-Breakout-915MHz/__snapshots__/SparkFun-RFM69-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-3d.snap.png b/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-3d.snap.png
index 4886e48e..08ba448a 100644
Binary files a/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-3d.snap.png and b/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-pcb.snap.svg b/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-pcb.snap.svg
index 6becb202..42ef4dee 100644
--- a/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-pcb.snap.svg
+++ b/boards/SparkFun-RGB-LED-Breakout-WS2812B/__snapshots__/SparkFun-RGB-LED-Breakout-WS2812B.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-3d.snap.png b/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-3d.snap.png
index c1e6fca9..ca8bcefd 100644
Binary files a/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-3d.snap.png and b/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-pcb.snap.svg b/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-pcb.snap.svg
index c866b540..63b884a8 100644
--- a/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-pcb.snap.svg
+++ b/boards/SparkFun-RGB-Light-Sensor-ISL29125/__snapshots__/SparkFun-RGB-Light-Sensor-ISL29125.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-3d.snap.png b/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-3d.snap.png
deleted file mode 100644
index 0a61b9f8..00000000
Binary files a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-3d.snap.png and /dev/null differ
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-pcb.snap.svg b/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-pcb.snap.svg
deleted file mode 100644
index 13d46858..00000000
--- a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-pcb.snap.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-schematic.snap.svg b/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-schematic.snap.svg
deleted file mode 100644
index 2a9992d9..00000000
--- a/boards/SparkFun-RedBot-Sensor-Line Follower/__snapshots__/SparkFun-RedBot-Sensor-Line Follower.circuit-schematic.snap.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-
\ No newline at end of file
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/footprints.tsx b/boards/SparkFun-RedBot-Sensor-Line Follower/footprints.tsx
deleted file mode 100644
index ca9234a1..00000000
--- a/boards/SparkFun-RedBot-Sensor-Line Follower/footprints.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-export const JP1_FOOTPRINT = (
-
-
-
-
-
-)
-
-export const U1_FOOTPRINT = (
-
-
-
-
-
-
-)
-
-export const R_FOOTPRINT = (
-
-
-
-
-)
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/index.tsx b/boards/SparkFun-RedBot-Sensor-Line Follower/index.tsx
deleted file mode 100644
index 8ad9bd42..00000000
--- a/boards/SparkFun-RedBot-Sensor-Line Follower/index.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-import REDBOTSENSOR from "./SparkFun-RedBot-Sensor-Line Follower.circuit"
-
-export default REDBOTSENSOR
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/ C232862.tsx b/boards/SparkFun-RedBot-Sensor-Line-Follower/ C232862.tsx
new file mode 100644
index 00000000..3cb7081b
--- /dev/null
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/ C232862.tsx
@@ -0,0 +1,92 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["pin1"],
+ pin2: ["pin2"],
+ pin3: ["pin3"],
+ pin4: ["pin4"],
+} as const
+
+export const QRE1113GR = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=bea63151d7814fd59377ff1bdb0cacb7&pn=C232862",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 0, z: -0.5000482000001056 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/README.md b/boards/SparkFun-RedBot-Sensor-Line-Follower/README.md
similarity index 100%
rename from boards/SparkFun-RedBot-Sensor-Line Follower/README.md
rename to boards/SparkFun-RedBot-Sensor-Line-Follower/README.md
diff --git a/boards/SparkFun-RedBot-Sensor-Line Follower/SparkFun-RedBot-Sensor-Line Follower.circuit.tsx b/boards/SparkFun-RedBot-Sensor-Line-Follower/SparkFun-RedBot-Sensor-Line-Follower.circuit.tsx
similarity index 90%
rename from boards/SparkFun-RedBot-Sensor-Line Follower/SparkFun-RedBot-Sensor-Line Follower.circuit.tsx
rename to boards/SparkFun-RedBot-Sensor-Line-Follower/SparkFun-RedBot-Sensor-Line-Follower.circuit.tsx
index b722302c..b2799bcd 100644
--- a/boards/SparkFun-RedBot-Sensor-Line Follower/SparkFun-RedBot-Sensor-Line Follower.circuit.tsx
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/SparkFun-RedBot-Sensor-Line-Follower.circuit.tsx
@@ -1,11 +1,10 @@
import { sel } from "@tscircuit/core"
-import { JP1_FOOTPRINT, U1_FOOTPRINT, R_FOOTPRINT } from "./footprints"
+import { QRE1113GR } from "./ C232862"
export default () => (
(
connections={{
pin3: sel.R2.pin1,
}}
- pcbY={-0.97}
- pcbRotation={180}
+ pcbY={-7.62}
layer="bottom"
/>
(
schRotation={90}
schX={2.3}
schY={1}
- footprint={R_FOOTPRINT}
+ footprint={"0603"}
pcbX={-1.27}
pcbY={5.715}
pcbRotation={270}
@@ -97,13 +95,13 @@ export default () => (
schRotation={90}
schX={3.3}
schY={1}
- footprint={R_FOOTPRINT}
+ footprint={"0603"}
pcbX={1.27}
pcbY={5.715}
pcbRotation={270}
/>
- (
pin1: sel.R1.pin1,
pin3: sel.R2.pin1,
}}
- footprint={U1_FOOTPRINT}
schX={2.6}
schY={-0.74}
pcbY={9.525}
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-3d.snap.png b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-3d.snap.png
new file mode 100644
index 00000000..fc03c842
Binary files /dev/null and b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-pcb.snap.svg b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-pcb.snap.svg
new file mode 100644
index 00000000..d606cb7b
--- /dev/null
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-pcb.snap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-schematic.snap.svg b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-schematic.snap.svg
new file mode 100644
index 00000000..fa8498e5
--- /dev/null
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/__snapshots__/SparkFun-RedBot-Sensor-Line-Follower.circuit-schematic.snap.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/index.tsx b/boards/SparkFun-RedBot-Sensor-Line-Follower/index.tsx
new file mode 100644
index 00000000..0dbe99f0
--- /dev/null
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/index.tsx
@@ -0,0 +1,3 @@
+import REDBOTSENSOR from "./SparkFun-RedBot-Sensor-Line-Follower.circuit"
+
+export default REDBOTSENSOR
diff --git a/boards/SparkFun-RedBot-Sensor-Line-Follower/tscircuit.config.json b/boards/SparkFun-RedBot-Sensor-Line-Follower/tscircuit.config.json
new file mode 100644
index 00000000..1ccfd369
--- /dev/null
+++ b/boards/SparkFun-RedBot-Sensor-Line-Follower/tscircuit.config.json
@@ -0,0 +1,3 @@
+{
+ "mainEntrypoint": "index.tsx"
+}
diff --git a/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-3d.snap.png b/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-3d.snap.png
index de82859b..2682de38 100644
Binary files a/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-3d.snap.png and b/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-pcb.snap.svg
index aeb488b5..c7273023 100644
--- a/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Roller-Encoder-Breakout/__snapshots__/SparkFun-Roller-Encoder-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-3d.snap.png b/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-3d.snap.png
index e583cfd7..279c181b 100644
Binary files a/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-3d.snap.png and b/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-pcb.snap.svg
index e717bb87..e5a778ed 100644
--- a/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SD-Card-Breakout/__snapshots__/SparkFun-SD-Card-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-3d.snap.png b/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-3d.snap.png
index 690793a7..0bb6f28f 100644
Binary files a/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-3d.snap.png and b/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-pcb.snap.svg
index 48cf94bc..27ce7081 100644
--- a/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SIM-Card-Socket-Breakout/__snapshots__/SparkFun-SIM-Card-Socket-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-3d.snap.png b/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-3d.snap.png
index f0a885c8..41b1d118 100644
Binary files a/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-3d.snap.png and b/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-pcb.snap.svg b/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-pcb.snap.svg
index 15542819..e4994d00 100644
--- a/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SOIC-to-DIP-Adapter-20-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-20-Pin.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SOIC-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-28-Pin.circuit-3d.snap.png b/boards/SparkFun-SOIC-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-28-Pin.circuit-3d.snap.png
index afc2eda7..5793285b 100644
Binary files a/boards/SparkFun-SOIC-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-28-Pin.circuit-3d.snap.png and b/boards/SparkFun-SOIC-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-28-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-3d.snap.png b/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-3d.snap.png
index 2a754cd4..4d7eb96c 100644
Binary files a/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-3d.snap.png and b/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-pcb.snap.svg b/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-pcb.snap.svg
index 9105fcff..817778e7 100644
--- a/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SOIC-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SOIC-to-DIP-Adapter-8-Pin.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-3d.snap.png b/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-3d.snap.png
index fa5440b4..37ce4be2 100644
Binary files a/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-3d.snap.png and b/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-pcb.snap.svg b/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-pcb.snap.svg
index 7a968b8c..5176d79b 100644
--- a/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SOT23-DIP-Adapter-v10/__snapshots__/SparkFun-SOT23-DIP-Adapter-v10.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.diff.png b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.diff.png
index 4b6dff46..336b4c84 100644
Binary files a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.diff.png and b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.diff.png differ
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.snap.png b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.snap.png
index d57f2c39..9c1ecdc7 100644
Binary files a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.snap.png and b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-pcb.snap.svg b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-pcb.snap.svg
index 1b9be7cd..05caedaf 100644
--- a/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SSOP-to-DIP-Adapter-16-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-16-Pin.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-3d.snap.png b/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-3d.snap.png
index 10dc9f31..7cca5c51 100644
Binary files a/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-3d.snap.png and b/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-pcb.snap.svg b/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-pcb.snap.svg
index 61682174..de880d67 100644
--- a/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SSOP-to-DIP-Adapter-28-Pin/__snapshots__/SparkFun-SSOP-to-DIP-Adapter-28-Pin.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-3d.snap.png b/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-3d.snap.png
index b98c7310..ae550595 100644
Binary files a/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-3d.snap.png and b/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-pcb.snap.svg b/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-pcb.snap.svg
index 064fda04..2e132fbe 100644
--- a/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-pcb.snap.svg
+++ b/boards/SparkFun-SSOP-to-DIP-Adapter-8-Pin/__snapshots__/SparkFun-SSOP-to-DIPAdapter-8-Pin.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-3d.snap.png b/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-3d.snap.png
index bdfcba93..4fc0fd19 100644
Binary files a/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-3d.snap.png and b/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-pcb.snap.svg b/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-pcb.snap.svg
index 8b9c163d..3e3a2232 100644
--- a/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit/__snapshots__/SparkFun-Serial-Flash-Breakout-Assembled-128Mbit.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/74HC595.tsx b/boards/SparkFun-Shift-Register-Breakout-74HC595/74HC595.tsx
new file mode 100644
index 00000000..0f8841b4
--- /dev/null
+++ b/boards/SparkFun-Shift-Register-Breakout-74HC595/74HC595.tsx
@@ -0,0 +1,180 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["QB"],
+ pin2: ["QC"],
+ pin3: ["QD"],
+ pin4: ["QE"],
+ pin5: ["QF"],
+ pin6: ["QG"],
+ pin7: ["QH"],
+ pin8: ["GND"],
+ pin9: ["QHS"],
+ pin10: ["SCL"],
+ pin11: ["SCK"],
+ pin12: ["RCK"],
+ pin13: ["G"],
+ pin14: ["SER"],
+ pin15: ["QA"],
+ pin16: ["VCC"],
+} as const
+
+export const A_74HC595D_118 = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=9adfdf34b7774b23880141fd3e8b4dbb&pn=C5947",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 0, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/README.md b/boards/SparkFun-Shift-Register-Breakout-74HC595/README.md
new file mode 100644
index 00000000..662def8d
--- /dev/null
+++ b/boards/SparkFun-Shift-Register-Breakout-74HC595/README.md
@@ -0,0 +1,5 @@
+# SparkFun Shift Register Breakout - 74HC595
+
+For more information about this board, visit the official SparkFun product page:
+
+[https://www.sparkfun.com/sparkfun-shift-register-breakout-74hc595.html](https://www.sparkfun.com/sparkfun-shift-register-breakout-74hc595.html)
\ No newline at end of file
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/SparkFun-Shift-Register-Breakout-74HC595.circuit.tsx b/boards/SparkFun-Shift-Register-Breakout-74HC595/SparkFun-Shift-Register-Breakout-74HC595.circuit.tsx
new file mode 100644
index 00000000..07b2dd74
--- /dev/null
+++ b/boards/SparkFun-Shift-Register-Breakout-74HC595/SparkFun-Shift-Register-Breakout-74HC595.circuit.tsx
@@ -0,0 +1,158 @@
+import { sel } from "@tscircuit/core"
+import { A_74HC595D_118 } from "./74HC595"
+
+export default () => {
+ return (
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-3d.snap.png b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-3d.snap.png
new file mode 100644
index 00000000..dfbb6148
Binary files /dev/null and b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-pcb.snap.svg b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-pcb.snap.svg
new file mode 100644
index 00000000..f68c04d9
--- /dev/null
+++ b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-pcb.snap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-schematic.snap.svg b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-schematic.snap.svg
new file mode 100644
index 00000000..7511e6ec
--- /dev/null
+++ b/boards/SparkFun-Shift-Register-Breakout-74HC595/__snapshots__/SparkFun-Shift-Register-Breakout-74HC595.circuit-schematic.snap.svg
@@ -0,0 +1,194 @@
+
\ No newline at end of file
diff --git a/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-3d.snap.png b/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-3d.snap.png
index edd36f84..992ee624 100644
Binary files a/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-3d.snap.png and b/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-pcb.snap.svg b/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-pcb.snap.svg
index 6747ff7a..bd0408b4 100644
--- a/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Solderable-Breadboard-Mini/__snapshots__/SparkFun-Solderable-Breadboard-Mini.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-3d.snap.png b/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-3d.snap.png
index 457c833d..1246baec 100644
Binary files a/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-3d.snap.png and b/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-pcb.snap.svg b/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-pcb.snap.svg
index d54178c9..292c12bd 100644
--- a/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-pcb.snap.svg
+++ b/boards/SparkFun-ToF-Range-Finder-Breakout-VL6180/__snapshots__/SparkFun-ToF-Range-Finder-Breakout-VL6180.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-3d.snap.png b/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-3d.snap.png
index 7108979a..1fb0b508 100644
Binary files a/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-3d.snap.png and b/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-pcb.snap.svg b/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-pcb.snap.svg
index deb9183f..49e734dc 100644
--- a/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Transceiver-Breakout-MAX3232/__snapshots__/SparkFun-Transceiver-Breakout-MAX3232.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-3d.snap.png b/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-3d.snap.png
index 491899a8..b83034e8 100644
Binary files a/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-3d.snap.png and b/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-pcb.snap.svg b/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-pcb.snap.svg
index 7163df8e..7979a957 100644
--- a/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Transceiver-Breakout-RS-485/__snapshots__/SparkFun-Transceiver-Breakout -RS-485.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335.circuit-3d.snap.png
index 937bbe16..910e79f1 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL335.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-3d.snap.png
index 9f410d4f..ce7686df 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-pcb.snap.svg b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-pcb.snap.svg
index b2d89fd5..fe5aeabb 100644
--- a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL345.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-3d.snap.png
index 9852b368..a81b8c41 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-pcb.snap.svg b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-pcb.snap.svg
index 60fe84aa..ebcbe23a 100644
--- a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-ADXL362.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-3d.snap.png
index 56bd54e5..c37ab413 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-pcb.snap.svg b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-pcb.snap.svg
index 60af679f..401ec65c 100644
--- a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-pcb.snap.svg
+++ b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers)/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH-(with Headers).circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-3d.snap.png
index 18671927..ebc47ae4 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-pcb.snap.svg b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-pcb.snap.svg
index 60af679f..401ec65c 100644
--- a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-LIS3DH.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic.circuit-3d.snap.png
index 62468a84..5331ddfa 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-Qwiic.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-With-Headers/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-With-Headers/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png
index 0795c117..bd09467e 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-With-Headers/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q-With-Headers/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png
index d85d7b13..9bea425c 100644
Binary files a/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png and b/boards/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q/__snapshots__/SparkFun-Triple-Axis-Accelerometer-Breakout-MMA8452Q.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic/__snapshots__/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic.circuit-3d.snap.png b/boards/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic/__snapshots__/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic.circuit-3d.snap.png
index 7cfb5f0f..350ba2fc 100644
Binary files a/boards/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic/__snapshots__/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic.circuit-3d.snap.png and b/boards/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic/__snapshots__/SparkFun-Tristimulus-Color-Sensor-OPT4048DTSR-Qwiic.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-3d.snap.png b/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-3d.snap.png
index dc5beeaf..2e3d4be4 100644
Binary files a/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-3d.snap.png and b/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-pcb.snap.svg b/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-pcb.snap.svg
index 81e77478..4a907432 100644
--- a/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-pcb.snap.svg
+++ b/boards/SparkFun-USB-C-Breakout-Horizontal-with-headers/__snapshots__/SparkFun-USB-C-Breakout-Horizontal-with-headers.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-3d.snap.png b/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-3d.snap.png
index 41eeedb8..fcac7774 100644
Binary files a/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-3d.snap.png and b/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-pcb.snap.svg b/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-pcb.snap.svg
index 81e77478..4a907432 100644
--- a/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-pcb.snap.svg
+++ b/boards/SparkFun-USB-C-Breakout-Horizontal/__snapshots__/SparkFun-USB-C-Breakout-Horizontal.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-3d.snap.png b/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-3d.snap.png
index 33978904..867f51c3 100644
Binary files a/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-3d.snap.png and b/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-pcb.snap.svg b/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-pcb.snap.svg
index 2230218b..c993d33c 100644
--- a/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-pcb.snap.svg
+++ b/boards/SparkFun-USB-C-Breakout-Vertical/__snapshots__/SparkFun-USB-C-Breakout-Vertical.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-3d.snap.png b/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-3d.snap.png
index b823dde1..9b209e12 100644
Binary files a/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-3d.snap.png and b/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-pcb.snap.svg
index 6cbf23cb..aa2c8736 100644
--- a/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-USB-Type-A-Female-Breakout/__snapshots__/SparkFun-USB-Type-A-Female-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-USB-to-Serial-Breakout-FT232RL/__snapshots__/SparkFun-USB-to-Serial-Breakout-FT232RL.circuit-3d.snap.png b/boards/SparkFun-USB-to-Serial-Breakout-FT232RL/__snapshots__/SparkFun-USB-to-Serial-Breakout-FT232RL.circuit-3d.snap.png
index 2322d31b..4ec8f3dc 100644
Binary files a/boards/SparkFun-USB-to-Serial-Breakout-FT232RL/__snapshots__/SparkFun-USB-to-Serial-Breakout-FT232RL.circuit-3d.snap.png and b/boards/SparkFun-USB-to-Serial-Breakout-FT232RL/__snapshots__/SparkFun-USB-to-Serial-Breakout-FT232RL.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit.tsx b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit.tsx
index 5286a69b..ad832ef9 100644
--- a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit.tsx
+++ b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit.tsx
@@ -1,5 +1,5 @@
import { sel } from "@tscircuit/core"
-import { TXB0104 } from "./TXB0104"
+import { TXB0104D } from "./TXB0104D"
export default () => (
@@ -12,7 +12,7 @@ export default () => (
/>
- ) => {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- {...props}
- />
- )
-}
diff --git a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/TXB0104D.tsx b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/TXB0104D.tsx
new file mode 100644
index 00000000..96074e19
--- /dev/null
+++ b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/TXB0104D.tsx
@@ -0,0 +1,162 @@
+import type { ChipProps } from "@tscircuit/props"
+
+const pinLabels = {
+ pin1: ["VCCA"],
+ pin2: ["A1"],
+ pin3: ["A2"],
+ pin4: ["A3"],
+ pin5: ["A4"],
+ pin6: ["NC1"],
+ pin7: ["GND"],
+ pin8: ["OE"],
+ pin9: ["NC2"],
+ pin10: ["B4"],
+ pin11: ["B3"],
+ pin12: ["B2"],
+ pin13: ["B1"],
+ pin14: ["VCCB"],
+} as const
+
+export const TXB0104D = (props: ChipProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ cadModel={{
+ objUrl:
+ "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=265efcdb862f47cf9eef6843d570fde7&pn=C1549752",
+ rotationOffset: { x: 0, y: 0, z: 0 },
+ positionOffset: { x: 0, y: 0.000025400000140507473, z: 0 },
+ }}
+ {...props}
+ />
+ )
+}
diff --git a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-3d.snap.png b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-3d.snap.png
index b4e17c4f..bc854d27 100644
Binary files a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-3d.snap.png and b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-pcb.snap.svg b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-pcb.snap.svg
index 1a546e15..9302fe8f 100644
--- a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-pcb.snap.svg
+++ b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-schematic.snap.svg b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-schematic.snap.svg
index 441572e0..a4cb64e8 100644
--- a/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-schematic.snap.svg
+++ b/boards/SparkFun-Voltage-Level-Translator-Breakout-TXB0104/__snapshots__/SparkFun-Voltage-Level-Translator-Breakout-TXB0104.circuit-schematic.snap.svg
@@ -1,78 +1,78 @@
-
\ No newline at end of file
diff --git a/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-3d.snap.png b/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-3d.snap.png
index 042b0e60..3d3678bf 100644
Binary files a/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-3d.snap.png and b/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-3d.snap.png differ
diff --git a/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-pcb.snap.svg b/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-pcb.snap.svg
index db34499a..72ae8b68 100644
--- a/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-pcb.snap.svg
+++ b/boards/SparkFun-microB-USB-Breakout/__snapshots__/SparkFun-microB-USB-Breakout.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/bun.lock b/bun.lock
index 5ea2fc1f..66bfddc2 100644
--- a/bun.lock
+++ b/bun.lock
@@ -5,11 +5,11 @@
"": {
"name": "sparkfun-boards",
"dependencies": {
- "tscircuit": "^0.0.896",
+ "tscircuit": "^0.0.1275",
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
- "@tscircuit/props": "^0.0.402",
+ "@tscircuit/props": "^0.0.470",
"@types/bun": "latest",
},
"peerDependencies": {
@@ -146,25 +146,29 @@
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.2", "", { "os": "win32", "cpu": "x64" }, "sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA=="],
- "@tscircuit/capacity-autorouter": ["@tscircuit/capacity-autorouter@0.0.140", "", { "dependencies": { "fast-json-stable-stringify": "^2.1.0", "object-hash": "^3.0.0" } }, "sha512-WKkcVDobcbnIEeQ0R/sjaao6x6cwn1jlGoC8l7jdziJdSlhbV6GI84xqFzbuOXm+GKLFFjHDrL08kGcebAWShA=="],
+ "@thednp/dommatrix": ["@thednp/dommatrix@2.0.12", "", {}, "sha512-eOshhlSShBXLfrMQqqhA450TppJXhKriaQdN43mmniOCMn9sD60QKF1Axsj7bKl339WH058LuGFS6H84njYH5w=="],
- "@tscircuit/checks": ["@tscircuit/checks@0.0.85", "", { "peerDependencies": { "@flatten-js/core": "*", "@tscircuit/math-utils": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "typescript": "^5.5.3" } }, "sha512-iJ54t3JV0g3Zoiuemck6Z1qgOx9xkWYddPU5sxy9dYRCOa+kfiyzfcsSEhNWPr3F1JzOo1MTR4LSnjzn+sLDAA=="],
+ "@tscircuit/alphabet": ["@tscircuit/alphabet@0.0.18", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-2MHTaVZtSXFConowdP82NOvq1U4HCnmPvDwf48AqfBWUykC3hEAW7MwITsQeEJJV1DK4iPnVRu6BJZxNWjTbCg=="],
+
+ "@tscircuit/capacity-autorouter": ["@tscircuit/capacity-autorouter@0.0.264", "", { "dependencies": { "bun-match-svg": "^0.0.14", "fast-json-stable-stringify": "^2.1.0", "object-hash": "^3.0.0" } }, "sha512-XUsiE0hkvwxYCXlytPstFidhaBRy+6whREot5SBpoo4OMwJkbKu3q1kfxuGnH6XJl633I/7rk7mnAIpMWgfjaQ=="],
+
+ "@tscircuit/checks": ["@tscircuit/checks@0.0.87", "", { "peerDependencies": { "@flatten-js/core": "*", "@tscircuit/math-utils": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "typescript": "^5.5.3" } }, "sha512-vg/dZd1nVBVKfiRKtQj0HmGkhJk+0FJL2v6MjOULQeXBLxcYu7G4PcWZg4kWRp76zky8JKgmgEzdM2C5+1UXBg=="],
"@tscircuit/circuit-json-flex": ["@tscircuit/circuit-json-flex@0.0.3", "", { "dependencies": { "@tscircuit/miniflex": "^0.0.3" }, "peerDependencies": { "tscircuit": "*", "typescript": "^5" } }, "sha512-8az7FWP8Y2THen5QYn62Ny2lNvdFeELuN3KPp1BVJ8yn5ClAVqnLh8WL/NMtde50629aus3zQTTvpqYfw1bRpg=="],
- "@tscircuit/circuit-json-util": ["@tscircuit/circuit-json-util@0.0.72", "", { "dependencies": { "parsel-js": "^1.1.2" }, "peerDependencies": { "circuit-json": "*", "transformation-matrix": "*", "zod": "3" } }, "sha512-8KqdPYz1Q+rYgPuP9VBBxusLgq0MmpVw4FjLORNHYr2qfWmM1m/1OQEokZHZZZLTUbfcn86zUOcv69+LqHa0FA=="],
+ "@tscircuit/circuit-json-util": ["@tscircuit/circuit-json-util@0.0.77", "", { "dependencies": { "parsel-js": "^1.1.2" }, "peerDependencies": { "circuit-json": "*", "transformation-matrix": "*", "zod": "3" } }, "sha512-9hXAQPRQXIBpvxtI16qGZo+Y8de4EBlB4NpYyH8tFU4pqpB1+ZMe0vepeQ098l0bT2htL1wiuke0K8GjoaGuLg=="],
- "@tscircuit/cli": ["@tscircuit/cli@0.1.487", "", { "peerDependencies": { "tscircuit": "*" }, "bin": { "tscircuit-cli": "cli/entrypoint.js" } }, "sha512-lRf5bEhDELodqPJ38nKJ7l2NdJ/hmDaYf7BSTejFgFwMHXjr+yBcJihcvoZFAAMhmAY2BcfX2CYAscJ5CdRmCw=="],
+ "@tscircuit/cli": ["@tscircuit/cli@0.1.891", "", { "peerDependencies": { "tscircuit": "*" }, "bin": { "tscircuit-cli": "cli/entrypoint.js" } }, "sha512-GNcZW2BdtX+LA8Y2doon20ZFCaoujXeDigUPre1DqnIl+2JEPTnz1U1WYDTBg/iGfbEO9upw6leWfKAwBtu8ew=="],
- "@tscircuit/copper-pour-solver": ["@tscircuit/copper-pour-solver@0.0.14", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-kOZfgMXo/jw6G+b3JilhdPYVnfBespChkA542GsLNzR79bB+tn/zdR8tfsqCr/qvHMPG34tELr/XrUhvNOagVw=="],
+ "@tscircuit/copper-pour-solver": ["@tscircuit/copper-pour-solver@0.0.20", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-RDhcDA5/fP/Oo2CdhoHTG2LHx+61vm01waeh8siyuuUTRlDMF7i84ep1gS5qfvNWWGpIrf5NrM79ecBDaU1AvQ=="],
- "@tscircuit/core": ["@tscircuit/core@0.0.862", "", { "dependencies": { "@flatten-js/core": "^1.6.2", "@lume/kiwi": "^0.4.3", "calculate-packing": "0.0.50", "css-select": "5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.32.0", "transformation-matrix": "^2.16.1", "zod": "^3.25.67" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/matchpack": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-autolayout": "*", "@tscircuit/schematic-match-adapt": "*", "bpc-graph": "*", "circuit-json": "*", "circuit-json-to-bpc": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-xMDv/mMRv11vT9BDE4k2oCkXOlQp86kqCdHNTuCCOyspL4sxt9lveGJRdEf5ZIO8WvH4KCG0c1qeXtwYcuke7g=="],
+ "@tscircuit/core": ["@tscircuit/core@0.0.1015", "", { "dependencies": { "@flatten-js/core": "^1.6.2", "@lume/kiwi": "^0.4.3", "calculate-packing": "0.0.68", "css-select": "5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.32.0", "svg-path-commander": "^2.1.11", "transformation-matrix": "^2.16.1", "zod": "^3.25.67" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/matchpack": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-match-adapt": "*", "bpc-graph": "*", "circuit-json": "*", "circuit-json-to-bpc": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-rYSlRFYSY7VshmopkTCUnIBvSmTwsfLZhQbRTzV1gxK3L5FXqJE8rza+eRJmnn88l7NvGchR7cHg/KdsGLQYfQ=="],
- "@tscircuit/eval": ["@tscircuit/eval@0.0.470", "", { "peerDependencies": { "@tscircuit/core": "*", "circuit-json": "*", "typescript": "^5.0.0", "zod": "3" } }, "sha512-l03ZO8HZSUVy7WF2fpz3HaPvLkeRUXRjthtBXnTW47+Yrbsp4+ecKQcfEUpJKTFSyx5x2dKTz087myFzo4vLDQ=="],
+ "@tscircuit/eval": ["@tscircuit/eval@0.0.625", "", { "peerDependencies": { "@tscircuit/core": "*", "circuit-json": "*", "typescript": "^5.0.0", "zod": "3" } }, "sha512-hUho27G90NUg4g+Aaz/YpGS8mBI38MYnVbrnuKDFFhZDD/pwFLf4hUBXtnYHBSZYc35FCFHZME/QUmdqHFFstQ=="],
- "@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.236", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "circuit-json": "*" } }, "sha512-SE03ZCNp9FxzSa3LdbQOMBHjT16Q86ZwN6iLu+RPsAbFrdE1RwtM7dv5lOb6lkh78mL3e7yyuyay+QrERiLcYQ=="],
+ "@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.288", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "circuit-json": "*" } }, "sha512-a7WWnFxLdDZ10j38+NnK4HRaOUFaPgW/rpXjieaCYQMT5csCC/wR2vKCpqrR/9ywx8+gOXVM0+W8dVnl5mb8sg=="],
- "@tscircuit/infgrid-ijump-astar": ["@tscircuit/infgrid-ijump-astar@0.0.33", "", {}, "sha512-tmX4Esp+HqyIGCUD43steVUH8pKRuyBNs21r4NlApGGLu+K1XSrK9FinhVJyMiEsuwJdajLnMTzmVt8vSYSafA=="],
+ "@tscircuit/infgrid-ijump-astar": ["@tscircuit/infgrid-ijump-astar@0.0.35", "", {}, "sha512-PZx3GyD7mDNEhLJn8+7n8NjrieOvrX03g7Gx1cvwXv9mmgSC4M+yTA0WC4DgOvcRdTnarf0R8xvwtDeJ4tMK9Q=="],
"@tscircuit/matchpack": ["@tscircuit/matchpack@0.0.16", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-F9QX7uQdml88XGKwe7kDkYnwHfG0kykr2cHD+JsnATKlgi32vYwFGuRaOR4tyRrkDGdmzt5T7YYb4Mhi9uncGA=="],
@@ -174,13 +178,11 @@
"@tscircuit/mm": ["@tscircuit/mm@0.0.8", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-nl7nxE7AhARbKuobflI0LUzoir7+wJyvwfPw6bzA/O0Q3YTcH3vBkU/Of+V/fp6ht+AofiCXj7YAH9E446138Q=="],
- "@tscircuit/ngspice-spice-engine": ["@tscircuit/ngspice-spice-engine@0.0.2", "", { "dependencies": { "eecircuit-engine": "^1.5.6" }, "peerDependencies": { "@tscircuit/props": "*", "circuit-json": "*", "typescript": "^5" } }, "sha512-PUKullU6pKdLrzbNMMSrABfyGBPeWazZYOYJWatM10/rHR6yN8ZlBlftqAnVGOdIsQ1wo9Y4KneyeKdJfjCgWA=="],
-
- "@tscircuit/props": ["@tscircuit/props@0.0.402", "", { "peerDependencies": { "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-RCq1y8K8YXLBqKTIG2WiuaC/8YWCdaM6+8BvXzTOPhPlgIPXzVXR80Q/hhIusvEKVMjxvVSP0TVbg4xSaPG6Bg=="],
+ "@tscircuit/ngspice-spice-engine": ["@tscircuit/ngspice-spice-engine@0.0.8", "", { "dependencies": { "eecircuit-engine": "^1.5.6" }, "peerDependencies": { "@tscircuit/props": "*", "circuit-json": "*", "typescript": "^5" } }, "sha512-jubJ8Kgpm9FPRdHBiRBYkf5+B37bqkjDRKpCXOMqS08UZnbS+iCv2k4ACMW+s1zbK0Xa5v+9yjuoHlfKFW1v/Q=="],
- "@tscircuit/runframe": ["@tscircuit/runframe@0.0.1248", "", {}, "sha512-GcGc7JgicKjeVm9d0aZEnwvAiMNHnpV/7ZwqaHj4HzjoQBhyQwg7sB5HIJK8OMvWIzz62ogmLvFGMDAUxSr+aw=="],
+ "@tscircuit/props": ["@tscircuit/props@0.0.470", "", { "peerDependencies": { "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-novJMejT31vaKXDdyiYnWjed4z9RMwPrEjNTMtVn931LWnEevHWb1/74ckwjmkhKLm60LaVvx9Cx/9YwkcUjQg=="],
- "@tscircuit/schematic-autolayout": ["@tscircuit/schematic-autolayout@0.0.6", "", { "dependencies": { "@tscircuit/soup-util": "^0.0.38", "transformation-matrix": "^2.16.1" } }, "sha512-34cQxtlSylBKyHkzaMBCynaWJgN9c/mWm7cz63StTYIafKmfFs383K8Xoc4QX8HXCvVrHYl1aK15onZua9MxeA=="],
+ "@tscircuit/runframe": ["@tscircuit/runframe@0.0.1582", "", { "dependencies": { "@tscircuit/solver-utils": "^0.0.7" } }, "sha512-I88582ZqzQYmeam15OeL1yTqnb5QJfw4QeikF/1DV4C1rOKhKZGd86L7megzG2IJBRErNR3JosjAiUBn41GKAQ=="],
"@tscircuit/schematic-corpus": ["@tscircuit/schematic-corpus@0.0.110", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-jNBelPGXeGAmJ1wEzYhRNplBC2WskzteNGOl+iezTb+GVddDNNQWhxxoPm+tIM7DkyFvZCmeHzbti9ZxbGKqXg=="],
@@ -248,29 +250,29 @@
"buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
- "bun-match-svg": ["bun-match-svg@0.0.9", "", { "dependencies": { "looks-same": "^9.0.1" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "bun-match-svg": "cli.ts" } }, "sha512-WISE8cUd3ztIEbYRymuxs+l4qwRviHIhyRQHmDz26vnhKON9g+Ur+2L3pfJrffpGiYWGF/jtWoWmYRQiaimTxg=="],
+ "bun-match-svg": ["bun-match-svg@0.0.14", "", { "dependencies": { "looks-same": "^9.0.1" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "bun-match-svg": "cli.ts" } }, "sha512-6tiAOY70cwf0aptY/0etMa3/8W1JggJBk3odwPhLhcUABoS3gaEbfYe8hE2z3o/tcbZ/imcmKz94c3T/ht7M+Q=="],
"bun-types": ["bun-types@1.2.22", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-hwaAu8tct/Zn6Zft4U9BsZcXkYomzpHJX28ofvx7k0Zz2HNz54n1n+tDgxoWFGB4PcFvJXJQloPhaV2eP3Q6EA=="],
"calculate-elbow": ["calculate-elbow@0.0.12", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-UkGS4EhabJn1WR6+UyoWpcxhKMx6MxM7+rK+3G0JcaPLMiYlvv5pEuc91unC/nH7kLGHV9xsVavhr5jJ50o+HA=="],
- "calculate-packing": ["calculate-packing@0.0.50", "", { "peerDependencies": { "@tscircuit/circuit-json-util": "*", "typescript": "^5" } }, "sha512-1LH8fIwtRW6/4nHqYY0mrqOlgD4nZfEnlN9id3vys49iqc2zj4hIZJf6pfMXn9GCwAySZpP90sXm+xVgDh6fHw=="],
+ "calculate-packing": ["calculate-packing@0.0.68", "", { "peerDependencies": { "@tscircuit/circuit-json-util": "*", "typescript": "^5" } }, "sha512-FbTBKbvofrsf867iMGHIFbJiQ2B156pxHtO/7IifszXJ0tuzyaaQ9rj7iH7/G/yPwXM/B4mky5RDK7KWHoE4/Q=="],
"chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="],
- "circuit-json": ["circuit-json@0.0.306", "", {}, "sha512-sN9jwOEtBIYCCZKWsKftjW8B8GHbXzQLJbJXeTvBdwIKlbU7+N2yuWaUHz6cDTD8OrNuKkWe+LNeWhfcDCsrJA=="],
+ "circuit-json": ["circuit-json@0.0.376", "", {}, "sha512-4CkRgr2widv60U33iLjN/fjEP0ym2NuWC4qwTI7pMftlX98jzhZwAeDIU9U5H9sh03zR/LyK1lDXz7lbr+q6ZA=="],
"circuit-json-to-bpc": ["circuit-json-to-bpc@0.0.13", "", { "peerDependencies": { "bpc-graph": "*", "circuit-json": "*", "typescript": "^5" } }, "sha512-3wSMtPa6tJkiBQN4tsm7f0Mb7Wp90X2c8dNbULoDVE4mGGoFqP1DXqBlyvvZZl+4SjqznzQQ0EioLe2SCQTOcg=="],
- "circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.22", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.9" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-HN8DiISjZZLTglGEkYNRpKeQ/DMG4dDo5j4Hck0UGSJbpux9aFwtJOGszMf06Inh/gu5oKBrpZJIeWxaNacKUg=="],
+ "circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.23", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.9" }, "peerDependencies": { "typescript": "^5.9.3" } }, "sha512-DSOiXaXOTvjU+7et8ITXb2LjgKto6cQzLv3hReYdXuUNtLw2GVnpOly1G83VcIBcSQ4hRVHI4VMKRyZB3XVzdg=="],
- "circuit-json-to-gltf": ["circuit-json-to-gltf@0.0.31", "", { "dependencies": { "@jscad/modeling": "^2.12.6", "jscad-electronics": "^0.0.53", "jscad-to-gltf": "^0.0.5" }, "peerDependencies": { "@resvg/resvg-js": "2", "@resvg/resvg-wasm": "2", "@tscircuit/circuit-json-util": "*", "circuit-json": "*", "circuit-to-svg": "*", "typescript": "^5" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm"] }, "sha512-TJ2yT7Ph//UyCt5u5W6PdyvAxil3Opy25hzzwRheqTw+UMo2WhcY6oug6svjPmaGyjjN6fhl0eMeoUgcfgq3sQ=="],
+ "circuit-json-to-gltf": ["circuit-json-to-gltf@0.0.62", "", { "dependencies": { "@jscad/modeling": "^2.12.6", "jscad-electronics": "^0.0.113", "jscad-to-gltf": "^0.0.5" }, "peerDependencies": { "@resvg/resvg-js": "2", "@resvg/resvg-wasm": "2", "@tscircuit/circuit-json-util": "*", "circuit-json": "*", "circuit-to-svg": "*", "typescript": "^5" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm"] }, "sha512-TwI8NtvLVNDhCJg1mOB83Gdjv9/kod7yrQsr67x2JKgAFwwdND8/w6JCCN2peB4mOW9gomrnKAT23DqUzQPXng=="],
"circuit-json-to-simple-3d": ["circuit-json-to-simple-3d@0.0.9", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-thpCtDb9LpAQfGO+Z0hae19sxVAmJAMYM/It9UTMCtyXC3zoUHwRcp/oqtMO/ZIW+JDBhiR8AHmmtKScL2kW7Q=="],
- "circuit-json-to-spice": ["circuit-json-to-spice@0.0.16", "", { "dependencies": { "@tscircuit/soup-util": "^0.0.41", "circuit-json": "^0.0.288", "circuit-json-to-connectivity-map": "^0.0.22" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-5gIPue5py/RaCNLZHOe2mFYFXESMI98OwIrMIakntRiwjzc6Zw3/wYX3SHbkhDf2An153eec2jom7eej5JMpRA=="],
+ "circuit-json-to-spice": ["circuit-json-to-spice@0.0.33", "", { "dependencies": { "circuit-json-to-connectivity-map": "^0.0.22" }, "peerDependencies": { "@tscircuit/circuit-json-util": "*", "circuit-json": "*", "typescript": "^5.0.0" } }, "sha512-K5Z2Su53ySQ46Fo2oZvOgGNU2+PKsK/d558QJoWoQl0tZ2GspXFONeCZ2cj0zMSIj6pYscQIMwSoZ+IKrtKygg=="],
- "circuit-to-svg": ["circuit-to-svg@0.0.265", "", { "dependencies": { "@types/node": "^22.5.5", "bun-types": "^1.1.40", "calculate-elbow": "0.0.12", "svgson": "^5.3.1", "transformation-matrix": "^2.16.1" } }, "sha512-wEvGWOb6H+4BudVjfA/lapWea9KjOFFxCWSpVZQ0xr8cO4N4kCMW1hwBwUW0EovpILi9jtilda651G15N+O/Yw=="],
+ "circuit-to-svg": ["circuit-to-svg@0.0.325", "", { "dependencies": { "@types/node": "^22.5.5", "bun-types": "^1.1.40", "calculate-elbow": "0.0.12", "debug": "^4.4.3", "svg-path-commander": "^2.1.11", "svgson": "^5.3.1", "transformation-matrix": "^2.16.1" }, "peerDependencies": { "@tscircuit/alphabet": "*" } }, "sha512-7bXOs8RYaV+BXiwKvCHKlyRs1a0RuFfKXMFeJYUuqkXW5shnxXdD/8s8QaGxLO2vL3O/O2T7urEluCRuIxVJ0g=="],
"color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="],
@@ -420,7 +422,7 @@
"js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
- "jscad-electronics": ["jscad-electronics@0.0.53", "", { "peerDependencies": { "@jscad/modeling": "^2.12.5", "@tscircuit/footprinter": "*", "circuit-json": "^0.0.232", "jscad-fiber": "^0.0.85", "react": "19.1.0", "react-dom": "19.1.0", "three": "^0.179.1" }, "optionalPeers": ["jscad-fiber"] }, "sha512-9lB9OjsU3IclEkHNaGu82UnwVeiaIxCOPPloOHOa+fjEWmJynm0gV54f3wT6eHjkRbaCCnOKXmjgXINaphdMfQ=="],
+ "jscad-electronics": ["jscad-electronics@0.0.113", "", { "peerDependencies": { "@jscad/modeling": "^2.12.5", "@tscircuit/footprinter": "*", "circuit-json": "^0.0.232", "jscad-fiber": "^0.0.85", "react": "19.1.0", "react-dom": "19.1.0", "three": "^0.179.1" }, "optionalPeers": ["jscad-fiber"] }, "sha512-WxVgQR7DsE4L6dax1/+fQFgEuUTR+ysPMx+SUlmPxYIf1hXFSbloM0rcDuGf3T2He/UXr2GCbXylj/SqRXimSA=="],
"jscad-planner": ["jscad-planner@0.0.13", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-Lkx7PDT0s90o25dhENrvcYLlgKRvSmhyX7H7LMMq85Hl5ICzirU4MAPxeveKWLlKrdS+4krybVAuKsJ9uvUppg=="],
@@ -432,7 +434,7 @@
"kicad-to-circuit-json": ["kicad-to-circuit-json@0.0.15", "", { "dependencies": { "schematic-symbols": "^0.0.202" }, "peerDependencies": { "typescript": "^5" } }, "sha512-HG9OVhHqitW08MHX1wFCSF6WPi1EFkywgJJt6qqTpMeZFe211qpctNQbyDpYvlS/u5YTn2h208aCqY8W8DBNHw=="],
- "kicadts": ["kicadts@0.0.22", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-lB1Zy3eP0itLcThqlAkfXpUac+18wZB0ruYHH0NilB5YqcvWNlomnoLmB+F5anGu9mlo0bN/REku+Palb78a2w=="],
+ "kicadts": ["kicadts@0.0.23", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-hBXc9ip3tYpCMCNjW4SzUxv+InJe/6ZfK8Z7meb8P1fN0iSr38IkXwqsVKqArDR9v/LPm0H1vRXh+9Aa+Mv+FA=="],
"kind-of": ["kind-of@3.2.2", "", { "dependencies": { "is-buffer": "^1.1.5" } }, "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="],
@@ -552,7 +554,7 @@
"scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="],
- "schematic-symbols": ["schematic-symbols@0.0.202", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-zMdY7VaEg2Sc25T0h9LkWttEoyxGamgBfFDQKUXtYRoLSChrNDOKbNLaxU/GH2L2GbsasV8OLiHyHGb5u7NUpg=="],
+ "schematic-symbols": ["schematic-symbols@0.0.208", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-2vW3Kmouu1jVtwHuwa9HBgWLl4NKYoXk1T8rtOCa+tlZhCP/qQRX0YWwo4ZljSoY2fWPwZoEy7RX/CuEBuSA+Q=="],
"semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="],
@@ -570,7 +572,7 @@
"simple-swizzle": ["simple-swizzle@0.2.4", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw=="],
- "spicey": ["spicey@0.0.10", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-X6Z1qUCd6R+EbqBrGw9eH7BR/6TAdPqRm/Zfw/uoTZhjuSgABhBOAYoiv+sj5ovGyI1urkQi3eHcnUSty1Vx8Q=="],
+ "spicey": ["spicey@0.0.14", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-iktSN1BteKEpou3158v25fxGJsNZ4MFeBVV0bZFZ5UZ5NnqusVxVQ1ZrPnCO+2FCmTIBqTD66n0GKMxF6+N/xg=="],
"streamx": ["streamx@2.22.1", "", { "dependencies": { "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA=="],
@@ -592,6 +594,8 @@
"supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
+ "svg-path-commander": ["svg-path-commander@2.1.11", "", { "dependencies": { "@thednp/dommatrix": "^2.0.12" } }, "sha512-wmQ6QA3Od+HOcpIzLjPlbv59+x3yd3V5W6xitUOvAHmqZpP7wVrRM2CHqEm5viHUbZu6PjzFsjbTEFtIeUxaNA=="],
+
"svgson": ["svgson@5.3.1", "", { "dependencies": { "deep-rename-keys": "^0.2.1", "xml-reader": "2.4.3" } }, "sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA=="],
"tar-fs": ["tar-fs@3.1.1", "", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg=="],
@@ -610,7 +614,9 @@
"ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
- "tscircuit": ["tscircuit@0.0.896", "", { "dependencies": { "@flatten-js/core": "^1.6.2", "@lume/kiwi": "^0.4.3", "@resvg/resvg-js": "^2.6.2", "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-typescript": "^12.3.0", "@tscircuit/capacity-autorouter": "^0.0.140", "@tscircuit/checks": "^0.0.85", "@tscircuit/circuit-json-flex": "^0.0.3", "@tscircuit/circuit-json-util": "^0.0.72", "@tscircuit/cli": "^0.1.487", "@tscircuit/copper-pour-solver": "^0.0.14", "@tscircuit/core": "^0.0.862", "@tscircuit/eval": "^0.0.470", "@tscircuit/footprinter": "^0.0.236", "@tscircuit/infgrid-ijump-astar": "^0.0.33", "@tscircuit/matchpack": "^0.0.16", "@tscircuit/math-utils": "^0.0.29", "@tscircuit/miniflex": "^0.0.4", "@tscircuit/ngspice-spice-engine": "^0.0.2", "@tscircuit/props": "^0.0.398", "@tscircuit/runframe": "^0.0.1248", "@tscircuit/schematic-match-adapt": "^0.0.16", "@tscircuit/schematic-trace-solver": "^v0.0.45", "@tscircuit/simple-3d-svg": "^0.0.41", "@tscircuit/solver-utils": "^0.0.3", "bpc-graph": "^0.0.57", "calculate-elbow": "^0.0.12", "calculate-packing": "0.0.50", "circuit-json": "^0.0.306", "circuit-json-to-bpc": "^0.0.13", "circuit-json-to-connectivity-map": "^0.0.22", "circuit-json-to-gltf": "^0.0.31", "circuit-json-to-simple-3d": "^0.0.9", "circuit-json-to-spice": "^0.0.16", "circuit-to-svg": "^0.0.265", "comlink": "^4.4.2", "connectivity-map": "^1.0.0", "css-select": "5.1.0", "debug": "^4.3.6", "flatbush": "^4.5.0", "format-si-unit": "^0.0.3", "graphics-debug": "^0.0.60", "jscad-planner": "^0.0.13", "kicad-component-converter": "^0.1.30", "kicad-to-circuit-json": "^0.0.15", "kicadts": "^0.0.22", "minicssgrid": "^0.0.9", "performance-now": "^2.1.0", "poppygl": "^0.0.16", "react": "^19.1.0", "react-dom": "^19.1.0", "rollup": "^4.53.2", "rollup-plugin-dts": "^6.2.3", "s-expression": "^3.1.1", "schematic-symbols": "^0.0.202", "spicey": "^0.0.10", "sucrase": "^3.35.0", "transformation-matrix": "^2.16.1", "zod": "^3.25.67" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "tsci": "cli.mjs", "tscircuit": "cli.mjs" } }, "sha512-19vCc/+vP6KOyCh6lVhKMOZSdlZsdU/75cCwcpjlMJzNlbZ5CEZ/dknY5A/ajivxh7oPex2so7rwq9DLkHYmTA=="],
+ "tscircuit": ["tscircuit@0.0.1275", "", { "dependencies": { "@flatten-js/core": "^1.6.2", "@lume/kiwi": "^0.4.3", "@resvg/resvg-js": "^2.6.2", "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-typescript": "^12.3.0", "@tscircuit/alphabet": "0.0.18", "@tscircuit/capacity-autorouter": "^0.0.264", "@tscircuit/checks": "^0.0.87", "@tscircuit/circuit-json-flex": "^0.0.3", "@tscircuit/circuit-json-util": "^0.0.77", "@tscircuit/cli": "^0.1.891", "@tscircuit/copper-pour-solver": "^0.0.20", "@tscircuit/core": "^0.0.1015", "@tscircuit/eval": "^0.0.625", "@tscircuit/footprinter": "^0.0.288", "@tscircuit/infgrid-ijump-astar": "^0.0.35", "@tscircuit/matchpack": "^0.0.16", "@tscircuit/math-utils": "^0.0.29", "@tscircuit/miniflex": "^0.0.4", "@tscircuit/ngspice-spice-engine": "^0.0.8", "@tscircuit/props": "^0.0.470", "@tscircuit/runframe": "^0.0.1582", "@tscircuit/schematic-match-adapt": "^0.0.16", "@tscircuit/schematic-trace-solver": "^v0.0.45", "@tscircuit/simple-3d-svg": "^0.0.41", "@tscircuit/solver-utils": "^0.0.3", "@tscircuit/soup-util": "^0.0.41", "bpc-graph": "^0.0.57", "calculate-elbow": "^0.0.12", "calculate-packing": "0.0.68", "circuit-json": "^0.0.376", "circuit-json-to-bpc": "^0.0.13", "circuit-json-to-connectivity-map": "^0.0.23", "circuit-json-to-gltf": "^0.0.62", "circuit-json-to-simple-3d": "^0.0.9", "circuit-json-to-spice": "^0.0.33", "circuit-to-svg": "^0.0.325", "comlink": "^4.4.2", "connectivity-map": "^1.0.0", "css-select": "5.1.0", "debug": "^4.3.6", "flatbush": "^4.5.0", "format-si-unit": "^0.0.3", "graphics-debug": "^0.0.60", "jscad-planner": "^0.0.13", "kicad-component-converter": "^0.1.30", "kicad-to-circuit-json": "^0.0.15", "kicadts": "^0.0.23", "minicssgrid": "^0.0.9", "performance-now": "^2.1.0", "poppygl": "^0.0.16", "react": "^19.1.0", "react-dom": "^19.1.0", "rollup": "^4.53.2", "rollup-plugin-dts": "^6.2.3", "s-expression": "^3.1.1", "schematic-symbols": "^0.0.208", "spicey": "^0.0.14", "sucrase": "^3.35.0", "svg-path-commander": "^2.1.11", "transformation-matrix": "^2.16.1", "tslib": "^2.8.1", "zod": "^3.25.67" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "tsci": "cli.mjs", "tscircuit": "cli.mjs" } }, "sha512-O0vnXbCrLjOKBvPjqRYk5HbEAaO8Bsy5pWg903cLXzWQbMql4+SNHvPlmL8jiZ8k7RUbrcwiOAjYeKFqQ8fWWg=="],
+
+ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
"tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="],
@@ -640,7 +646,7 @@
"@tscircuit/circuit-json-flex/@tscircuit/miniflex": ["@tscircuit/miniflex@0.0.3", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-oRC0up2psp8dJD1CzXyUiFuhQZUWLdZNl9EAqOf/hHqXDhPKMU6wM79S+XQuaB0gdWNRnwcURHPPaKLw/ka3DQ=="],
- "@tscircuit/schematic-autolayout/@tscircuit/soup-util": ["@tscircuit/soup-util@0.0.38", "", { "dependencies": { "parsel-js": "^1.1.2" }, "peerDependencies": { "circuit-json": "*", "transformation-matrix": "*", "zod": "*" } }, "sha512-GdcuFxk+qnJZv+eI7ZoJ1MJEseFgRyaztMtQ/OXA2SUnxyPEH0UTy9vkhKTm+8GTePryEgdXcc65TgUyrr44ww=="],
+ "@tscircuit/runframe/@tscircuit/solver-utils": ["@tscircuit/solver-utils@0.0.7", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-SB5+A92BMsozxOWfi6iXrcVv1UAFfbBAbKlWHG9TXWquEvAVPSukeCZJ08Yhq0b22T4qkMNy5bZWshXwlO+BuQ=="],
"bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
@@ -648,7 +654,7 @@
"circuit-json-to-connectivity-map/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.9", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-sPzfXndijet8z29X6f5vnSZddiso2tRg7m6rB+268bVj60mxnxUMD14rKuMlLn6n84fMOpD/X7pRTZUfi6M+Tg=="],
- "circuit-json-to-spice/circuit-json": ["circuit-json@0.0.288", "", {}, "sha512-a0yPttco6gCmSsLwOy23ss8N8FdpxcEflXye7trfMBeBo6CaaO8g/S6Z8VVXNOvoFe3yHcFizMffm5xbhWhtcw=="],
+ "circuit-json-to-spice/circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.22", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.9" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-HN8DiISjZZLTglGEkYNRpKeQ/DMG4dDo5j4Hck0UGSJbpux9aFwtJOGszMf06Inh/gu5oKBrpZJIeWxaNacKUg=="],
"circuit-to-svg/@types/node": ["@types/node@22.18.6", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ=="],
@@ -660,8 +666,12 @@
"editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="],
+ "graphics-debug/bun-match-svg": ["bun-match-svg@0.0.9", "", { "dependencies": { "looks-same": "^9.0.1" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "bun-match-svg": "cli.ts" } }, "sha512-WISE8cUd3ztIEbYRymuxs+l4qwRviHIhyRQHmDz26vnhKON9g+Ur+2L3pfJrffpGiYWGF/jtWoWmYRQiaimTxg=="],
+
"graphics-debug/transformation-matrix": ["transformation-matrix@3.1.0", "", {}, "sha512-oYubRWTi2tYFHAL2J8DLvPIqIYcYZ0fSOi2vmSy042Ho4jBW2ce6VP7QfD44t65WQz6bw5w1Pk22J7lcUpaTKA=="],
+ "kicad-to-circuit-json/schematic-symbols": ["schematic-symbols@0.0.202", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-zMdY7VaEg2Sc25T0h9LkWttEoyxGamgBfFDQKUXtYRoLSChrNDOKbNLaxU/GH2L2GbsasV8OLiHyHGb5u7NUpg=="],
+
"prebuild-install/tar-fs": ["tar-fs@2.1.4", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="],
"string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
@@ -670,8 +680,6 @@
"strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
- "tscircuit/@tscircuit/props": ["@tscircuit/props@0.0.398", "", { "peerDependencies": { "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-Y4RikMXZdaiKizFOGc+qbB6bDKayxEzNc5HdPW6G+93MzzQ7c0Lrr2AoMJGmzJxDlWF9OE6hYg3/RM/kbRt+5g=="],
-
"use-mouse-matrix-transform/transformation-matrix": ["transformation-matrix@3.1.0", "", {}, "sha512-oYubRWTi2tYFHAL2J8DLvPIqIYcYZ0fSOi2vmSy042Ho4jBW2ce6VP7QfD44t65WQz6bw5w1Pk22J7lcUpaTKA=="],
"wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
@@ -680,6 +688,8 @@
"wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
+ "circuit-json-to-spice/circuit-json-to-connectivity-map/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.9", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-sPzfXndijet8z29X6f5vnSZddiso2tRg7m6rB+268bVj60mxnxUMD14rKuMlLn6n84fMOpD/X7pRTZUfi6M+Tg=="],
+
"circuit-to-svg/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
"connectivity-map/@biomejs/biome/@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.2.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-UZPmn3M45CjTYulgcrFJFZv7YmK3pTxTJDrFYlNElT2FNnkkX4fsxjExTSMeWKQYoZjvekpH5cvrYZZlWu3yfA=="],
diff --git a/package.json b/package.json
index 1c8fed16..cd01ef0e 100644
--- a/package.json
+++ b/package.json
@@ -13,13 +13,13 @@
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
- "@tscircuit/props": "^0.0.402",
+ "@tscircuit/props": "^0.0.470",
"@types/bun": "latest"
},
"peerDependencies": {
"typescript": "^5"
},
"dependencies": {
- "tscircuit": "^0.0.896"
+ "tscircuit": "^0.0.1275"
}
}