techmannih/trellis-core
This code defines a detailed electronic hardware schematic and PCB layout for a Linux System-on-Module, incorporating components such as oscillators, power regulators, USB-C connectors, connectors, LEDs, resistors, capacitors, inductors, and integrated circuits, with precise physical footprint and 3D models.
- Version
- 0.2.13
- License
- unset
- Stars
- 0
imports/CM4024M00008001.tsx
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["pin1"],
pin2: ["GND1"],
pin3: ["pin3"],
pin4: ["GND2"]
} as const
const pinAttributes = {
pin2: {requiresGround: true},
pin4: {requiresGround: true}
} as const
export const CM4024M00008001 = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
symbol={
<symbol>
<port
name="pin1"
pinNumber={1}
aliases={["1"]}
direction="left"
schX={-1.2}
schY={-0.3}
schStemLength={0.4}
/>
<port
name="pin3"
pinNumber={3}
aliases={["3"]}
direction="right"
schX={1.2}
schY={0.3}
schStemLength={0.4}
/>
<port
name="pin4"
pinNumber={4}
aliases={["GND2", "GND"]}
direction="left"
schX={-1.2}
schY={0.3}
schStemLength={0.4}
/>
<port
name="pin2"
pinNumber={2}
aliases={["GND1", "GND"]}
direction="right"
schX={1.2}
schY={-0.3}
schStemLength={0.4}
/>
<schematicrect
schX={0}
schY={0}
width={1.6}
height={1.2}
strokeWidth={0.02}
color="#880000"
/>
<schematiccircle
center={{ x: -0.65, y: -0.45 }}
radius={0.04}
strokeWidth={0.02}
color="#880000"
isFilled
fillColor="#880000"
/>
<schematicpath
points={[
{ x: -0.25, y: -0.28 },
{ x: -0.25, y: 0.28 },
]}
strokeWidth={0.02}
strokeColor="#881100"
/>
<schematicpath
points={[
{ x: 0.25, y: -0.28 },
{ x: 0.25, y: 0.28 },
]}
strokeWidth={0.02}
strokeColor="#881100"
/>
<schematicpath
points={[
{ x: -0.8, y: -0.3 },
{ x: -0.45, y: -0.3 },
{ x: -0.45, y: 0 },
{ x: -0.25, y: 0 },
]}
strokeWidth={0.02}
strokeColor="#880000"
/>
<schematicpath
points={[
{ x: 0.8, y: 0.3 },
{ x: 0.45, y: 0.3 },
{ x: 0.45, y: 0 },
{ x: 0.25, y: 0 },
]}
strokeWidth={0.02}
strokeColor="#880000"
/>
<schematicrect
schX={0}
schY={0}
width={0.18}
height={0.52}
strokeWidth={0.02}
color="#880000"
/>
<schematictext
text="{REF}"
schX={0}
schY={0.8}
fontSize={0.2}
anchor="center"
/>
<schematictext
text="24MHz"
schX={0}
schY={-0.8}
fontSize={0.2}
anchor="center"
/>
</symbol>
}
supplierPartNumbers={{
"jlcpcb": [
"C7294624"
]
}}
manufacturerPartNumber="CM4024M00008001"
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX="-0.94996mm" pcbY="-0.750062mm" width="1.1999976mm" height="1.0999978mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="0.94996mm" pcbY="-0.750062mm" width="1.1999976mm" height="1.0999978mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="0.94996mm" pcbY="0.750062mm" width="1.1999976mm" height="1.0999978mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="-0.94996mm" pcbY="0.750062mm" width="1.1999976mm" height="1.0999978mm" shape="rect" />
<silkscreenpath route={[{"x":-2.0066000000000486,"y":-0.20065999999997075},{"x":-2.0066000000000486,"y":-1.7576799999999366},{"x":-0.3505200000001878,"y":-1.7576799999999366}]} />
<silkscreenpath route={[{"x":-1.7786095999999816,"y":-1.5285973999998532},{"x":-1.7786095999999816,"y":1.528597399999967},{"x":1.7786095999999816,"y":1.528597399999967},{"x":1.7786095999999816,"y":-1.5285973999998532},{"x":-1.7786095999999816,"y":-1.5285973999998532}]} />
<silkscreentext text="{NAME}" pcbX="-0.1143mm" pcbY="2.524mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-2.2566000000000486,"y":1.774000000000001},{"x":2.02800000000002,"y":1.774000000000001},{"x":2.02800000000002,"y":-2.0026000000000295},{"x":-2.2566000000000486,"y":-2.0026000000000295},{"x":-2.2566000000000486,"y":1.774000000000001}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7294624.obj?uuid=f88e6934b74b41a8bf87a127332ccf2b",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7294624.step?uuid=f88e6934b74b41a8bf87a127332ccf2b",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.000012700000070253736, y: 0, z: -0.01 },
}}
{...props}
/>
)
}