krishnax12/usb-c-control-dial
USB-C control dial PCB with an EC11 push encoder and a 16-LED ring for volume and brightness controls. Work in progress; firmware not included and not fabrication-ready.
- Version
- 0.0.3
- License
- unset
- Stars
- 1
imports/EC11E183440C/EC11E183440C.tsx
import objPath from "./EC11E183440C.obj"
import stepPath from "./EC11E183440C.step"
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin6: ["pin6"],
pin7: ["pin7"],
pin8: ["A"],
pin9: ["C"],
pin10: ["B"],
pin11: ["D"],
pin12: ["E"],
} as const
export const EC11E183440C = (props: ChipProps<typeof pinLabels>) => {
return (
<pinout
pinAttributes={{
pin6: { isPassive: true },
pin7: { isPassive: true },
pin8: { isPassive: true },
pin9: { isPassive: true },
pin10: { isPassive: true },
pin11: { isPassive: true },
pin12: { isPassive: true },
}}
pinLabels={pinLabels}
symbol={
<symbol>
<schematicpath
points={[
{ x: -0.34, y: -0.34 },
{ x: -0.28, y: -0.34 },
{ x: -0.26, y: -0.34 },
{ x: -0.26, y: -0.26 },
{ x: 0.26, y: -0.26 },
{ x: 0.26, y: -0.34 },
{ x: 0.34, y: -0.34 },
{ x: 0.34, y: 0.38 },
{ x: 0.26, y: 0.38 },
{ x: 0.26, y: 0.3 },
{ x: -0.26, y: 0.3 },
{ x: -0.26, y: 0.38 },
{ x: -0.34, y: 0.38 },
{ x: -0.34, y: -0.34 },
]}
strokeColor="#880000"
/>
<schematiccircle
center={{ x: 0, y: 0.02 }}
radius={0.23}
strokeWidth={0.02}
color="#880000"
/>
<schematicpath
points={[
{ x: -0.2, y: -0.26 },
{ x: -0.2, y: -0.4 },
{ x: -0.2, y: -0.4 },
]}
strokeColor="#880000"
/>
<schematicpath
points={[
{ x: 0, y: -0.26 },
{ x: 0, y: -0.4 },
]}
strokeColor="#880000"
/>
<schematicpath
points={[
{ x: 0.2, y: -0.26 },
{ x: 0.2, y: -0.4 },
]}
strokeColor="#880000"
/>
<schematicpath
points={[
{ x: -0.2, y: 0.3 },
{ x: -0.2, y: 0.4 },
]}
strokeColor="#880000"
/>
<schematicpath
points={[
{ x: 0.2, y: 0.3 },
{ x: 0.2, y: 0.4 },
]}
strokeColor="#880000"
/>
<port
name="pin8"
pinNumber={8}
aliases={["A"]}
direction="down"
schX={-0.2}
schY={-0.6}
schStemLength={0.2}
/>
<port
name="pin10"
pinNumber={10}
aliases={["B"]}
direction="down"
schX={0.2}
schY={-0.6}
schStemLength={0.2}
/>
<port
name="pin9"
pinNumber={9}
aliases={["C"]}
direction="down"
schX={0}
schY={-0.6}
schStemLength={0.2}
/>
<port
name="pin11"
pinNumber={11}
aliases={["D"]}
direction="up"
schX={-0.2}
schY={0.6}
schStemLength={0.2}
/>
<port
name="pin12"
pinNumber={12}
aliases={["E"]}
direction="up"
schX={0.2}
schY={0.6}
schStemLength={0.2}
/>
<port
name="pin6"
pinNumber={6}
aliases={["6"]}
direction="right"
schX={0.6}
schY={0}
schStemLength={0.26}
/>
<port
name="pin7"
pinNumber={7}
aliases={["7"]}
direction="left"
schX={-0.6}
schY={0}
schStemLength={0.26}
/>
</symbol>
}
supplierPartNumbers={{
jlcpcb: ["C370986"],
}}
manufacturerPartNumber="EC11E183440C"
footprint={
<footprint>
<platedhole
portHints={["pin8"]}
pcbX="-2.540127mm"
pcbY="-7.250049mm"
outerDiameter="1.7999964mm"
holeDiameter="1.3000228mm"
shape="circle"
/>
<platedhole
portHints={["pin9"]}
pcbX="-0.000127mm"
pcbY="-7.250049mm"
outerDiameter="1.7999964mm"
holeDiameter="1.3000228mm"
shape="circle"
/>
<platedhole
portHints={["pin10"]}
pcbX="2.539873mm"
pcbY="-7.250049mm"
outerDiameter="1.7999964mm"
holeDiameter="1.3000228mm"
shape="circle"
/>
<platedhole
portHints={["pin11"]}
pcbX="-2.540127mm"
pcbY="7.250049mm"
outerDiameter="1.7999964mm"
holeDiameter="1.3000228mm"
shape="circle"
/>
<platedhole
portHints={["pin12"]}
pcbX="2.539873mm"
pcbY="7.250049mm"
outerDiameter="1.7999964mm"
holeDiameter="1.3000228mm"
shape="circle"
/>
<platedhole
portHints={["pin6"]}
pcbX="5.499989mm"
pcbY="0.250063mm"
holeWidth="3.200019mm"
holeHeight="1.5000224mm"
outerWidth="3.999992mm"
outerHeight="2.2999954mm"
pcbRotation="90deg"
shape="pill"
/>
<platedhole
portHints={["pin7"]}
pcbX="-5.499989mm"
pcbY="0.250063mm"
holeWidth="3.200019mm"
holeHeight="1.5000224mm"
outerWidth="3.999992mm"
outerHeight="2.2999954mm"
pcbRotation="90deg"
shape="pill"
/>
<silkscreenpath
route={[
{ x: -5.900115200000187, y: 6.250076400000012 },
{ x: -5.900115200000187, y: 2.4218391999999085 },
]}
/>
<silkscreenpath
route={[
{ x: 5.899861199999918, y: 2.421966199999929 },
{ x: 5.899988199999825, y: 6.250076400000012 },
]}
/>
<silkscreenpath
route={[
{ x: 5.899861199999918, y: -5.7500012000000424 },
{ x: -5.900115200000187, y: -5.749950399999989 },
]}
/>
<silkscreenpath
route={[
{ x: -5.900115200000187, y: 6.250000199999931 },
{ x: -3.065932400000065, y: 6.250076400000012 },
]}
/>
<silkscreenpath
route={[
{ x: -2.794127000000117, y: 1.266063000000031 },
{ x: 2.7938729999999623, y: 1.266063000000031 },
]}
/>
<silkscreenpath
route={[
{ x: -5.900115200000187, y: 6.250076400000012 },
{ x: -5.900115200000187, y: 2.4218391999999085 },
]}
/>
<silkscreenpath
route={[
{ x: -5.900115200000187, y: -1.9217131999998855 },
{ x: -5.900115200000187, y: -5.749950399999989 },
]}
/>
<silkscreenpath
route={[
{ x: 5.899861199999918, y: -5.749950399999989 },
{ x: 5.899861199999918, y: -1.9218402000001333 },
]}
/>
<silkscreenpath
route={[
{ x: 4.787925399999949, y: 2.2820629999999937 },
{ x: 3.9749475999998367, y: 2.2820629999999937 },
]}
/>
<silkscreenpath
route={[
{ x: 4.787925399999949, y: -1.7819369999999708 },
{ x: 3.9749475999998367, y: -1.7819369999999708 },
]}
/>
<silkscreenpath
route={[
{ x: -5.900115200000187, y: -1.9217131999998855 },
{ x: -5.900115200000187, y: -5.749950399999989 },
]}
/>
<silkscreenpath
route={[
{ x: -4.05142699999999, y: 2.2820629999999937 },
{ x: -4.787925400000063, y: 2.2820629999999937 },
]}
/>
<silkscreenpath
route={[
{ x: -4.787925400000063, y: -1.7819369999999708 },
{ x: -3.810127000000193, y: -1.7819369999999708 },
]}
/>
<silkscreenpath
route={[
{ x: -2.0143216000001303, y: 6.250076400000012 },
{ x: 2.0140675999999758, y: 6.250076400000012 },
]}
/>
<silkscreenpath
route={[
{ x: 3.065678399999797, y: 6.250076400000012 },
{ x: 5.899861199999918, y: 6.250076400000012 },
]}
/>
<silkscreenpath
route={[
{ x: 1.777872999999886, y: 1.266063000000031 },
{ x: 1.8859268226797212, y: 1.0415664378789415 },
{ x: 1.965765487822864, y: 0.8055577038286401 },
{ x: 2.016194617789324, y: 0.5615674625264546 },
{ x: 2.0364597983467547, y: 0.313245781119349 },
{ x: 2.026257864624995, y: 0.06430752462142664 },
{ x: 1.9857414364294073, y: -0.18152321805769134 },
{ x: 1.9155166350651598, y: -0.4205688460729107 },
{ x: 1.816634015828754, y: -0.6492532631477843 },
{ x: 1.6905728518174783, y: -0.864155375580367 },
{ x: 1.5392190041659433, y: -1.0620602714290044 },
{ x: 1.3648367097707705, y: -1.2400073152409732 },
{ x: 1.1700347085575231, y: -1.3953344388321511 },
{ x: 0.9577272170164406, y: -1.5257179655351365 },
{ x: 0.7310903318468718, y: -1.6292073721451743 },
{ x: 0.4935145158983687, y: -1.7042544685333496 },
{ x: 0.24855387722118394, y: -1.7497365584006275 },
{ x: -0.00012700000013410317, y: -1.7649732346892506 },
{ x: -0.24880787722145215, y: -1.7497365584006275 },
{ x: -0.4937685158986369, y: -1.7042544685333496 },
{ x: -0.73134433184714, y: -1.6292073721451743 },
{ x: -0.9579812170165951, y: -1.5257179655351365 },
{ x: -1.1702887085576776, y: -1.3953344388321511 },
{ x: -1.3650907097710387, y: -1.2400073152409732 },
{ x: -1.5394730041660978, y: -1.0620602714290044 },
{ x: -1.6908268518177465, y: -0.864155375580367 },
{ x: -1.8168880158289085, y: -0.6492532631477843 },
{ x: -1.9157706350653143, y: -0.4205688460729107 },
{ x: -1.9859954364295618, y: -0.18152321805769134 },
{ x: -2.026511864625263, y: 0.06430752462142664 },
{ x: -2.0367137983469092, y: 0.313245781119349 },
{ x: -2.0164486177894787, y: 0.5615674625264546 },
{ x: -1.9660194878230186, y: 0.8055577038286401 },
{ x: -1.8861808226799894, y: 1.0415664378789415 },
{ x: -1.7781270000000404, y: 1.266063000000031 },
]}
/>
<silkscreencircle
pcbX="-0.000127mm"
pcbY="0.250063mm"
radius="4.325366mm"
/>
<silkscreencircle
pcbX="-0.000127mm"
pcbY="0.250063mm"
radius="3.3528mm"
/>
<silkscreencircle
pcbX="-0.000127mm"
pcbY="0.250063mm"
radius="3.048mm"
/>
<silkscreentext
text="{NAME}"
pcbX="-0.000127mm"
pcbY="9.149463mm"
anchorAlignment="center"
fontSize="1mm"
/>
<courtyardoutline
outline={[
{ x: -6.600127000000043, y: 8.399462999999969 },
{ x: 6.599872999999889, y: 8.399462999999969 },
{ x: 6.599872999999889, y: -8.407337000000098 },
{ x: -6.600127000000043, y: -8.407337000000098 },
{ x: -6.600127000000043, y: 8.399462999999969 },
]}
/>
</footprint>
}
cadModel={{
objUrl: objPath,
stepUrl: stepPath,
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.000012700000070253736,
y: -0.24998729999992975,
z: -0.000006999999999646178,
},
}}
{...props}
/>
)
}