diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/README.md b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/README.md new file mode 100644 index 00000000..772a5937 --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/README.md @@ -0,0 +1,5 @@ +# SparkFun Pro Micro - 5V/16MHz (DEV-12640) + +For more information about this board, visit the official SparkFun product page: + +[https://www.sparkfun.com/products/12640](https://www.sparkfun.com/products/12640) diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit.tsx b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit.tsx new file mode 100644 index 00000000..365e8fb2 --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit.tsx @@ -0,0 +1,561 @@ +import { USB_MICRO_XNJ_JB } from "../SparkFun-microB-USB-Breakout/USB_MICRO_XNJ_JB" +import { MIC5219_3_3YM5_TR } from "./imports/MIC5219_3_3YM5_TR" +import { ATMEGA32U4_MU } from "./imports/ATMEGA32U4_MU" +import { sel } from "tscircuit" + +const LEFT_PIN_LABELS = { + pin1: "TXO", + pin2: "RXI", + pin3: "GND", + pin4: "GND", + pin5: "2", + pin6: "3", + pin7: "4", + pin8: "5", + pin9: "6", + pin10: "7", + pin11: "8", + pin12: "9", +} + +const RIGHT_PIN_LABELS = { + pin1: "RAW", + pin2: "GND", + pin3: "RST", + pin4: "VCC", + pin5: "A3", + pin6: "A2", + pin7: "A1", + pin8: "A0", + pin9: "15", + pin10: "14", + pin11: "16", + pin12: "10", +} + +const HEADER_PIN_ORDER = [ + "pin1", + "pin2", + "pin3", + "pin4", + "pin5", + "pin6", + "pin7", + "pin8", + "pin9", + "pin10", + "pin11", + "pin12", +] + +const ProMicro5V16MHz = () => ( + + {/* USB Micro-B on the top short edge */} + + + {/* Left header (TXO, RXI, GND, GND, 2..9) */} + + + {/* Right header (RAW, GND, RST, VCC, A3..A0, 15, 14, 16, 10) */} + + + {/* + ────── TOP STRIP (between USB and MCU) ────── + Row A (y=+10.5): F1 fuse | D2 diode | U2 regulator + Row B (y= +8.5): R6/R7 USB data resistors | C3 reg bypass + Row C (y= +6.5): TX LED + R4 | RX LED + R5 | C1/C2 reg caps + All components live OUTSIDE the central 7x7mm MCU body. + */} + + {/* Row A: power-input protection */} + + + {/* D1 omitted: parallel USB_VBUS->RAW with F1 triggers dual-net autorouter error */} + + + + {/* Row C: TX/RX status LEDs - see routing note in README; wired via TX_LED/RX_LED nets */} + + + + + + + + + {/* ATmega32U4 MCU - centered */} + + + {/* Row B: USB data series resistors */} + + + + + {/* Regulator input/output caps, lined up to the right of the regulator */} + + + + + + + {/* UCAP capacitor, tucked left of the MCU */} + + + {/* 16 MHz SMD crystal below MCU (5.0 x 3.2 mm can, 2-pad SMT) */} + + + {/* RST pull-up resistor (right of ProMicro logo) */} + + + {/* 22 pF crystal load capacitors flanking Y1 */} + + + + + {/* 100 nF VCC decoupling caps - on either side of MCU body */} + + + + + {/* + Silkscreen labels: + - "ProMicro" sits in the gap between the MCU (top half) and the crystal (bottom half) + - "5V/16MHz" / "DEV-12640" sit at the very bottom edge + */} + + + + + {/* Reference designators printed on silkscreen, off to the side of components */} + + + + + + {/* */} + + {/* "16.000 / SPK W13" markings printed on the crystal can */} + + + + {/* Crystal can body outline (silkscreen rectangle around Y1) */} + {/* */} + + + {/* SparkFun flame mark approximation (top-right corner) */} + + + {/* Bottom layer text */} + + + {/* Schematic netlabels */} + + + + +) + +export default ProMicro5V16MHz diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-3d.snap.png b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-3d.snap.png new file mode 100644 index 00000000..79b2e07e Binary files /dev/null and b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-3d.snap.png differ diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-pcb.snap.svg b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-pcb.snap.svg new file mode 100644 index 00000000..7a779579 --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-pcb.snap.svg @@ -0,0 +1 @@ +SparkFun Pro MicroTXORXIGNDGND23456789JP1RAWGNDRSTVCCA3A2A1A015141610JP2F1U2R4LED1R5LED2U3R6R7C1C2C3C4Y1R1C7C8C5C6ProMicro5V/16MHzDEV-12640F1D2U2JPR116.000SPK W13J1SFE \ No newline at end of file diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-schematic.snap.svg b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-schematic.snap.svg new file mode 100644 index 00000000..2c8559c5 --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-schematic.snap.svg @@ -0,0 +1,499 @@ +USB_MICRO_XNJ_JBJ11VBUS2D_N3D_P4ID5GNDJP11TXO2RXI3GND4GND56789101112JP21RAW2GND3RST4VCC5A36A27A18A09101112F1500mA / 16VMIC5219_3_3YM5_TRU21IN2GND3EN4BYP5OUTR4330ΩTXLED1R5330ΩRXLED2ATMEGA32U4_MUU312UVcc3D_NEG4D_POS5UGnd6UCap7VBus8910111213RESET14VCC115GND116XTAL217XTAL1181920212223GND224AVCC125262728293031323334VCC235GND336373839404142AREF43GND444AVCC245EPR622ΩR722ΩC110uFC210uFC3470pFC41uF16MHz / 12pFY1R110kΩC722pFC822pFC5100nFC6100nFGNDVCCRAWUSB_VBUSUSB_VBUSUSB_VBUSUSB_DNUSB_DNUSB_DPUSB_DPGNDGNDGNDGNDGNDGNDGNDTXOTXORXIRXID2D2D3D3D4D4D5D5D6D6D7D7D8D8D9D9RAWRAWRAWRSTRSTRSTVCCVCCVCCVCCVCCVCCVCCD15D14D16U2_BPTX_LED_ATX_LED_ATX_LEDRX_LED_ARX_LED_ARX_LEDUSB_DN_MCUUSB_DP_MCUUCAPRX_LEDD15D16D14XTAL2XTAL1TX_LEDUSB_DN_MCUUSB_DP_MCUU2_BPUCAP \ No newline at end of file diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/ATMEGA32U4_MU.tsx b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/ATMEGA32U4_MU.tsx new file mode 100644 index 00000000..d0ac97e5 --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/ATMEGA32U4_MU.tsx @@ -0,0 +1,557 @@ +import type { ChipProps } from "@tscircuit/props" + +const pinLabels = { + pin1: ["pin1"], + pin2: ["UVcc"], + pin3: ["D_NEG"], + pin4: ["D_POS"], + pin5: ["UGnd"], + pin6: ["UCap"], + pin7: ["VBus"], + pin8: ["pin8"], + pin9: ["pin9"], + pin10: ["pin10"], + pin11: ["pin11"], + pin12: ["pin12"], + pin13: ["RESET"], + pin14: ["VCC1"], + pin15: ["GND1"], + pin16: ["XTAL2"], + pin17: ["XTAL1"], + pin18: ["pin18"], + pin19: ["pin19"], + pin20: ["pin20"], + pin21: ["pin21"], + pin22: ["pin22"], + pin23: ["GND2"], + pin24: ["AVCC1"], + pin25: ["pin25"], + pin26: ["pin26"], + pin27: ["pin27"], + pin28: ["pin28"], + pin29: ["pin29"], + pin30: ["pin30"], + pin31: ["pin31"], + pin32: ["pin32"], + pin33: ["pin33"], + pin34: ["VCC2"], + pin35: ["GND3"], + pin36: ["pin36"], + pin37: ["pin37"], + pin38: ["pin38"], + pin39: ["pin39"], + pin40: ["pin40"], + pin41: ["pin41"], + pin42: ["AREF"], + pin43: ["GND4"], + pin44: ["AVCC2"], + pin45: ["EP"], +} as const + +export const ATMEGA32U4_MU = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C112161.obj?uuid=f4f28d69e1114069a23b840a459c7d15", + stepUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C112161.step?uuid=f4f28d69e1114069a23b840a459c7d15", + pcbRotationOffset: 90, + modelOriginPosition: { + x: -0.000025400000026820635, + y: -0.000012700000070253736, + z: -0.02, + }, + }} + {...props} + /> + ) +} diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/MIC5219_3_3YM5_TR.tsx b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/MIC5219_3_3YM5_TR.tsx new file mode 100644 index 00000000..e8a2869c --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/MIC5219_3_3YM5_TR.tsx @@ -0,0 +1,137 @@ +import type { ChipProps } from "@tscircuit/props" + +const pinLabels = { + pin1: ["IN"], + pin2: ["GND"], + pin3: ["EN"], + pin4: ["BYP"], + pin5: ["OUT"], +} as const + +export const MIC5219_3_3YM5_TR = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + } + cadModel={{ + objUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C29613.obj?uuid=460193f9bf2d42e58cf3c2f675b07dc6", + stepUrl: + "https://modelcdn.tscircuit.com/easyeda_models/assets/C29613.step?uuid=460193f9bf2d42e58cf3c2f675b07dc6", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: 0.000012700000070253736, z: -0.049083 }, + }} + {...props} + /> + ) +} diff --git a/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/index.tsx b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/index.tsx new file mode 100644 index 00000000..48402fca --- /dev/null +++ b/boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/index.tsx @@ -0,0 +1,3 @@ +import ProMicro5V16MHz from "./SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit" + +export default ProMicro5V16MHz