From ca74cd99c89b925cc2c9b414aaa621716c7ddcd8 Mon Sep 17 00:00:00 2001 From: Devesh36 <142524747+Devesh36@users.noreply.github.com> Date: Sun, 31 May 2026 14:19:41 +0530 Subject: [PATCH] Implementing Pro-Micro-5V-16Mhz --- .../README.md | 5 + ...n-Pro-Micro-5V-16MHz-DEV-12640.circuit.tsx | 561 ++++++++++++++++++ ...cro-5V-16MHz-DEV-12640.circuit-3d.snap.png | Bin 0 -> 66269 bytes ...ro-5V-16MHz-DEV-12640.circuit-pcb.snap.svg | 1 + ...16MHz-DEV-12640.circuit-schematic.snap.svg | 499 ++++++++++++++++ .../imports/ATMEGA32U4_MU.tsx | 557 +++++++++++++++++ .../imports/MIC5219_3_3YM5_TR.tsx | 137 +++++ .../index.tsx | 3 + 8 files changed, 1763 insertions(+) create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/README.md create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit.tsx create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-3d.snap.png create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-pcb.snap.svg create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/__snapshots__/SparkFun-Pro-Micro-5V-16MHz-DEV-12640.circuit-schematic.snap.svg create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/ATMEGA32U4_MU.tsx create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/imports/MIC5219_3_3YM5_TR.tsx create mode 100644 boards/SparkFun-Pro-Micro-5V-16MHz-DEV-12640/index.tsx 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 0000000000000000000000000000000000000000..79b2e07e40e778cc8223e81255d3ab428174a487 GIT binary patch literal 66269 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 literal 0 HcmV?d00001 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