pixalynx/esp32-usb-ducky
This design features a PCB with key components including an SOT-223 AMS1117 voltage regulator, a USB Type-C connector with ESD protection array, an ESP32-S3-WROOM-1 module with integrated USB, a microSD card socket, power management chips, status LED, reset and boot buttons, and associated decoupling and signal routing, all arranged on a compact 26mm x 84.5mm dual-layer PCB.
- Version
- 1.2.4
- License
- unset
- Stars
- 0
imports/TF_01A.tsx
import type { ChipProps } from "@tscircuit/props"
/**
* TF-01A push-push microSD socket (JLCPCB C91145). JLCPCB/EasyEDA only
* resolved VDD/VSS/CD; pins 1/2/3/5/7/8 follow the standard SD Association
* 8-contact microSD pinout (SPI-mode names in parens) — DAT2, CS(CD/DAT3),
* MOSI(CMD), CLK, MISO(DAT0), DAT1 — this ordering was verified against the
* standard microSD mapping and is correct. DAT1/DAT2 are unused in 1-bit SPI
* mode and left unconnected. pin9 is the mechanical card-detect switch
* (separate from the electrical DAT3/CD line); left unconnected since this
* design doesn't do card-insertion detection. pins 10-13 are the shell's
* ground/shield legs.
*/
const pinLabels = {
pin1: ["DAT2"],
pin2: ["CS"],
pin3: ["MOSI"],
pin4: ["VDD"],
pin5: ["SCK"],
pin6: ["VSS"],
pin7: ["MISO"],
pin8: ["DAT1"],
pin9: ["CD"],
pin10: ["GND1"],
pin11: ["GND4"],
pin12: ["GND3"],
pin13: ["GND2"]
} as const
const pinAttributes = {
pin4: {requiresPower: true},
pin6: {requiresGround: true},
pin10: {requiresGround: true},
pin11: {requiresGround: true},
pin12: {requiresGround: true},
pin13: {requiresGround: true}
} as const
export const TF_01A = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
supplierPartNumbers={{
"jlcpcb": [
"C91145"
]
}}
manufacturerPartNumber="TF-01A"
footprint={<footprint>
<hole pcbX="-4.9499393mm" pcbY="-5.39108015mm" diameter="0.999998mm" />
<hole pcbX="3.0500447mm" pcbY="-5.39108015mm" diameter="0.999998mm" />
<smtpad portHints={["pin1"]} pcbX="2.2400133mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="1.1399647mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="0.0399161mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="-1.0601325mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="-2.1599525mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin6"]} pcbX="-3.2600011mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin7"]} pcbX="-4.3600497mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin8"]} pcbX="-5.4598697mm" pcbY="5.45108765mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin9"]} pcbX="-6.5599691mm" pcbY="5.45068125mm" width="0.5999988mm" height="1.2999974mm" shape="rect" />
<smtpad portHints={["pin10"]} pcbX="-7.7599667mm" pcbY="4.60069565mm" width="1.1999976mm" height="1.3999972mm" shape="rect" />
<smtpad portHints={["pin13"]} pcbX="6.9200141mm" pcbY="4.60069565mm" width="1.1999976mm" height="1.3999972mm" shape="rect" />
<smtpad portHints={["pin12"]} pcbX="7.7599667mm" pcbY="-5.10108835mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin11"]} pcbX="-7.7599667mm" pcbY="-5.10108835mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<silkscreenpath route={[{"x":-7.365987300000029,"y":3.581139650000182},{"x":-7.365987300000029,"y":-3.927989349999848}]} />
<silkscreenpath route={[{"x":7.366012699999828,"y":-3.991514749999851},{"x":7.366012699999828,"y":3.501485250000087}]} />
<silkscreenpath route={[{"x":-7.365987300000029,"y":-6.340963949999946},{"x":-7.365987300000029,"y":-9.401054349999981},{"x":7.366012699999828,"y":-9.401028949999954},{"x":7.366012699999828,"y":-6.491027149999923}]} />
<silkscreenpath route={[{"x":-7.365987300000029,"y":-8.915685749999966},{"x":-7.365987300000029,"y":-8.691022750000116},{"x":1.000010699999848,"y":-8.691022750000116},{"x":3.9370126999999684,"y":-9.388100349999945}]} />
<silkscreentext text="{NAME}" pcbX="0.0000127mm" pcbY="7.11097965mm" anchorAlignment="center" fontSize="1mm" />
<fabricationnotepath route={[{"x":-6.999998699999992,"y":-9.490995750000025},{"x":-6.999998699999992,"y":2.0090066500000603},{"x":-6.999998699999992,"y":-9.490995750000025}]} strokeWidth="0.254mm" />
<fabricationnotepath route={[{"x":7.000024100000019,"y":-9.490995750000025},{"x":7.000024100000019,"y":2.0090066500000603},{"x":6.0000007000001006,"y":2.0090066500000603},{"x":6.0000007000001006,"y":-9.490995750000025},{"x":7.000024100000019,"y":-9.490995750000025}]} strokeWidth="0.254mm" />
<fabricationnotepath route={[{"x":-5.999975300000074,"y":2.0090066500000603},{"x":6.0000007000001006,"y":2.0090066500000603},{"x":6.0000007000001006,"y":1.0090086500000552},{"x":-5.999975300000074,"y":1.0090086500000552},{"x":-5.999975300000074,"y":2.0090066500000603}]} strokeWidth="0.254mm" />
<courtyardoutline outline={[{"x":-8.606587300000115,"y":6.360979650000104},{"x":8.606612699999914,"y":6.360979650000104},{"x":8.606612699999914,"y":-9.73462035},{"x":-8.606587300000115,"y":-9.73462035},{"x":-8.606587300000115,"y":6.360979650000104}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.obj?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.step?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.0022224999997728645, y: 5.101310850000045, z: -0.14733820000000009 },
}}
{...props}
/>
)
}