Started on component selection of the final PCB.

This commit is contained in:
2026-06-13 21:58:06 +02:00
parent 5b732a0b34
commit a7c88109a9
22 changed files with 11239 additions and 578 deletions
+6 -3
View File
@@ -11,7 +11,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
RUN npm install -g @anthropic-ai/claude-code
WORKDIR /workspace
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN useradd -m -u 1000 -s /bin/bash vscode
USER vscode
WORKDIR /workspace
+2 -6
View File
@@ -4,15 +4,11 @@
"dockerfile": "Dockerfile",
"context": ".."
},
// USB flashing (iceprog) requires the IceBreaker to be forwarded to WSL2 first.
// On Windows: install usbipd-win (https://github.com/dorssel/usbipd-win/releases),
// then run (as Administrator) before opening this devcontainer:
// .devcontainer/attach-icebreaker.ps1
"runArgs": ["--privileged"],
"remoteUser": "vscode",
"workspaceFolder": "/workspace",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
"mounts": [
"source=${localEnv:USERPROFILE}/.claude,target=/root/.claude,type=bind,consistency=cached"
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.claude,target=/home/vscode/.claude,type=bind,consistency=cached"
],
"customizations": {
"vscode": {
+9
View File
@@ -11,6 +11,15 @@ __pycache__/
.venv/
venv/
# KiCad
fp-info-cache
*.bak
~*.lck
*-backups/
_autosave-*
.history/
# Editor / OS cruft
.DS_Store
*.swp
.history/
+4 -5
View File
@@ -98,11 +98,10 @@ All modules elaborate without errors and pass their unit tests. The full design
**Bring-up status panel (optional):** `BBATop(status_panel=True)` adds a
`StatusPanel` driving onboard iCEbreaker LEDs + button (dedicated pins, so it
coexists with EXI + W5100). `synth.py` enables it: **LEDG=heartbeat**,
**LEDR=EXI activity** (the GC is talking), **BTN_N=manual re-init**. The full
EXI + W5100 + panel build synthesizes and meets timing (slow ~35≥24, capture
~64≥54, 44% LC). Panel LEDs 35 (rx/tx/ready) exist in the module but aren't
mapped on the iCEbreaker (only 2 discrete LEDs); the onboard RGB or a custom
PCB can expose them.
**LEDR=EXI activity** (the GC is talking), **RGB red=rx / green=tx / blue=ready**
(via `SB_RGBA_DRV` on pins 39/40/41), **BTN_N=manual re-init**. All 5 panel
LEDs are now mapped on the iCEbreaker. The full EXI + W5100 + panel build
synthesizes and meets timing (slow ~35≥24, capture ~64≥54, 44% LC).
**Ethernet back-end is selectable:** `BBATop(eth="w5100")` (default — indirect
parallel bus, reaches the ~27 Mbit/s EXI ceiling) or `BBATop(eth="w5500")` (SPI,
+11 -6
View File
@@ -11,12 +11,17 @@
"id": "be20a2e02f2b6437",
"type": "leaf",
"state": {
"type": "image",
"type": "canvas",
"state": {
"file": "media/pinouts.png"
"file": "GameCube/Sp1 physical connector.canvas",
"viewState": {
"x": 72,
"y": -20,
"zoom": -0.26699024884117767
}
},
"icon": "lucide-image",
"title": "pinouts"
"icon": "lucide-layout-dashboard",
"title": "Sp1 physical connector"
}
}
]
@@ -167,11 +172,11 @@
"bases:Create new base": false
}
},
"active": "be20a2e02f2b6437",
"active": "c9cf1762af2fc6d1",
"lastOpenFiles": [
"media/pinouts.png",
"media/SP1-picture-with-pin-numbers.jpg",
"IceBreaker FPGA/Pinouts for PMODs.md",
"media/pinouts.png",
"Pasted image 20250920193353.png",
"GameCube/Sp1 physical connector.canvas",
"IceBreaker FPGA",
+156
View File
@@ -0,0 +1,156 @@
# Component Selection
Component choices for the re-BBA-RB replacement PCB, with rationale.
---
## Power Architecture
The SP1 connector supplies **12 V on pin 5**. The design needs two rails:
| Rail | Consumers | Current budget |
|------|-----------|----------------|
| 3.3 V | FPGA I/O (VCCIO all banks), W5100S VCC/AVCC, config flash | ~300 mA |
| 1.2 V | FPGA core (VCC), FPGA PLL (VCCPLL) | ~80 mA |
A linear regulator dropping 12 V → 3.3 V at 300 mA would dissipate ~2.6 W — unacceptable in the enclosed GameCube bay. The chosen topology uses a **switching buck** for the large drop and a **low-dropout linear** for the small 3.3 V → 1.2 V step:
```
12 V ──► TPS562201DDCR (buck) ──► 3.3 V ──► AP2112K-1.2 (LDO) ──► 1.2 V
~90 % efficient 105 mW dissipated
~0.3 W heat (2.1 V × 50 mA)
```
Power-on sequencing is naturally correct: the LDO input is the buck output, so 1.2 V cannot rise before 3.3 V is established. The iCE40 requires core (1.2 V) ≤ I/O (3.3 V) during power-up — this topology satisfies that without any additional sequencing logic.
---
## Power Components
### TPS562201DDCR — 12 V → 3.3 V Buck Converter
| Property | Value |
|----------|-------|
| Manufacturer | Texas Instruments |
| Package | SOT-23-5 (DDCR suffix) |
| Input voltage | 4.5 17 V |
| Output current | 2 A |
| Efficiency | ~90 % at this operating point |
| External components | Inductor + 3 capacitors |
**Why this part:**
The DDCR (SOT-23-5) variant was chosen over the DRLR (SOT-23-6) because the extra pin on the -6 package is only an EN (enable) control. This supply is always-on — it powers up with the GameCube and powers down with it — so EN tied to VIN internally (as the -5 package does) is the correct behaviour and removes one pin and one footprint variant to manage.
The SOT-23-5 footprint is in KiCad's official library (`Package_TO_SOT_SMD:SOT-23-5`). The symbol is available from SnapEDA.
**Why not a linear regulator:** dropping 8.7 V at 300 mA in a TO-252 or SOT-223 LDO dissipates ~2.6 W. A heatsink would be required and the GameCube bay has no airflow.
---
### AP2112K-1.2TRG1 — 3.3 V → 1.2 V LDO
| Property | Value |
|----------|-------|
| Manufacturer | Diodes Inc. |
| Package | SOT-23-5 |
| Input voltage | 1.5 6 V |
| Output voltage | 1.2 V fixed |
| Output current | 600 mA |
| Dropout voltage | 250 mV @ 600 mA |
| Noise | 50 µV rms |
**Why this part:**
The FPGA core supply needs a fixed 1.2 V with low noise (PLL and core logic are sensitive to supply ripple). The AP2112K is widely used for exactly this purpose in iCE40 and other FPGA designs.
Previously considered alternatives were rejected:
- **LP2985**: no 1.2 V fixed variant in the standard product family (lowest is 2.5 V).
- **TLV1117 fixed**: minimum fixed output is 1.25 V, not 1.2 V; the adjustable version needs two resistors and has worse accuracy.
- **LM1117-1.2**: valid fallback, available in KiCad, but larger SOT-223 package with higher dropout.
The AP2112K is available in the Digikey KiCad library. Heat dissipation: (3.3 1.2) V × 80 mA = 168 mW — well within SOT-23-5 ratings.
---
## Core Silicon
### iCE40UP5K-SG48ITR — FPGA
| Property | Value |
|----------|-------|
| Manufacturer | Lattice Semiconductor |
| Package | QFN-48 (SG48), 7 × 7 mm |
| Logic cells | 5280 LUT4 |
| SPRAM | 128 kB (4 × SB_SPRAM256KA) |
| I/O banks | 3 (VCCIO per bank, up to 3.3 V) |
Unchanged from the iCEbreaker development platform. The design was written and validated for this device. The SG48 QFN package has ~34 usable I/O; the design uses 21 (5 EXI + 15 W5100 + 1 clock), leaving ~13 free for expansion or debug headers.
Symbols and footprints: available from SnapEDA and the iCEbreaker community KiCad libraries.
---
### W5100S-L — Ethernet MAC/PHY
| Property | Value |
|----------|-------|
| Manufacturer | WIZnet |
| Package | QFN-48 |
| Interface | Indirect parallel bus (IDM), A[1:0] + D[7:0] |
| Power supply | 3.3 V single supply (internal LDO for core) |
| Max throughput | ~27 Mbit/s (matches EXI ceiling) |
**Why W5100S over original W5100:**
The W5100S is a register-compatible drop-in upgrade. The firmware targets the W5100 register map, which is identical on the W5100S. Benefits of the S variant:
- Available in QFN-48 (smaller and easier to hand-solder than LQFP)
- Lower power consumption
- Single 3.3 V supply — the W5100S has an internal core LDO, so no separate 1.2 V rail is needed for the ethernet chip (unlike some original W5100 versions)
**Why parallel bus over SPI (W5500):** The parallel IDM bus runs at 24 MHz synchronous clock and achieves ~27 Mbit/s — matching the EXI ceiling. The W5500 SPI path is limited to ~12 Mbit/s by the operating logic speed on the iCE40UP5K (~40 MHz ceiling for the W5500 transaction FSM, not just the bit-bang). W5100 is the throughput path for bulk ROM streaming. See CLAUDE.md "W5100 vs W5500" for the full analysis.
**Only 2 address pins wired (A[1:0]):** The W5100S in Indirect Data Mode (IDM) exposes only 4 registers on the bus — MR, IDM_AR0 (address high), IDM_AR1 (address low), IDM_DR (data). A[1:0] selects between them; all access to the full 16-bit register/buffer space is handled by writing the target address into IDM_AR first. The board ties A[14:2] to GND.
WIZnet provides official KiCad symbols and footprints on their GitHub.
---
### W25Q32JVSSIQ — SPI Configuration Flash
| Property | Value |
|----------|-------|
| Manufacturer | Winbond |
| Package | SOIC-8 |
| Capacity | 32 Mbit (4 MB) |
The iCE40UP5K loads its bitstream from an external SPI flash at power-on. 32 Mbit is ample — the compressed bitstream is well under 1 MB. SOIC-8 footprint is in KiCad's official library (`Package_SO:SOIC-8`).
---
## Clocks
### 12 MHz Crystal — FPGA PLL Reference
The iCE40's internal PLL requires an external reference. The design uses 12 MHz (DIVR=0, DIVF=71, DIVQ=4) to generate 54 MHz for the EXI capture domain. The internal HFOSC (48 MHz ÷ 2 = 24 MHz) is used for the EXI and sync domains.
Suggested footprint: 3.2 × 2.5 mm SMD crystal (e.g. ABM8G series).
### 25 MHz Crystal — W5100S PHY Reference
The W5100S integrated Ethernet PHY requires a 25 MHz reference crystal. Same 3.2 × 2.5 mm SMD package recommended for consistency.
---
## Ethernet Interface
### Integrated MagJack (e.g. HR911105A)
An integrated RJ45 connector with built-in magnetics and link/activity LEDs. Choosing an integrated MagJack over discrete transformer + RJ45 reduces component count, eliminates transformer placement constraints, and ensures the common-mode choke is matched to the connector.
---
## Ground and Power Planes
- **Single solid GND plane** — do not split signal and power ground. At 2427 MHz digital switching, return currents flow under their signal traces; splitting the plane forces longer return paths and increases EMI.
- **SP1 pin 2 (shield ground)** — connect to GND plane near the connector via a 0 Ω resistor or 100 nF capacitor to allow a break point if the GameCube chassis ground introduces a ground loop during bring-up.
- **SP1 pin 5 (12 V)** — power input to buck converter. Do not connect to any FPGA I/O.
- **Buck converter layout** — keep the switching loop (input cap → switch node → inductor → output cap) compact and away from EXI and Ethernet signal traces.
- **Decoupling** — 100 nF ceramic (0402) at every power pin; 100 µF bulk cap near the SP1 connector on the 3.3 V rail.
+66
View File
@@ -0,0 +1,66 @@
# RGB LED Status Panel
## Background
The `StatusPanel` module (`exi_bba/status_panel.py`) exposes 5 logical LED outputs:
| Index | Signal | Meaning |
|-------|--------|---------|
| `led[0]` | heartbeat | ~1.4 Hz blink — clock alive, bitstream loaded |
| `led[1]` | exi_active | EXI transaction in progress (GC is talking) |
| `led[2]` | rx_act | Ethernet frame received |
| `led[3]` | tx_act | Ethernet frame transmitted |
| `led[4]` | ready | Ethernet initialisation complete |
The iCEbreaker board has **two discrete LEDs** (LEDR pin 11, LEDG pin 37) and **one RGB LED** (pins 39/40/41). Together they cover all 5 signals with no overlap.
---
## Pin Mapping
| Physical LED | iCE40 pin | Signal | Colour |
|-------------|-----------|--------|--------|
| LEDG (discrete green) | 37 | `led[0]` heartbeat | green |
| LEDR (discrete red) | 11 | `led[1]` EXI activity | red |
| RGB element 0 | 41 | `led[2]` rx activity | red |
| RGB element 1 | 40 | `led[3]` tx activity | green |
| RGB element 2 | 39 | `led[4]` ready | blue |
The RGB colour-to-element mapping (RGB0/RGB1/RGB2 → R/G/B) should be verified against the iCEbreaker schematic at hardware bring-up. It is a one-line change in `synth.py` if elements are swapped.
---
## Implementation
The iCEbreaker RGB LED has **no series current-limiting resistors** on the board. It relies on the iCE40UP5K's on-chip `SB_RGBA_DRV` primitive, which is a dedicated open-drain current-source driver with built-in PWM support. The RGB pins (39/40/41) cannot be driven safely as regular LVCMOS outputs for this reason.
`SB_RGBA_DRV` outputs connect directly to the physical RGB pad locations — nextpnr places the primitive automatically without requiring PCF pin constraints. The platform resource system (`platform.request()`) is therefore **not used** for the RGB pins; only the two discrete LEDs are declared as platform resources.
The instance is added in `exi_bba/synth.py` inside the `self._status_panel` block of `BBATopSynth.elaborate()`:
```python
m.submodules.rgb_drv = Instance("SB_RGBA_DRV",
p_CURRENT_MODE="0b1", # half-current mode
p_RGB0_CURRENT="0b000001", # ~4 mA red
p_RGB1_CURRENT="0b000001", # ~4 mA green
p_RGB2_CURRENT="0b000001", # ~4 mA blue
i_CURREN=Const(1, 1),
i_RGBLEDEN=Const(1, 1),
i_RGB0PWM=led[2], # rx activity
i_RGB1PWM=led[3], # tx activity
i_RGB2PWM=led[4], # ready
o_RGB0=Signal(name="rgb_r"),
o_RGB1=Signal(name="rgb_g"),
o_RGB2=Signal(name="rgb_b"),
)
```
The output signals (`rgb_r/g/b`) are unconnected in the Amaranth netlist. yosys preserves `SB_RGBA_DRV` as a known iCE40 hardware primitive regardless, and nextpnr routes its outputs to the physical RGB pads.
Current is set to the lowest available setting (4 mA half-current) — visible as a status indicator without being distracting.
---
## No Changes Required in StatusPanel
The `StatusPanel` module already outputs all 5 signals on `self.led[0:5]`. Only `synth.py` changed — adding the `SB_RGBA_DRV` instance and updating the comment block.
+23 -2
View File
@@ -116,8 +116,10 @@ class BBATopSynth(BBATop):
]
# ── Bring-up status panel → onboard LEDs / button ──────────────
# Two discrete LEDs answer the #1 bring-up question on a real GC:
# LEDG = heartbeat (clock alive) LEDR = EXI activity (GC talking)
# All 5 panel LEDs mapped:
# LEDG (pin 37) = led[0] heartbeat
# LEDR (pin 11) = led[1] EXI activity
# RGB (pins 39/40/41) = led[2] rx / led[3] tx / led[4] ready
# The one onboard button → panel btn[1] (manual re-init).
if self._status_panel:
ledr = platform.request("ledr", 0)
@@ -132,6 +134,25 @@ class BBATopSynth(BBATop):
self.panel_btn.eq(Cat(C(1, 1), btn.i, C(1, 1))),
]
# iCEbreaker RGB LED has no series resistors — must use
# SB_RGBA_DRV (raw pad driver with built-in current source).
# RGB0=red→rx_act RGB1=green→tx_act RGB2=blue→ready
# Verify colour-to-element mapping against schematic at bring-up.
m.submodules.rgb_drv = Instance("SB_RGBA_DRV",
p_CURRENT_MODE="0b1",
p_RGB0_CURRENT="0b000001",
p_RGB1_CURRENT="0b000001",
p_RGB2_CURRENT="0b000001",
i_CURREN=Const(1, 1),
i_RGBLEDEN=Const(1, 1),
i_RGB0PWM=led[2],
i_RGB1PWM=led[3],
i_RGB2PWM=led[4],
o_RGB0=Signal(name="rgb_r"),
o_RGB1=Signal(name="rgb_g"),
o_RGB2=Signal(name="rgb_b"),
)
return m
+30
View File
@@ -0,0 +1,30 @@
(footprint J1B1211CCD (layer F.Cu) (tedit 6A2DA0B6)
(descr "")
(fp_text reference REF** (at -3.175 -11.684 0) (layer F.SilkS)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_text value J1B1211CCD (at 1.27 11.811 0) (layer F.Fab)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(pad None np_thru_hole circle (at -5.715 0.0) (size 3.25 3.25) (drill 3.25) (layers *.Cu *.Mask))
(pad None np_thru_hole circle (at 5.715 0.0) (size 3.25 3.25) (drill 3.25) (layers *.Cu *.Mask))
(pad 1 thru_hole rect (at -4.445 -6.35) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 2 thru_hole circle (at -3.175 -8.89) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 3 thru_hole circle (at -1.905 -6.35) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 4 thru_hole circle (at -0.635 -8.89) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 5 thru_hole circle (at 0.635 -6.35) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 6 thru_hole circle (at 1.905 -8.89) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 7 thru_hole circle (at 3.175 -6.35) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 8 thru_hole circle (at 4.445 -8.89) (size 1.408 1.408) (drill 0.9) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 9 thru_hole circle (at -6.325 5.08) (size 1.53 1.53) (drill 1.02) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 10 thru_hole circle (at -3.758 3.38) (size 1.53 1.53) (drill 1.02) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 11 thru_hole circle (at 3.758 5.08) (size 1.53 1.53) (drill 1.02) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 12 thru_hole circle (at 6.325 3.38) (size 1.53 1.53) (drill 1.02) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 13 thru_hole circle (at -7.75 -3.05) (size 2.4 2.4) (drill 1.6) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(pad 14 thru_hole circle (at 7.75 -3.05) (size 2.4 2.4) (drill 1.6) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
(fp_line (start -8.0 -10.6) (end -8.0 10.75) (layer F.SilkS) (width 0.127))
(fp_line (start -8.0 10.75) (end 8.0 10.75) (layer F.SilkS) (width 0.127))
(fp_line (start 8.0 10.75) (end 8.0 -10.6) (layer F.SilkS) (width 0.127))
(fp_line (start 8.0 -10.6) (end -8.0 -10.6) (layer F.SilkS) (width 0.127))
)
+158
View File
@@ -0,0 +1,158 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "J1B1211CCD" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "P" (id 0) (at -7.62 22.86 0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "J1B1211CCD" (id 1) (at -7.62 -25.4 0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "J1B1211CCD:J1B1211CCD" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "WIZnet" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Purchase-URL" "https://pricing.snapeda.com/search/part/J1B1211CCD/?ref=eda" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "None" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/J1B1211CCD/WIZnet/view-part/?ref=eda" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/J1B1211CCD/WIZnet/view-part/?ref=snap" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "J1B1211CCD" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\n \n 1 Port RJ45 Magjack Connector Through Hole 10/100 Base-T, AutoMDIX\n \n" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "J1B1211CCD_0_0"
(rectangle (start -7.62 -22.86) (end 7.62 22.86)
(stroke (width 0.254)) (fill (type background))
)
(pin passive line (at -10.16 20.32 0) (length 2.54)
(name "TD+"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 17.78 0) (length 2.54)
(name "TCT"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 15.24 0) (length 2.54)
(name "TD-"
(effects (font (size 1.016 1.016)))
)
(number "3"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 12.7 0) (length 2.54)
(name "RD+"
(effects (font (size 1.016 1.016)))
)
(number "4"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 10.16 0) (length 2.54)
(name "RCT"
(effects (font (size 1.016 1.016)))
)
(number "5"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 7.62 0) (length 2.54)
(name "RD-"
(effects (font (size 1.016 1.016)))
)
(number "6"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 5.08 0) (length 2.54)
(name "NC"
(effects (font (size 1.016 1.016)))
)
(number "7"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 2.54 0) (length 2.54)
(name "GH_GND@1"
(effects (font (size 1.016 1.016)))
)
(number "8"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -2.54 0) (length 2.54)
(name "GRN-"
(effects (font (size 1.016 1.016)))
)
(number "9"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -5.08 0) (length 2.54)
(name "GRN+"
(effects (font (size 1.016 1.016)))
)
(number "10"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -10.16 0) (length 2.54)
(name "YLW-"
(effects (font (size 1.016 1.016)))
)
(number "11"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -12.7 0) (length 2.54)
(name "YLW+"
(effects (font (size 1.016 1.016)))
)
(number "12"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -17.78 0) (length 2.54)
(name "CH_GND@2"
(effects (font (size 1.016 1.016)))
)
(number "13"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -10.16 -20.32 0) (length 2.54)
(name "CH_GND@3"
(effects (font (size 1.016 1.016)))
)
(number "14"
(effects (font (size 1.016 1.016)))
)
)
)
)
)
+103
View File
@@ -0,0 +1,103 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "TPS562201DDCR" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -12.7 13.7 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "TPS562201DDCR" (id 1) (at -12.7 -16.7 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "TPS562201DDCR:SOT95P280X110-6N" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "Texas Instruments" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "1.10 mm" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "SOT-23-THN-6 Texas Instruments" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/TPS562201DDCR/Texas+Instruments/view-part/?ref=eda" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "IPC-7351B" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PARTREV" "A" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/TPS562201DDCR/Texas+Instruments/view-part/?ref=snap" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "TPS562201DDCR" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\n \n 4.5 V to 17 V input, 2 A output, synchronous step-down converter in Eco-mode\n \n" (id 13) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 14) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Texas Instruments" (id 15) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "TPS562201DDCR_0_0"
(rectangle (start -12.7 -12.7) (end 12.7 12.7)
(stroke (width 0.254)) (fill (type background))
)
(pin power_in line (at -17.78 10.16 0) (length 5.08)
(name "VIN"
(effects (font (size 1.016 1.016)))
)
(number "3"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 5.08 0) (length 5.08)
(name "EN"
(effects (font (size 1.016 1.016)))
)
(number "5"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 17.78 0.0 180.0) (length 5.08)
(name "SW"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 -5.08 0) (length 5.08)
(name "VBST"
(effects (font (size 1.016 1.016)))
)
(number "6"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 0.0 0) (length 5.08)
(name "VFB"
(effects (font (size 1.016 1.016)))
)
(number "4"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 17.78 -10.16 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
)
)
)
+5
View File
@@ -0,0 +1,5 @@
(kicad_symbol_lib
(version 20251024)
(generator "kicad_symbol_editor")
(generator_version "10.0")
)
File diff suppressed because it is too large Load Diff
+127
View File
@@ -0,0 +1,127 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"prototype_zone_fills": false,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes",
"board_outline_area",
"ly_points"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"integration_disabled": false,
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "re-bba-rb.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_time_domain_details": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"hierarchy_collapsed": [],
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"ruleAreas": true,
"symbols": true,
"text": true,
"wires": true
}
}
}
+667
View File
@@ -0,0 +1,667 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_barcodes": false,
"apply_defaults_to_fp_dimensions": false,
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"border_display_style": 2,
"border_hatch_pitch": 0.5,
"corner_radius": 0.0,
"corner_smoothing": 0,
"fill_mode": 0,
"hatch_gap": 1.5,
"hatch_orientation": 0.0,
"hatch_smoothing_level": 0,
"hatch_smoothing_value": 0.1,
"hatch_thickness": 1.0,
"min_clearance": 0.5,
"min_island_area": 10.0,
"min_thickness": 0.25,
"pad_connection": 1,
"remove_islands": 0,
"thermal_relief_gap": 0.5,
"thermal_relief_spoke_width": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_field_mismatch": "warning",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"missing_tuning_profile": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "error",
"padstack": "warning",
"pth_inside_courtyard": "error",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_not_centered_on_via": "ignore",
"track_on_post_machined_layer": "error",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"tuning_profile_track_geometries": "ignore",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"bom_rev": "",
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": "",
"sch_revision": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"component_class_settings": {
"assignments": [],
"meta": {
"version": 0
},
"sheet_component_classes": {
"enabled": false
}
},
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"field_name_whitespace": "warning",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"ground_pin_not_ground": "warning",
"hier_label_mismatch": "error",
"isolated_pin_label": "warning",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"stacked_pin_name": "warning",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "re-bba-rb.kicad_pro",
"version": 3
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"tuning_profile": "",
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 5
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"idf": "",
"netlist": "",
"plot": "",
"specctra_dsn": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"annotation": {
"method": 0,
"sort_order": 0
},
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "Default Editing",
"sort_asc": true,
"sort_field": "Reference"
},
"bus_aliases": {},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"hop_over_size_choice": 0,
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"page_layout_descr_file": "",
"plot_directory": "",
"reuse_designators": true,
"subpart_first_id": 65,
"subpart_id_separator": 0,
"top_level_sheets": [
{
"filename": "re-bba-rb.kicad_sch",
"name": "Root",
"uuid": "dbb182a6-d579-468e-b98b-6f0950da9e3a"
}
],
"used_designators": "P1,J1,U1-5",
"variants": []
},
"sheets": [
[
"dbb182a6-d579-468e-b98b-6f0950da9e3a",
"Root"
]
],
"text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
}
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
(sym_lib_table
(version 7)
)
File diff suppressed because it is too large Load Diff
+37 -4
View File
@@ -63,9 +63,42 @@
"version": 5
},
"net_inspector_panel": {
"col_hidden": [],
"col_order": [],
"col_widths": [],
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
@@ -76,7 +109,7 @@
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
"sorting_column": 0
},
"open_jobsets": [],
"project": {
+204 -3
View File
@@ -2,12 +2,213 @@
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {},
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"rules": {},
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"via_dimensions": []
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
File diff suppressed because it is too large Load Diff
@@ -271,4 +271,394 @@
)
(embedded_fonts no)
)
(symbol "Sp1_Connector_Left"
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "J*"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "Sp1_Connector_Left_1_1"
(pin output line
(at -1.27 -2.54 0)
(length 2.54)
(name "ExtIn"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin output line
(at -1.27 -5.08 0)
(length 2.54)
(name "Int"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -7.62 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "3"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -10.16 0)
(length 2.54)
(name "12V"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "4"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -12.7 0)
(length 2.54)
(name "3.3V"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "5"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -15.24 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "6"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin output line
(at -1.27 -17.78 0)
(length 2.54)
(name "DI"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "7"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -20.32 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "8"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "Sp1_Connector_Right"
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "J*"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "Sp1_Connector_Right_1_1"
(pin power_out line
(at -1.27 -2.54 0)
(length 2.54)
(name "Shield"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin output line
(at -1.27 -5.08 0)
(length 2.54)
(name "CLK"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -7.62 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "3"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin output line
(at -1.27 -10.16 0)
(length 2.54)
(name "DO"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "4"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -12.7 0)
(length 2.54)
(name "3.3V"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "5"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -15.24 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "6"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin output line
(at -1.27 -17.78 0)
(length 2.54)
(name "CS"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "7"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin power_out line
(at -1.27 -20.32 0)
(length 2.54)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "8"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
)