finalized pcb design, need to remeasure PCB outline.

This commit is contained in:
Dennis Brentjes
2026-07-08 22:00:53 +02:00
parent 4e7853351c
commit 620ae5cd64
55 changed files with 25126 additions and 116594 deletions
+114
View File
@@ -0,0 +1,114 @@
---
name: kicad-bom-edit
description: Use when adding or editing BOM/part fields (MPN, LCSC, Manufacturer, tolerance, voltage/current ratings, DNP) on KiCad .kicad_sch symbols by hand or script, or when a kicad-cli BOM export is missing parts. Covers safe property insertion, the "malformed property silently drops a whole sheet" pitfall, and the netlist-vs-BOM count verification that catches it. KiCad 7/8/9/10 S-expression schematics.
---
# Editing KiCad schematics for BOM
Adding manufacturer part numbers (MPN), LCSC codes, ratings, etc. to a KiCad
`.kicad_sch` so the BOM can be ordered/assembled (e.g. JLCPCB). **Prefer the
KiCad GUI** (Symbol Fields Table / per-symbol properties) — it can't corrupt the
file. Only hand/script-edit when the GUI isn't available, and then follow this
exactly.
## How symbols store fields
Each placed symbol is `(symbol (lib_id ...) (at ...) ... <properties> <pins> (instances ...))`.
A field is a **property**, a direct child of the symbol:
```
(property "MPN" "FNR4018S3R3MT"
(at 139.7 87.63 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects (font (size 1.27 1.27)))
)
```
Properties `Reference`, `Value`, `Footprint`, `Datasheet`, `Description` are
mandatory; `MPN`/`LCSC`/`Manufacturer`/`V`/`Type`/`Current`/etc. are custom BOM
fields. Field **names must be unique** within a symbol. `kicad-cli sch export
bom --fields '...'` selects which show up as columns.
## ⚠️ THE PITFALL: a malformed property silently drops the WHOLE sheet
New BOM fields must be **siblings** of `Value` (direct children of the symbol) —
NOT nested inside another property. If you accidentally place them *inside* the
`Value` property, `kicad-cli sch export bom` will **silently omit every component
on that sheet** — no warning, exit code 0 — while `kicad-cli sch export netlist`
still parses fine and shows nothing wrong. A whole page of parts (regulators,
connectors…) can vanish from the BOM you send to the fab.
**Root cause seen in practice:** naive regex insertion. Property indentation
**varies by file** (some use 2 tabs for `(property`, some 1). A regex like
`.*?\n\t\t\t\)` grabs the first 3-tab close — which is the inner `effects`/`font`
close, not the property's own close — so the insert lands *inside* `Value`.
## Safe insertion (script)
1. **Match the entire target property block by balanced parens**, keyed on its
unique content (e.g. `Value` = "2.2uH" at a known `(at ...)`), from the
`(property "Value"` line to *its own* closing paren at the property's indent
level. Don't rely on a fixed tab count guessed from another file — detect the
file's actual property indentation first.
2. Insert new `(property ...)` blocks **after** that close, at the **same indent
level** as `Value` (siblings), with children one level deeper.
3. Keep every block paren-balanced (each `(property` / `(effects` / `(font` has
its close).
Robust pattern (Python) — replace the whole Value block and append siblings:
```python
import re
src=open(f).read()
# whole L1 Value property: 2-tab property line, 3+tab children, 2-tab close
pat=re.compile(r'\t\t\(property "Value" "2\.2uH"\n(?:\t\t\t.*\n)*?\t\t\)\n')
m=pat.search(src)
def prop(n,v):
return (f'\t\t(property "{n}" "{v}"\n\t\t\t(at 139.7 87.63 0)\n\t\t\t(hide yes)\n'
f'\t\t\t(show_name no)\n\t\t\t(do_not_autoplace no)\n\t\t\t(effects\n\t\t\t\t(font\n'
f'\t\t\t\t\t(size 1.27 1.27)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n')
block=m.group(0).replace('"2.2uH"','"3.3uH"') # keep Value block intact
add=prop("MPN","FNR4018S3R3MT")+prop("LCSC","C167805")+prop("Manufacturer","cjiang")
src=src[:m.start()]+block+add+src[m.end():]
open(f,'w').write(src)
```
(Whitespace inside S-expressions is not significant to KiCad — matching indent
is only for legibility and to hit the right closing paren. KiCad rewrites
formatting on its next save.)
## ✅ ALWAYS verify: netlist component count must equal BOM row count
This is the check that catches the silent-drop bug. After any schematic edit:
```bash
kicad-cli sch export netlist --format kicadsexpr -o /tmp/n.net project.kicad_sch
kicad-cli sch export bom --fields 'Reference,Value,MPN,LCSC' -o /tmp/b.csv project.kicad_sch
# count components in each; they MUST match
```
Parse the netlist `(components (comp (ref ...)))` for the ref set, and the BOM
CSV first column for its ref set, and print the difference. If the BOM set is
smaller, some sheet was dropped — you have a malformed property. Confirm the
specific row (`grep '"L1"' /tmp/b.csv`) shows its new fields populated.
## Dual-project-instance sheets
A sub-sheet that was once its own standalone project (e.g. `Power.kicad_sch`
reused in `re-bba-rb`) has `(instances (project "power" ...) (project
"re-bba-rb" ...))` on each symbol. This is normal, but it makes such sheets
extra-sensitive to malformed properties in BOM export — always run the
count check after editing these.
## Part selection for JLCPCB / LCSC
- Fill `MPN`, `Manufacturer`, and the **`LCSC` C-number** (e.g. `C167805`) — the
LCSC code is what JLC assembly needs. Don't invent C-numbers; verify each on
lcsc.com / jlcpcb.com/parts (existence, stock, **Basic vs Extended** — Extended
= small one-time fee).
- For power inductors, record and check **Isat** (saturation ≥ peak current) and
**Irms**; a value/footprint alone isn't enough.
- Match the field-naming already used in the project (this repo uses `V`,
`Type`, `Current`, `MPN`, `LCSC`, `Manufacturer`).
+9
View File
@@ -31,4 +31,13 @@ RUN pip install --no-cache-dir -r /tmp/requirements.txt
RUN useradd -m -u 1000 -s /bin/bash vscode
USER vscode
# KiCad global library tables (copied from the installed templates) so kicad-cli
# can run the library-parity DRC/ERC checks. Without these, every standard
# footprint/symbol reports "library not configured". KiCad's built-in defaults
# resolve the ${KICAD10_*_DIR} paths inside the templates, so no env vars needed.
RUN mkdir -p /home/vscode/.config/kicad/10.0 \
&& cp /usr/share/kicad/template/fp-lib-table /home/vscode/.config/kicad/10.0/fp-lib-table \
&& cp /usr/share/kicad/template/sym-lib-table /home/vscode/.config/kicad/10.0/sym-lib-table
WORKDIR /workspace
+3
View File
@@ -18,6 +18,9 @@ fp-info-cache
*-backups/
_autosave-*
.history/
hardware/re-bba-rb/gerbers
*-bom.csv
*-cpl.csv
# Editor / OS cruft
.DS_Store
+6 -4
View File
@@ -2,7 +2,10 @@
Clock domains
-------------
capture : 54 MHz, from 12 MHz crystal via SB_PLL40_PAD (DIVR=0 DIVF=71 DIVQ=4)
capture : 54 MHz, from 12 MHz oscillator via SB_PLL40_CORE (REFERENCECLK fed
from a global-buffer input pin; DIVR=0 DIVF=71 DIVQ=4). CORE (not
PAD) so the reference clock is not tied to the dedicated PLL pad — it
enters on a clock-capable GBIN pin, leaving board routing free.
exi/sync : 24 MHz, from the iCE40UP5K internal SB_HFOSC (÷2, CLKHF_DIV=0b01)
Submodule instantiation and signal wiring
@@ -119,15 +122,14 @@ class BBATop(Elaboratable):
# ~91 MHz on this device; the byte-FIFO read path brings the
# integrated capture domain to ~62 MHz, so 54 closes with margin.
m.domains += ClockDomain("capture")
platform.lookup(platform.default_clk).attrs["GLOBAL"] = False
m.submodules.pll = Instance(
"SB_PLL40_PAD",
"SB_PLL40_CORE",
p_FEEDBACK_PATH = "SIMPLE",
p_DIVR = 0,
p_DIVF = 71,
p_DIVQ = 4,
p_FILTER_RANGE = 1,
i_PACKAGEPIN = platform.request("clk12", dir="-").io,
i_REFERENCECLK = platform.request("clk12").i,
i_RESETB = Const(1, 1),
i_BYPASS = Const(0, 1),
o_PLLOUTGLOBAL = ClockSignal("capture"),
+2 -2
View File
@@ -41,7 +41,7 @@ class IceBreakerPlatform(LatticeICE40Platform):
resources = [
Resource("clk12", 0,
Pins("35", dir="i"),
Pins("20", dir="i"),
Clock(12e6),
Attrs(GLOBAL=True, IO_STANDARD="SB_LVCMOS")),
@@ -62,7 +62,7 @@ class IceBreakerPlatform(LatticeICE40Platform):
Subsignal("rd_n", Pins("19", dir="o")),
Subsignal("wr_n", Pins("26", dir="o")),
Subsignal("int_n", Pins("23", dir="i")),
Subsignal("rst_n", Pins("20", dir="o")),
Subsignal("rst_n", Pins("18", dir="o")),
Attrs(IO_STANDARD="SB_LVCMOS")),
# Bring-up status panel → iCEbreaker ONBOARD parts (dedicated pins, not
+3466 -737
View File
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@
(at 0 -4.5 0)
(unlocked yes)
(layer "F.SilkS")
(uuid "c46ae6a3-2d2f-46bc-a737-e78ed0c07f3e")
(uuid "917a9844-9f3a-4c94-80e8-8d354a4083a8")
(effects
(font
(size 1 1)
@@ -19,7 +19,7 @@
(at 0 1 0)
(unlocked yes)
(layer "F.Fab")
(uuid "3461c71a-c46f-4810-ae09-08ec5ca1d1cc")
(uuid "2c5be931-9722-41ff-9fd9-0c6278ebec77")
(effects
(font
(size 1 1)
@@ -32,7 +32,7 @@
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "a3844c29-105c-4f8c-a6e8-4df990e08a1f")
(uuid "d81ac225-7558-4cfe-88bf-1696c7a12cd4")
(effects
(font
(size 1 1)
@@ -45,7 +45,7 @@
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "272fbb69-9f5f-42a4-b05b-36c2fcb45dff")
(uuid "f01d2e45-e29f-4513-a1a9-6b2973a1d3f4")
(effects
(font
(size 1 1)
@@ -166,6 +166,7 @@
(at 12 -4.2)
(size 1.5 2)
(layers "F.Cu" "F.Mask" "F.Paste")
(zone_connect 2)
(uuid "b399b7b5-f95d-42af-b6ad-b8005e0e220a")
)
(pad "2" thru_hole circle
@@ -174,6 +175,7 @@
(drill 1)
(layers "*.Cu" "F.Mask")
(remove_unused_layers no)
(zone_connect 2)
(thermal_bridge_angle 90)
(uuid "c081903f-06d0-49e6-8b65-f59af44fab20")
)
@@ -303,6 +305,7 @@
(drill 1)
(layers "*.Cu" "F.Mask")
(remove_unused_layers no)
(zone_connect 2)
(thermal_bridge_angle 90)
(uuid "e1c2f8b8-87e1-4dad-8d12-a793452e85f2")
)
@@ -310,12 +313,14 @@
(at 3 -0.8)
(size 1.5 2)
(layers "F.Cu" "F.Mask" "F.Paste")
(zone_connect 2)
(uuid "2aa85fd9-17bc-4938-9c98-fa1edc53590c")
)
(pad "12" smd rect
(at 2 -4.2)
(size 1.5 2)
(layers "F.Cu" "F.Mask" "F.Paste")
(zone_connect 2)
(uuid "edc0cec0-2ddb-44d7-8cae-959b588c39d2")
)
(pad "12" thru_hole circle
@@ -324,6 +329,7 @@
(drill 1)
(layers "*.Cu" "F.Mask")
(remove_unused_layers no)
(zone_connect 2)
(thermal_bridge_angle 90)
(uuid "4bb3c4fe-a697-41c9-a6b4-979c545a78c0")
)
+1 -1
View File
@@ -7,7 +7,7 @@
(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)
(property "Footprint" "hardware: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)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,5 +0,0 @@
(kicad_symbol_lib
(version 20251024)
(generator "kicad_symbol_editor")
(generator_version "10.0")
)
File diff suppressed because it is too large Load Diff
@@ -1,53 +0,0 @@
Qty,Value,Footprint,Specs,References
30,100nF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=10V,"C6,C7,C11,C17,C19,C22,C26,C27,C28,C29,C31,C32,C33,C34,C35,C36,C37,C40,C41,C42,C44,C45,C46,C47,C48,C49,C51,C52,C53,C54"
5,10k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=5%,"R5,R9,R11,R12,R18"
4,1uF,C_0603_1608Metric_Pad1.08x0.95mm_HandSolder,Type=X7R V=10V,"C1,C2,C15,C55"
3,10uF,C_0805_2012Metric_Pad1.18x1.45mm_HandSolder,Type=X5R V=10V,"C16,C23,C50"
3,22uF,C_1206_3216Metric_Pad1.33x1.80mm_HandSolder,Type=X5R V=10V,"C8,C9,C10"
3,4.7uF,C_0603_1608Metric_Pad1.08x0.95mm_HandSolder,Type=X7R V=10V,"C30,C38,C39"
2,100nF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=50V,"C4,C5"
2,10pF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=C0G V=50V,"C57,C58"
2,10uF,C_0805_2012Metric_Pad1.18x1.45mm_HandSolder,Type=X5R V=25V,"C3,C60"
2,18pF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=C0G V=50V,"C24,C25"
2,330,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=5%,"R14,R15"
2,5.1k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=5%,"R6,R7"
2,600R@100MHz,L_0603_1608Metric_Pad1.05x0.95mm_HandSolder,Current=200mA,"FB1,FB2"
1,0.1uF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=10V,C21
1,0.1uF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=16V,C20
1,100,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=5%,R13
1,100k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R4
1,100nF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=16V,C14
1,100uF,CP_Elec_6.3x7.7,Type=Aluminum V=25V,C59
1,10k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R2
1,10nF,C_0402_1005Metric_Pad0.74x0.62mm_HandSolder,Type=X7R V=10V,C43
1,10uF,C_0805_2012Metric_Pad1.18x1.45mm_HandSolder,Type=X5R V=16V,C12
1,12.4k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R16
1,120R@100MHz,L_0805_2012Metric_Pad1.05x1.20mm_HandSolder,Current=1A,FB3
1,12MHz,Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering,CL=18pF ESR=50R Tolerance=±30ppm Type=X7R V=10V,Y1
1,12MHz,SOT-23-5,,X1
1,12k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R10
1,1M,R_0603_1608Metric_Pad0.98x0.95mm_HandSolder,Tolerance=5%,R8
1,1M,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=5%,R17
1,1nF,C_0603_1608Metric_Pad1.08x0.95mm_HandSolder,Type=C0G V=100V,C18
1,1uF,C_0603_1608Metric_Pad1.08x0.95mm_HandSolder,Type=X7R V=16V,C13
1,2.2uH,L_Changjiang_FNR4018S,,L1
1,200k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R3
1,25MHz,Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering,C0=7pF CL=8pF ESR=30R Tolerance=±50ppm Type=X7R V=10V,Y2
1,3.3uF,C_0603_1608Metric_Pad1.08x0.95mm_HandSolder,Type=X7R V=10V,C56
1,33k,R_0402_1005Metric_Pad0.72x0.64mm_HandSolder,Tolerance=1%,R1
1,93LC46B,SOIC-8_3.9x4.9mm_P1.27mm,,U7
1,ADUM4160,SOIC-16W_7.5x10.3mm_P1.27mm,,U5
1,ADuM5000ARWZ,SOIC-16W_7.5x10.3mm_P1.27mm,,U6
1,AP2112K-1.2,SOT-23-5,,U1
1,AP2112K-3.3,SOT-23-5,,U4
1,FT2232HL,LQFP-64-1EP_10x10mm_P0.5mm_EP5x5mm,,U8
1,HR911105A,HANRUN_HR911105A,,J2
1,ICE40UP5K-SG48ITR,QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm,,U9
1,Sp1_Connector,SP1 BoardConnector,,J3
1,TPS2116DRL,SOT-583-8,,U2
1,TPS22810DBV,SOT-23-6,,U12
1,TPS562201DDCR,SOT95P280X110-6N,,U3
1,USBLC6-2SC6,SOT-23-6_Handsoldering,,D1
1,USB_C,USB_C_Receptacle_Hanbo-MC-711-H72,,J1
1,W25Q32JVSS,SOIC-8_5.3x5.3mm_P1.27mm,,U10
1,W5100S-L,LQFP-48_7x7mm_P0.5mm,,U11
1 Qty Value Footprint Specs References
2 30 100nF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=10V C6,C7,C11,C17,C19,C22,C26,C27,C28,C29,C31,C32,C33,C34,C35,C36,C37,C40,C41,C42,C44,C45,C46,C47,C48,C49,C51,C52,C53,C54
3 5 10k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=5% R5,R9,R11,R12,R18
4 4 1uF C_0603_1608Metric_Pad1.08x0.95mm_HandSolder Type=X7R V=10V C1,C2,C15,C55
5 3 10uF C_0805_2012Metric_Pad1.18x1.45mm_HandSolder Type=X5R V=10V C16,C23,C50
6 3 22uF C_1206_3216Metric_Pad1.33x1.80mm_HandSolder Type=X5R V=10V C8,C9,C10
7 3 4.7uF C_0603_1608Metric_Pad1.08x0.95mm_HandSolder Type=X7R V=10V C30,C38,C39
8 2 100nF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=50V C4,C5
9 2 10pF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=C0G V=50V C57,C58
10 2 10uF C_0805_2012Metric_Pad1.18x1.45mm_HandSolder Type=X5R V=25V C3,C60
11 2 18pF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=C0G V=50V C24,C25
12 2 330 R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=5% R14,R15
13 2 5.1k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=5% R6,R7
14 2 600R@100MHz L_0603_1608Metric_Pad1.05x0.95mm_HandSolder Current=200mA FB1,FB2
15 1 0.1uF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=10V C21
16 1 0.1uF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=16V C20
17 1 100 R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=5% R13
18 1 100k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R4
19 1 100nF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=16V C14
20 1 100uF CP_Elec_6.3x7.7 Type=Aluminum V=25V C59
21 1 10k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R2
22 1 10nF C_0402_1005Metric_Pad0.74x0.62mm_HandSolder Type=X7R V=10V C43
23 1 10uF C_0805_2012Metric_Pad1.18x1.45mm_HandSolder Type=X5R V=16V C12
24 1 12.4k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R16
25 1 120R@100MHz L_0805_2012Metric_Pad1.05x1.20mm_HandSolder Current=1A FB3
26 1 12MHz Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering CL=18pF ESR=50R Tolerance=±30ppm Type=X7R V=10V Y1
27 1 12MHz SOT-23-5 X1
28 1 12k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R10
29 1 1M R_0603_1608Metric_Pad0.98x0.95mm_HandSolder Tolerance=5% R8
30 1 1M R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=5% R17
31 1 1nF C_0603_1608Metric_Pad1.08x0.95mm_HandSolder Type=C0G V=100V C18
32 1 1uF C_0603_1608Metric_Pad1.08x0.95mm_HandSolder Type=X7R V=16V C13
33 1 2.2uH L_Changjiang_FNR4018S L1
34 1 200k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R3
35 1 25MHz Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering C0=7pF CL=8pF ESR=30R Tolerance=±50ppm Type=X7R V=10V Y2
36 1 3.3uF C_0603_1608Metric_Pad1.08x0.95mm_HandSolder Type=X7R V=10V C56
37 1 33k R_0402_1005Metric_Pad0.72x0.64mm_HandSolder Tolerance=1% R1
38 1 93LC46B SOIC-8_3.9x4.9mm_P1.27mm U7
39 1 ADUM4160 SOIC-16W_7.5x10.3mm_P1.27mm U5
40 1 ADuM5000ARWZ SOIC-16W_7.5x10.3mm_P1.27mm U6
41 1 AP2112K-1.2 SOT-23-5 U1
42 1 AP2112K-3.3 SOT-23-5 U4
43 1 FT2232HL LQFP-64-1EP_10x10mm_P0.5mm_EP5x5mm U8
44 1 HR911105A HANRUN_HR911105A J2
45 1 ICE40UP5K-SG48ITR QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm U9
46 1 Sp1_Connector SP1 BoardConnector J3
47 1 TPS2116DRL SOT-583-8 U2
48 1 TPS22810DBV SOT-23-6 U12
49 1 TPS562201DDCR SOT95P280X110-6N U3
50 1 USBLC6-2SC6 SOT-23-6_Handsoldering D1
51 1 USB_C USB_C_Receptacle_Hanbo-MC-711-H72 J1
52 1 W25Q32JVSS SOIC-8_5.3x5.3mm_P1.27mm U10
53 1 W5100S-L LQFP-48_7x7mm_P0.5mm U11
@@ -1,54 +0,0 @@
# re-BBA-RB — PCB Layout Checklist / Floor-Plan Plan
Board: ~40 × 100 mm, **1.2 mm, 4-layer, ENIG**. Interposer is a break-off tab of the same panel.
## 1. Stackup (1.2 mm 4-layer)
- **L1 SIG** · **L2 GND (GC_Ground)** · **L3 PWR (3V3)** · **L4 SIG** — ground image plane directly under the top-side parts.
- Thin prepreg on L1L2 and L3L4; thick core L2L3 (so PWR↔GND plane cap is weak → lean on discrete decoupling).
- On L2, the ground plane carries **GC_Ground** everywhere **except a `USB_GND` island** in the isolated corner.
- Put the cleanest/fastest GC-referenced nets (EXI, Ethernet pairs) on **L1 over L2 GND**; slower/tolerant nets on L4.
## 2. Isolation barrier (the #1 rule)
- One continuous **gap on all four layers** separating the floating section from the board. **Zero signals cross it** — only U5 (ADuM4160) and U6 (ADuM5000) bridge it, internally.
- **Floating section** (put together in one corner, over the L2 `USB_GND` island): J1 (USB-C), D1 (USBLC6), U4 (AP2112K floating LDO), primary sides of U5/U6.
- Cross-barrier parts: **R8 (1 MΩ)** + **C18 (1 nF Y-cap)** — place C18 hard across the gap, short loop.
- USB-C **CC Rd resistors R6/R7** present; keep near the connector.
## 3. isoPower (U6 ADuM5000) EMI — 180 MHz radiator
- Keep the isolated island **small**; solid ground under U6.
- Bypass **C60/C61 (0.1 µF)** right at VDD1/VISO; the 10 µF bulk (C16/C18 on the rail) near U6 too.
- Keep U6 **away from the W5100 PHY, the Ethernet magnetics, and the USB/EXI signal lines**.
- Optional (only if chasing compliance): **overlapping-plane stitching** — extend L1 GC_Ground over the L2 USB_GND across the gap (vias to GND only on the GC side; no vias in the overlap). Otherwise the discrete C18 handles the 180 MHz fundamental.
## 4. Buck (U3 TPS562201) — hot loop
- **C3 ∥ C60 (2× 10 µF, input)** tight to VIN with a short, wide return — this is the hot loop.
- **L1 (2.2 µH)** and **C9 ∥ C10 (2× 22 µF, output)** close; keep the **SWN** copper small (min area, no sensitive traces near it).
- **C4 (bootstrap)** right at SW/VBST. Feedback divider **R1/R2** away from SWN, FB trace short.
- **C59 (100 µF electrolytic, 12 V bulk)** at the EXI 12 V entry; **C5** decoupling near VIN.
## 5. W5100S (U11) + Ethernet
- **Y2 (25 MHz) + C57/C58 (10 pF, CL=8 pF)** hard against XI/XO, guard with ground.
- **R16 (RSET 12.4 k)** close to RSET_BG; **FB3 (120R, 1 A) + C56 (3.3 µF)** on the 1V2O→1V2A/D path, short and low-DCR.
- **TX/RX differential pairs → magjack (J2):** short, **100 Ω differential**, matched length, over solid GC_Ground; keep the two pairs apart. Center-tap caps + terminations close.
- LED resistors **R14/R15 (330)** near the magjack LEDs.
- **Load switch U12** on the W5100 3.3 V feed, enabled by `GC_ON`; place at the W5100 power entry.
## 6. FT2232H (U8) + USB
- **Y1 (12 MHz) + C24/C25 (18 pF)** at OSCI/OSCO — verify frequency at bring-up, tune caps if off.
- **FB1/FB2 (600R) + C27/C28** on VPHY/VPLL, close to the pins; **C22+R9** reset RC near RESET#; **R10 (12 k)** on REF.
- **USB D+/D:** floating side (J1↔U5) on **L1 over USB_GND**; board side (U5↔U8) on **L4 over GC_Ground**. ~90 Ω diff (full-speed via ADuM4160, so forgiving) but keep references clean.
## 7. iCE40 (U9) + support
- Decoupling (C36/C37/C40/C41/C46/C47 etc.) one per VCC pin, tight.
- **VCCPLL filter R13 (100) + C43/C45** right at VCCPLL; **U1 (1V2 LDO) + C39/C42/C44** near the core.
- **X1 (12 MHz osc) + C80** near the clock input pin; **U10 (SPI flash)** close to the config pins.
## 8. EXI / SP1 interposer (J3)
- EXI signals (CLK/CS/MOSI/MISO/INT) reference **GC_Ground continuously** to the edge fingers.
- **EXTIN → 10 k (R18) → SP1_3V3**; the 12 V bulk near the connector.
- Interposer: **1.2 mm, ENIG, edge chamfer** on the gold fingers; **break-off tab on a different edge** than the fingers.
## 9. General
- Every decoupling cap next to its pin (values/positions already specced in the schematic).
- Via-stitch the two ground pours generously; via-fence the isolated island edge.
- Confirm before order: **X1 package**, **SP1 footprint geometry**, magjack/USB-C footprints vs datasheets.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,4 +0,0 @@
(fp_lib_table
(version 7)
(lib (name "gc") (type "KiCad") (uri "${KIPRJMOD}/gc.pretty") (options "") (descr ""))
)
@@ -1,22 +0,0 @@
ERC report (2026-07-03T13:46:21, Encoding UTF8)
Report includes: Errors
***** Sheet /
***** Sheet /Power/
***** Sheet /Usb Connector/
***** Sheet /fpga/
***** Sheet /ethernet/
***** Sheet /exi/
** ERC messages: 0 Errors 0 Warnings 0
** Ignored checks:
- Global label only appears once in the schematic
- Four connection points are joined together
- SPICE model issue
- Assigned footprint doesn't match footprint filters
@@ -1,42 +0,0 @@
"Reference","Qty","Value","DNP","Exclude from BOM","Exclude from Board","Footprint","Datasheet"
"C1,C2,C3,C4,C16,C17","6","1uF","","","","Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder",""
"C5,C10,C11,C12","4","22uF","","","","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder",""
"C6,C7,C8,C9,C13,C15,C19,C21,C22,C26,C27,C28,C29,C31,C32,C33,C34,C35,C36,C37,C40,C41,C42,C44,C45,C46,C47,C49,C50,C51,C52,C56,C57","33","100nF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"C14,C18,C23,C48","4","10uF","","","","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder",""
"C20","1","1nF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"C24,C25","2","18pF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"C30,C38,C39","3","4.7uF","","","","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder",""
"C43","1","10nF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"C53","1","3.3uF","","","","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder",""
"C54,C55","2","10pF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"C58","1","100uF","","","","Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder",""
"D1","1","USBLC6-2SC6","","","","",""
"FB1,FB2,FB3","3","BLM","","","","",""
"J1","1","USB_C","","","","Connector_USB:USB_C_Plug_ShenzhenJingTuoJin_918-118A2021Y40002_Vertical",""
"J2","1","Sp1_Connector","","","","",""
"L1","1","6.8uH","","","","",""
"P1","1","J1B1211CCD","","","","hardware:J1B1211CCD",""
"R1","1","33k","","","","",""
"R2,R5,R9,R11,R12,R18","6","10k","","","","",""
"R3","1","200k","","","","",""
"R4","1","100k","","","","",""
"R6,R7","2","5.1k","","","","",""
"R8,R15","2","1M","","","","",""
"R10","1","12k","","","","",""
"R13","1","100","","","","",""
"R14","1","12.4k","","","","",""
"R16,R17","2","330","","","","",""
"U1","1","AP2112K-1.2","","","","Package_TO_SOT_SMD:SOT-23-5",""
"U2,U5","2","AP2112K-3.3","","","","Package_TO_SOT_SMD:SOT-23-5",""
"U3","1","TPS2116DRL","","","","Package_TO_SOT_SMD:SOT-583-8",""
"U4","1","TPS562201DDCR","","","","TPS562201DDCR:SOT95P280X110-6N",""
"U6","1","IH0505S","","","","",""
"U7","1","ADUM4160","","","","",""
"U8","1","93LC46B","","","","",""
"U9","1","FT2232HL","","","","",""
"U10","1","ICE40UP5K-SG48ITR","","","","Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm","http://www.latticesemi.com/Products/FPGAandCPLD/iCE40Ultra"
"U11","1","W25Q32JVSS","","","","Package_SO:SOIC-8_5.3x5.3mm_P1.27mm","http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf"
"U12","1","W5100S-L","","","","Package_QFP:LQFP-48_7x7mm_P0.5mm","https://docs.wiznet.io/img/products/w5100s/w5100s-ds-v128e.pdf"
"X1","1","12MHz","","","","Package_TO_SOT_SMD:SOT-23-5",""
"Y1","1","12MHz","","","","",""
"Y2","1","25MHz","","","","",""
1 Reference Qty Value DNP Exclude from BOM Exclude from Board Footprint Datasheet
2 C1,C2,C3,C4,C16,C17 6 1uF Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder
3 C5,C10,C11,C12 4 22uF Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder
4 C6,C7,C8,C9,C13,C15,C19,C21,C22,C26,C27,C28,C29,C31,C32,C33,C34,C35,C36,C37,C40,C41,C42,C44,C45,C46,C47,C49,C50,C51,C52,C56,C57 33 100nF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
5 C14,C18,C23,C48 4 10uF Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder
6 C20 1 1nF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
7 C24,C25 2 18pF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
8 C30,C38,C39 3 4.7uF Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder
9 C43 1 10nF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
10 C53 1 3.3uF Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder
11 C54,C55 2 10pF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
12 C58 1 100uF Capacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolder
13 D1 1 USBLC6-2SC6
14 FB1,FB2,FB3 3 BLM
15 J1 1 USB_C Connector_USB:USB_C_Plug_ShenzhenJingTuoJin_918-118A2021Y40002_Vertical
16 J2 1 Sp1_Connector
17 L1 1 6.8uH
18 P1 1 J1B1211CCD hardware:J1B1211CCD
19 R1 1 33k
20 R2,R5,R9,R11,R12,R18 6 10k
21 R3 1 200k
22 R4 1 100k
23 R6,R7 2 5.1k
24 R8,R15 2 1M
25 R10 1 12k
26 R13 1 100
27 R14 1 12.4k
28 R16,R17 2 330
29 U1 1 AP2112K-1.2 Package_TO_SOT_SMD:SOT-23-5
30 U2,U5 2 AP2112K-3.3 Package_TO_SOT_SMD:SOT-23-5
31 U3 1 TPS2116DRL Package_TO_SOT_SMD:SOT-583-8
32 U4 1 TPS562201DDCR TPS562201DDCR:SOT95P280X110-6N
33 U6 1 IH0505S
34 U7 1 ADUM4160
35 U8 1 93LC46B
36 U9 1 FT2232HL
37 U10 1 ICE40UP5K-SG48ITR Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm http://www.latticesemi.com/Products/FPGAandCPLD/iCE40Ultra
38 U11 1 W25Q32JVSS Package_SO:SOIC-8_5.3x5.3mm_P1.27mm http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf
39 U12 1 W5100S-L Package_QFP:LQFP-48_7x7mm_P0.5mm https://docs.wiznet.io/img/products/w5100s/w5100s-ds-v128e.pdf
40 X1 1 12MHz Package_TO_SOT_SMD:SOT-23-5
41 Y1 1 12MHz
42 Y2 1 25MHz
File diff suppressed because it is too large Load Diff
@@ -1,144 +0,0 @@
{
"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_pcb.old.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
],
"col_widths": [
162,
147,
91,
67,
91,
91,
91,
71,
91,
91,
91,
91
],
"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": 0
},
"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
}
}
}
@@ -1,753 +0,0 @@
{
"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
},
{
"group_by": false,
"label": "Check_prices",
"name": "Check_prices",
"show": false
},
{
"group_by": false,
"label": "Manufacturer",
"name": "Manufacturer",
"show": false
},
{
"group_by": false,
"label": "MF",
"name": "MF",
"show": false
},
{
"group_by": false,
"label": "MP",
"name": "MP",
"show": false
},
{
"group_by": false,
"label": "Package",
"name": "Package",
"show": false
},
{
"group_by": false,
"label": "Price",
"name": "Price",
"show": false
},
{
"group_by": false,
"label": "Purchase-URL",
"name": "Purchase-URL",
"show": false
},
{
"group_by": false,
"label": "SnapEDA_Link",
"name": "SnapEDA_Link",
"show": false
},
{
"group_by": false,
"label": "Availability",
"name": "Availability",
"show": false
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "",
"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": "ReBBaRb",
"uuid": "dbb182a6-d579-468e-b98b-6f0950da9e3a"
}
],
"used_designators": "#PWR0ffa1,J1-4,#PWR04cfa1,#PWR019b1,#PWR05fc1,#PWR0d1,#PWR0c80c1,R1-18,#PWR0670d1,L1,#PWR0d9d1,#PWR0e1,#PWR035b1,#PWR0Y1-2,#PWR0C1,C1-60,#FLG0USBVBUS1,#PWR08d1,#FLG0USBGND1,#PWR1-41,#PWR45,Y1-2,#FLG0GC3V1,#PWR0772b1,#PWR03d6c1,FB1-3,#FLG01V2ETH1,#PWR076f1,#PWR07dc1,#PWR091b1,#FLG012VEXI1,X1,U1-13,#PWR04fe1,#FLG0SP13V1,#PWR03bde1,#PWR06d1,#PWR0eff1,#PWR090e1,#PWR064c1-2,#PWR0AD1-4,#PWR0fa1-2,#FLG0VPHY1,D1,#PWR082e1,#PWR0b0ce1,#PWR0fb6f1,#PWR0df1,#PWR0SW1-2,#PWR050d1,#PWR0f3c1,#PWR0f1,#PWR0b4ee1,#PWR0c3b1,#PWR0cb1,#PWR09e1,#PWR0a5b1",
"variants": []
},
"sheets": [
[
"dbb182a6-d579-468e-b98b-6f0950da9e3a",
"ReBBaRb"
],
[
"69f32f10-d46b-43fd-9030-7f4135d40b78",
"Power"
],
[
"64033f5d-a512-44d7-9483-4c31ef84bd56",
"Usb Connector"
],
[
"73763384-ff95-4826-8da6-2de53070e62f",
"fpga"
],
[
"c2ddb95f-8a63-4bb0-b3f2-a27a372fea3a",
"ethernet"
],
[
"1b071f68-b4ea-469c-942f-de06380c9077",
"exi"
]
],
"text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
}
@@ -1,144 +0,0 @@
{
"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,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
],
"col_widths": [
162,
147,
91,
67,
91,
91,
91,
71,
91,
91,
91,
91
],
"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": 0
},
"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
}
}
}
@@ -1,753 +0,0 @@
{
"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
},
{
"group_by": false,
"label": "Check_prices",
"name": "Check_prices",
"show": false
},
{
"group_by": false,
"label": "Manufacturer",
"name": "Manufacturer",
"show": false
},
{
"group_by": false,
"label": "MF",
"name": "MF",
"show": false
},
{
"group_by": false,
"label": "MP",
"name": "MP",
"show": false
},
{
"group_by": false,
"label": "Package",
"name": "Package",
"show": false
},
{
"group_by": false,
"label": "Price",
"name": "Price",
"show": false
},
{
"group_by": false,
"label": "Purchase-URL",
"name": "Purchase-URL",
"show": false
},
{
"group_by": false,
"label": "SnapEDA_Link",
"name": "SnapEDA_Link",
"show": false
},
{
"group_by": false,
"label": "Availability",
"name": "Availability",
"show": false
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "",
"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": "ReBBaRb",
"uuid": "dbb182a6-d579-468e-b98b-6f0950da9e3a"
}
],
"used_designators": "#PWR0cb1,#PWR0b4ee1,#PWR0fb6f1,#PWR0df1,#FLG0VPHY1,#PWR0fa1-2,#PWR0c3b1,#PWR050d1,#PWR0f3c1,#FLG0USBVBUS1,C1-62,#PWR0b0ce1,#PWR082e1,D1,#PWR0AD1-4,#PWR035b1,#PWR0Y1-2,X1,U1-13,#FLG0USBGND1,#PWR090e1,#PWR0eff1,#PWR03bde1,#FLG0SP13V1,#PWR06d1,#FLG01V2ETH1,#PWR064c1-2,#PWR0C1,#PWR0c80c1,#PWR0d1,#PWR03d6c1,FB1-3,R1-18,#PWR0670d1,L1,#PWR04fe1,#PWR019b1,#PWR05fc1,#PWR1-43,#PWR45,Y1-2,#PWR0e1,#PWR0d9d1,#PWR09e1,#PWR0a5b1,#PWR0SW1-2,#PWR0f1,#PWR08d1,#PWR04cfa1,J1-4,#PWR0ffa1,#FLG0GC3V1,#PWR0772b1,#PWR076f1,#PWR07dc1,#PWR091b1,#FLG012VEXI1",
"variants": []
},
"sheets": [
[
"dbb182a6-d579-468e-b98b-6f0950da9e3a",
"ReBBaRb"
],
[
"69f32f10-d46b-43fd-9030-7f4135d40b78",
"Power"
],
[
"64033f5d-a512-44d7-9483-4c31ef84bd56",
"Usb Connector"
],
[
"73763384-ff95-4826-8da6-2de53070e62f",
"fpga"
],
[
"c2ddb95f-8a63-4bb0-b3f2-a27a372fea3a",
"ethernet"
],
[
"1b071f68-b4ea-469c-942f-de06380c9077",
"exi"
]
],
"text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
}
File diff suppressed because it is too large Load Diff
@@ -1,4 +0,0 @@
(sym_lib_table
(version 7)
(lib (name "GameCube")(type "KiCad")(uri "${KIPRJMOD}/../sp1_test_plug/symbols/GameCube.kicad_sym")(options "")(descr "GameCube SP1 connector"))
)
File diff suppressed because it is too large Load Diff
+86 -12
View File
@@ -286,7 +286,7 @@
(pin passive line
(at 0 3.81 270)
(length 1.27)
(name "~"
(name ""
(effects
(font
(size 1.27 1.27)
@@ -304,7 +304,7 @@
(pin passive line
(at 0 -3.81 90)
(length 1.27)
(name "~"
(name ""
(effects
(font
(size 1.27 1.27)
@@ -1136,8 +1136,9 @@
)
)
)
(property "Description" ""
(property "Description" "Special symbol for telling ERC where power comes from"
(at 62.23 86.36 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1212,8 +1213,42 @@
)
)
)
(property "Description" ""
(property "Description" "Polarized capacitor"
(at 96.52 86.36 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "MPN" "VZH101M1ETR-0607"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Manufacturer" "Lelon"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "LCSC" "C311617"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1311,8 +1346,9 @@
)
)
)
(property "Description" ""
(property "Description" "Special symbol for telling ERC where power comes from"
(at 62.23 91.44 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1387,8 +1423,42 @@
)
)
)
(property "Description" ""
(property "Description" "Resistor"
(at 68.58 76.2 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "MPN" "0402WGF1002TCE"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Manufacturer" "UNI-ROYAL"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "LCSC" "C25744"
(at 0 0 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1475,8 +1545,9 @@
)
)
)
(property "Description" ""
(property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 74.93 101.6 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1549,8 +1620,9 @@
)
)
)
(property "Description" ""
(property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 74.93 104.14 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1580,7 +1652,7 @@
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(dnp no)
(dnp yes)
(uuid "e1d71023-db8e-47ed-9ae2-d0237788b46a")
(property "Reference" "J3"
(at 49.53 72.136 0)
@@ -1604,7 +1676,7 @@
(justify left)
)
)
(property "Footprint" "gc:SP1 BoardConnector"
(property "Footprint" "hardware:SP1 BoardConnector"
(at 60.96 88.9 0)
(hide yes)
(show_name no)
@@ -1732,8 +1804,9 @@
)
)
)
(property "Description" ""
(property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 96.52 95.25 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
@@ -1806,8 +1879,9 @@
)
)
)
(property "Description" ""
(property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 74.93 78.74 0)
(hide yes)
(show_name no)
(do_not_autoplace no)
(effects
+5
View File
@@ -0,0 +1,5 @@
(fp_lib_table
(version 7)
(lib (name "hardware") (type "KiCad") (uri "${KIPRJMOD}/..") (options "") (descr ""))
(lib (name "sp1_test_plug") (type "KiCad") (uri "${KIPRJMOD}/../sp1_test_plug") (options "") (descr ""))
)
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
(version 1)
# SP1 edge-connector (J3): the gold fingers must reach the board edge to make
# contact in the GameCube slot, so copper-to-edge clearance is intentionally
# relaxed for this footprint only. This is by design, not a defect.
# Test BOTH items because the violated pair is (Edge.Cuts segment of J3) vs (pad
# of J3) - the edge segment is item A, the pad is item B.
(rule "SP1 gold fingers - allow copper to board edge"
(condition "A.memberOfFootprint('J3') || B.memberOfFootprint('J3')")
(constraint edge_clearance (min -0.5mm)))
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
{
"board": {
"active_layer": 5,
"active_layer": 4,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
@@ -53,7 +53,7 @@
"board_outline_area",
"ly_points"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffff5f",
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
+80 -8
View File
@@ -148,20 +148,20 @@
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_copper_edge_clearance": 0.2,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_hole_clearance": 0.15,
"min_hole_to_hole": 0.2,
"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_through_hole_diameter": 0.2,
"min_track_width": 0.2,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"min_via_annular_width": 0.05,
"min_via_diameter": 0.3,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
@@ -508,7 +508,7 @@
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"clearance": 0.15,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
@@ -537,7 +537,7 @@
"last_paths": {
"idf": "",
"netlist": "",
"plot": "",
"plot": "gerbers/",
"specctra_dsn": "",
"vrml": ""
},
@@ -677,6 +677,78 @@
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
},
{
"group_by": false,
"label": "ESR",
"name": "ESR",
"show": false
},
{
"group_by": false,
"label": "PARTREV",
"name": "PARTREV",
"show": false
},
{
"group_by": false,
"label": "LCSC",
"name": "LCSC",
"show": false
},
{
"group_by": false,
"label": "MAXIMUM_PACKAGE_HEIGHT",
"name": "MAXIMUM_PACKAGE_HEIGHT",
"show": false
},
{
"group_by": false,
"label": "STANDARD",
"name": "STANDARD",
"show": false
},
{
"group_by": false,
"label": "Tolerance",
"name": "Tolerance",
"show": false
},
{
"group_by": false,
"label": "Type",
"name": "Type",
"show": false
},
{
"group_by": false,
"label": "V",
"name": "V",
"show": false
},
{
"group_by": false,
"label": "CL",
"name": "CL",
"show": false
},
{
"group_by": false,
"label": "Current",
"name": "Current",
"show": false
},
{
"group_by": false,
"label": "MPN",
"name": "MPN",
"show": false
},
{
"group_by": false,
"label": "C0",
"name": "C0",
"show": false
}
],
"filter_string": "",
+2
View File
@@ -1,4 +1,6 @@
(sym_lib_table
(version 7)
(lib (name "GameCube")(type "KiCad")(uri "${KIPRJMOD}/../sp1_test_plug/symbols/GameCube.kicad_sym")(options "")(descr "GameCube SP1 connector"))
(lib (name "TPS562201DDCR")(type "KiCad")(uri "${KIPRJMOD}/../TPS562201DDCR.kicad_sym")(options "")(descr "TPS562201 buck (custom)"))
(lib (name "HR911105A")(type "KiCad")(uri "${KIPRJMOD}/../HR911105A.kicad_sym")(options "")(descr "HanRun HR911105A RJ45 magjack (custom)"))
)