auto-sync 2026-07-04 18:00
This commit is contained in:
parent
addebea5bb
commit
c0f9f11ae5
112
03-Architecture-Hardware/harness-connector-pinout.md
Normal file
112
03-Architecture-Hardware/harness-connector-pinout.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
---
|
||||||
|
title: HBOX Watchdog v3 PROD — Harness / Connector Pinout
|
||||||
|
project: Project Drogheda
|
||||||
|
date: 2026-07-04
|
||||||
|
tags: [project-drogheda, hardware, harness, pinout]
|
||||||
|
---
|
||||||
|
|
||||||
|
# HBOX Watchdog v3 PROD — Harness / Connector Pinout
|
||||||
|
|
||||||
|
Auto-generated from the PCB netlist (placement-independent). `GND` = the board ground plane (In1.Cu); its full pad list is omitted. Power nets flagged for wire gauge.
|
||||||
|
|
||||||
|
| Conn | Function | Pins |
|
||||||
|
|---|---|---|
|
||||||
|
| **P1** | GX16-5 | 5 |
|
||||||
|
| **P2** | 5V-IN-SD15B05 | 2 |
|
||||||
|
| **P3** | RTK2B-UART1 | 4 |
|
||||||
|
| **P4** | BATT-1S4P+NTC | 3 |
|
||||||
|
| **P5** | TEMP_PROBE | 4 |
|
||||||
|
| **P6** | FAN | 4 |
|
||||||
|
| **P8** | PANEL_LED | 2 |
|
||||||
|
| **P10** | RESET-EXT | 2 |
|
||||||
|
| **P11** | CUTOFF-SW | 2 |
|
||||||
|
| **P12** | NTC-HOTSPOT | 2 |
|
||||||
|
| **P13** | MODO-B-UPLINK | 3 |
|
||||||
|
|
||||||
|
## P1 — GX16-5
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `24V_IN` ⚡power | D10.1, Q10.2 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
| 3 | `IGN_IN` | Rig.1 |
|
||||||
|
| 4 | — | *(no net)* |
|
||||||
|
| 5 | — | *(no net)* |
|
||||||
|
|
||||||
|
## P2 — 5V-IN-SD15B05
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `VEH5V` ⚡power | C30.1, C31.1, JP1.2, R51.1, R55.1, R7.1, RS1.1, U6.6, U6.16 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
|
||||||
|
## P3 — RTK2B-UART1
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `SW_5V` ⚡power | C3.1, C40.1, MOD1.5, Q1.3, U7.2, U7.7 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
| 3 | `GNSS_TX` | J1.8, MOD1.16 |
|
||||||
|
| 4 | `GNSS_RX` | J1.9, MOD1.15 |
|
||||||
|
|
||||||
|
## P4 — BATT-1S4P+NTC
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `BAT_PLUS` ⚡power | C35.1, L6.2, R5.1, U6.23 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
| 3 | `NTC` | R55.2, U6.17 |
|
||||||
|
|
||||||
|
## P5 — TEMP_PROBE
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `3V3` ⚡power | Cu3.1, Cu4.1, D5.1, J1.18, J2.20, MOD1.2, R3.1, R30.1, R31.1, R42.1, R57.1, R58.1, Rdfu.2, Rtp.1, U3.3, U4.5 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
| 3 | `I2C_SDA` | J2.15, R31.2, U3.1, U4.6 |
|
||||||
|
| 4 | `I2C_SCL` | J2.14, R30.2, U3.2, U4.1 |
|
||||||
|
|
||||||
|
## P6 — FAN
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `5V_FAN` ⚡power | C23.1, D2.1, JP1.1, L2.2, R20.1 |
|
||||||
|
| 2 | `FAN_RET` | D2.2, Q2.3 |
|
||||||
|
| 3 | `GND` | board ground plane |
|
||||||
|
| 4 | `FAN_TACH_RAW` | Rts.1 |
|
||||||
|
|
||||||
|
## P8 — PANEL_LED
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `LED_A` | D1.2, R3.2 |
|
||||||
|
| 2 | `LED_K` | D1.1, Q4.3 |
|
||||||
|
|
||||||
|
## P10 — RESET-EXT
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `NRST` | J1.5, SW1.1 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
|
||||||
|
## P11 — CUTOFF-SW
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `MAIN5V` ⚡power | C32.1, C33.1, C34.1, JP2.1, JP3.3, JP4.1, Q7.1, Q7.2, Q7.3, R53.1, U6.1, U6.24 |
|
||||||
|
| 2 | `SYS5V` ⚡power | D6.1, F1.1, J1.20, J2.18, K1.2, R2.2 |
|
||||||
|
|
||||||
|
## P12 — NTC-HOTSPOT
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `NTC_TEMP` | C24.1, J1.15, R42.2 |
|
||||||
|
| 2 | `GND` | board ground plane |
|
||||||
|
|
||||||
|
## P13 — MODO-B-UPLINK
|
||||||
|
|
||||||
|
| Pin | Net | Ties to |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | `USART1_RX` | H3.2, J2.7, K1.1, MOD1.23, Rdfu.1 |
|
||||||
|
| 2 | `DIN_4G` | J7.3, K1.5, K1.6 |
|
||||||
|
| 3 | `GND` | board ground plane |
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
# 4-layer wide-power autoroute — run on your Mac, then hand me the .ses
|
||||||
|
|
||||||
|
**The board is now 4-layer.** Stackup: **F.Cu / In1.Cu (GND plane) / In2.Cu / B.Cu** (JLC
|
||||||
|
standard 1.6 mm). GND is a solid inner plane, so wide power stops fighting for space — this is
|
||||||
|
the fix for the 2-layer congestion (51 unrouted at 1.0/0.8 mm).
|
||||||
|
|
||||||
|
**File:** `hbox-watchdog-v3-PROD-4layer-wideclass.dsn` — current placement, **unrouted**, with:
|
||||||
|
|
||||||
|
| Class | Width | Nets |
|
||||||
|
|---|---|---|
|
||||||
|
| **PWR_HI** | **1.5 mm** | BAT_PLUS, SW_BAT, MAIN5V, VEH5V, SYS5V, VIN_SW |
|
||||||
|
| **PWR_MID** | **1.0 mm** | SW_5V, 3V3_MODEM, 5V_FAN, 24V, 24V_IN, IGN_IN, SW_FAN, SW3_NODE, FAN_RET |
|
||||||
|
| kicad_default | 0.2 mm | signals |
|
||||||
|
| GND | — | **In1.Cu plane** (routed as a plane, not traces) |
|
||||||
|
|
||||||
|
Routing layers = F.Cu + In2.Cu + B.Cu (+ In1 gaps), GND on the In1 plane. Plenty of room for
|
||||||
|
1.5 mm power now.
|
||||||
|
|
||||||
|
## 1. Route it
|
||||||
|
```bash
|
||||||
|
cd "~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad"
|
||||||
|
java -jar freerouting-1.9.0.jar
|
||||||
|
```
|
||||||
|
File → **Open Design** → `hbox-watchdog-v3-PROD-4layer-wideclass.dsn`. Let it route; watch the
|
||||||
|
**incomplete** count — on 4 layers it should drive to **0** (or single digits), not stall.
|
||||||
|
Then File → **Export Specctra Session File** → `hbox-watchdog-v3-PROD-4layer-wideclass.ses`.
|
||||||
|
|
||||||
|
Headless alternative:
|
||||||
|
```bash
|
||||||
|
java -jar freerouting-1.9.0.jar -de hbox-watchdog-v3-PROD-4layer-wideclass.dsn \
|
||||||
|
-do hbox-watchdog-v3-PROD-4layer-wideclass.ses -mp 100
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Bring it back
|
||||||
|
Tell me the `.ses` is ready and I'll import it → refill the In1 GND plane → DRC → render, same
|
||||||
|
as before. (Backups: `…bak-pre4Lroute-*`, `…bak-preAutoroute-*`, `…bak-postAutoroute-*`.)
|
||||||
|
|
||||||
|
## 3. When you order at JLCPCB
|
||||||
|
Select **4 layers** (JLC 4-layer 1.6 mm, ~a few $ more than 2-layer). The stackup in the board
|
||||||
|
is the standard one JLC applies automatically. Worth it here: solid GND for the three switchers
|
||||||
|
+ the 4G modem, and it's why the power routes.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Widths are conservative-but-real (≥ guide spec, comfortably routable on 4 layers). Want the
|
||||||
|
original 2.5 mm on PWR_HI? Edit `(width 1500)` → `(width 2500)` in the `.dsn` — there's room now.
|
||||||
|
- Still a fresh full route, so expect a few sensor/GND opens to close interactively after import.
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
# Wide-power autoroute — run on your Mac (Java 23), then hand me the .ses
|
||||||
|
|
||||||
|
**File:** `hbox-watchdog-v3-PROD-wideclass.dsn` — the current board's placement + nets + B.Cu GND
|
||||||
|
plane, **unrouted**, with power net-classes injected so FreeRouting routes the rails wide:
|
||||||
|
|
||||||
|
| Class | Width | Nets |
|
||||||
|
|---|---|---|
|
||||||
|
| **PWR_HI** | **1.5 mm** | BAT_PLUS, SW_BAT, MAIN5V, VEH5V, SYS5V, VIN_SW |
|
||||||
|
| **PWR_MID** | **1.0 mm** | SW_5V, 3V3_MODEM, 5V_FAN, 24V, 24V_IN, IGN_IN, SW_FAN, SW3_NODE, FAN_RET |
|
||||||
|
| kicad_default | 0.2 mm | everything else (signals) |
|
||||||
|
| GND | — | **handled by the B.Cu plane** (exports as `(plane GND)`, not routed) |
|
||||||
|
|
||||||
|
Widths meet the `watchdog-pcb-v3-kicad-guide` §6 spec (power ≥0.5, SW_5V ≥0.8) with margin, and are
|
||||||
|
**routable** on 2 layers. Power vias reuse the 0.6/0.3 padstack (upsize in the GUI later if you want).
|
||||||
|
|
||||||
|
## 1. Route it (in `03-Architecture-Hardware/kicad/`)
|
||||||
|
|
||||||
|
**GUI (recommended — you can watch and stop it):**
|
||||||
|
```bash
|
||||||
|
cd "~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad"
|
||||||
|
java -jar freerouting-1.9.0.jar
|
||||||
|
```
|
||||||
|
File → **Open Design** → `hbox-watchdog-v3-PROD-wideclass.dsn`. It auto-routes; when the ratsnest is
|
||||||
|
gone (or it stalls), File → **Export Specctra Session File** → save `hbox-watchdog-v3-PROD-wideclass.ses`.
|
||||||
|
|
||||||
|
**Headless (one shot):**
|
||||||
|
```bash
|
||||||
|
java -jar freerouting-1.9.0.jar \
|
||||||
|
-de hbox-watchdog-v3-PROD-wideclass.dsn \
|
||||||
|
-do hbox-watchdog-v3-PROD-wideclass.ses -mp 100
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Bring it back
|
||||||
|
Tell me `hbox-watchdog-v3-PROD-wideclass.ses` is ready and **I'll import it** (import_ses → refill the
|
||||||
|
GND plane → DRC → render) — same finishing I did on the 0.2 mm route. Or in KiCad: File → **Import →
|
||||||
|
Specctra Session**.
|
||||||
|
|
||||||
|
> ⚠ Importing **replaces** the current 0.2 mm routing with the new wide route (backups exist:
|
||||||
|
> `…bak-postAutoroute-20260703-202442`). It's a **fresh full route**, so expect a similar small
|
||||||
|
> straggler set (a few sensor/GND opens) to close interactively — same as before.
|
||||||
|
|
||||||
|
## 3. Tweak widths (optional)
|
||||||
|
Edit the µm values in the `.dsn`: `(width 1500)` = PWR_HI, `(width 1000)` = PWR_MID. Your project's
|
||||||
|
original spec was PWR_HI **2.5 mm** — set `(width 2500)` if you want it, but wider rails may leave
|
||||||
|
more nets unrouted on 2 layers (iterate down if so).
|
||||||
3219
03-Architecture-Hardware/kicad/_check-final.dsn
Normal file
3219
03-Architecture-Hardware/kicad/_check-final.dsn
Normal file
File diff suppressed because it is too large
Load Diff
3208
03-Architecture-Hardware/kicad/_check-v6b.dsn
Normal file
3208
03-Architecture-Hardware/kicad/_check-v6b.dsn
Normal file
File diff suppressed because it is too large
Load Diff
361
03-Architecture-Hardware/kicad/_drc-FINAL-solidGND.txt
Normal file
361
03-Architecture-Hardware/kicad/_drc-FINAL-solidGND.txt
Normal file
@ -0,0 +1,361 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T17:30:30 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 20 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
|
||||||
|
** Found 68 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.1725 mm, 25.7025 mm): PTH pad 6 [DIN_4G] of K1
|
||||||
|
@(96.2950 mm, 38.5000 mm): Track [DIN_4G] on In2.Cu, length 18.0984 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(5.8250 mm, 21.0000 mm): Pad 2 [GND] of Rrp on F.Cu
|
||||||
|
@(13.1500 mm, 21.5000 mm): Pad 2 [GND] of D10 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(11.6250 mm, 66.4500 mm): Pad 2 [GND] of Q4 on F.Cu
|
||||||
|
@(16.0500 mm, 72.0000 mm): Pad 2 [GND] of Rled on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(13.1500 mm, 21.5000 mm): Pad 2 [GND] of D10 on F.Cu
|
||||||
|
@(12.2000 mm, 31.5000 mm): Pad 2 [GND] of C10 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(16.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
@(12.7750 mm, 76.0000 mm): Pad 2 [GND] of C5 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(16.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
@(16.0500 mm, 72.0000 mm): Pad 2 [GND] of Rled on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(19.3750 mm, 72.0000 mm): Pad 2 [GND] of R6 on F.Cu
|
||||||
|
@(16.0500 mm, 72.0000 mm): Pad 2 [GND] of Rled on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(19.3750 mm, 72.0000 mm): Pad 2 [GND] of R6 on F.Cu
|
||||||
|
@(27.5500 mm, 72.0000 mm): Pad 2 [GND] of R8 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
@(12.2000 mm, 31.5000 mm): Pad 2 [GND] of C10 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(25.0625 mm, 56.9500 mm): Pad 2 [GND] of Q2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(22.1750 mm, 43.0000 mm): Pad 2 [GND] of C9 on F.Cu
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(22.1750 mm, 43.0000 mm): Pad 2 [GND] of C9 on F.Cu
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(22.1750 mm, 43.0000 mm): Pad 2 [GND] of C9 on F.Cu
|
||||||
|
@(33.5400 mm, 41.0000 mm): PTH pad 29 [GND] of MOD1
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(26.5000 mm, 67.0000 mm): Pad 2 [GND] of R56 on F.Cu
|
||||||
|
@(29.0000 mm, 62.0000 mm): Pad 2 [GND] of R52 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(27.5500 mm, 72.0000 mm): Pad 2 [GND] of R8 on F.Cu
|
||||||
|
@(26.5000 mm, 67.0000 mm): Pad 2 [GND] of R56 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(29.0000 mm, 62.0000 mm): Pad 2 [GND] of R52 on F.Cu
|
||||||
|
@(33.0000 mm, 62.0000 mm): Pad 2 [GND] of R50 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(29.0000 mm, 62.0000 mm): Pad 2 [GND] of R52 on F.Cu
|
||||||
|
@(25.0625 mm, 56.9500 mm): Pad 2 [GND] of Q2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(33.0000 mm, 57.0000 mm): Pad 2 [GND] of C31 on F.Cu
|
||||||
|
@(33.0000 mm, 62.0000 mm): Pad 2 [GND] of R50 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(33.0000 mm, 62.0000 mm): Pad 2 [GND] of R50 on F.Cu
|
||||||
|
@(41.9500 mm, 64.0000 mm): Pad 2 [GND] of C32 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 54.5000 mm): Pad 5 [GND] of U6 on F.Cu
|
||||||
|
@(33.0000 mm, 57.0000 mm): Pad 2 [GND] of C31 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.9500 mm, 64.0000 mm): Pad 2 [GND] of C32 on F.Cu
|
||||||
|
@(47.4500 mm, 64.0000 mm): Pad 2 [GND] of C33 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(39.5000 mm, 72.0000 mm): Pad 2 [GND] of C24 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(47.4500 mm, 64.0000 mm): Pad 2 [GND] of C33 on F.Cu
|
||||||
|
@(51.7500 mm, 64.0000 mm): Pad 2 [GND] of C34 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(47.7600 mm, 89.2600 mm): PTH pad 6 [GND] of MOD1
|
||||||
|
@(50.3000 mm, 89.2600 mm): PTH pad 7 [GND] of MOD1
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.3000 mm, 89.2600 mm): PTH pad 7 [GND] of MOD1
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(53.5000 mm, 72.0000 mm): Pad 2 [GND] of Cu3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.7500 mm, 64.0000 mm): Pad 2 [GND] of C34 on F.Cu
|
||||||
|
@(50.9500 mm, 56.0000 mm): Pad 2 [GND] of C35 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.7500 mm, 64.0000 mm): Pad 2 [GND] of C34 on F.Cu
|
||||||
|
@(53.5000 mm, 72.0000 mm): Pad 2 [GND] of Cu3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(55.5000 mm, 55.0000 mm): Pad 2 [GND] of R54 on F.Cu
|
||||||
|
@(59.9000 mm, 54.5000 mm): Pad 1 [GND] of JP3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(55.5000 mm, 55.0000 mm): Pad 2 [GND] of R54 on F.Cu
|
||||||
|
@(50.9500 mm, 56.0000 mm): Pad 2 [GND] of C35 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(57.5000 mm, 72.0000 mm): Pad 2 [GND] of Cu4 on F.Cu
|
||||||
|
@(53.5000 mm, 72.0000 mm): Pad 2 [GND] of Cu3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9000 mm, 54.5000 mm): Pad 1 [GND] of JP3 on F.Cu
|
||||||
|
@(62.5000 mm, 50.0000 mm): Pad 3 [GND] of JP2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9000 mm, 54.5000 mm): Pad 1 [GND] of JP3 on F.Cu
|
||||||
|
@(62.5000 mm, 59.5000 mm): Pad 3 [GND] of JP4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.6250 mm, 24.9500 mm): Pad 2 [GND] of Q5 on F.Cu
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(80.9443 mm, 14.4071 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(80.9443 mm, 14.4071 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
@(82.7750 mm, 10.9000 mm): Pad 2 [GND] of C11 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(81.5000 mm, 3.5000 mm): Pad 2 [GND] of C22 on F.Cu
|
||||||
|
@(74.5000 mm, 5.5000 mm): Pad 2 [GND] of C3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(82.7750 mm, 10.9000 mm): Pad 2 [GND] of C11 on F.Cu
|
||||||
|
@(86.5500 mm, 10.5000 mm): Pad 5 [GND] of U2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(82.7750 mm, 10.9000 mm): Pad 2 [GND] of C11 on F.Cu
|
||||||
|
@(81.5000 mm, 3.5000 mm): Pad 2 [GND] of C22 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(86.5500 mm, 10.5000 mm): Pad 5 [GND] of U2 on F.Cu
|
||||||
|
@(89.0250 mm, 12.4050 mm): Pad 9 [GND] of U2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(88.0000 mm, 27.5000 mm): Pad 2 [GND] of Dbk on F.Cu
|
||||||
|
@(98.8250 mm, 24.5000 mm): Pad 2 [GND] of R41 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(94.0000 mm, 52.5000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(99.5000 mm, 56.9500 mm): Pad 2 [GND] of C40 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
@(89.0250 mm, 12.4050 mm): Pad 9 [GND] of U2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(98.8250 mm, 19.0000 mm): Pad 2 [GND] of Ren2 on F.Cu
|
||||||
|
@(98.8250 mm, 24.5000 mm): Pad 2 [GND] of R41 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(98.8250 mm, 19.0000 mm): Pad 2 [GND] of Ren2 on F.Cu
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(99.5000 mm, 56.9500 mm): Pad 2 [GND] of C40 on F.Cu
|
||||||
|
@(100.1500 mm, 67.0000 mm): Pad 2 [GND] of R61 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(100.1500 mm, 71.5000 mm): Pad 2 [GND] of Rfreq2 on F.Cu
|
||||||
|
@(100.1500 mm, 67.0000 mm): Pad 2 [GND] of R61 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(100.1500 mm, 71.5000 mm): Pad 2 [GND] of Rfreq2 on F.Cu
|
||||||
|
@(108.5500 mm, 74.5000 mm): Pad 2 [GND] of Ccomp2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(100.5000 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(100.5000 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
@(97.7250 mm, 5.0000 mm): Pad 2 [GND] of R21 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(102.0625 mm, 23.9500 mm): Pad 2 [GND] of Q6 on F.Cu
|
||||||
|
@(98.8250 mm, 24.5000 mm): Pad 2 [GND] of R41 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(107.7000 mm, 82.0000 mm): Pad 2 [GND] of C43 on F.Cu
|
||||||
|
@(108.5500 mm, 74.5000 mm): Pad 2 [GND] of Ccomp2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(108.5500 mm, 74.5000 mm): Pad 2 [GND] of Ccomp2 on F.Cu
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(110.3000 mm, 63.5000 mm): Pad 2 [GND] of Dbk2 on F.Cu
|
||||||
|
@(118.5000 mm, 63.9000 mm): Pad 2 [GND] of C41 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(113.1250 mm, 4.0000 mm): Pad 1 [GND] of DB1 on F.Cu
|
||||||
|
@(117.1250 mm, 4.0000 mm): Pad 1 [GND] of DB2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
@(118.5000 mm, 63.9000 mm): Pad 2 [GND] of C41 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(117.1250 mm, 4.0000 mm): Pad 1 [GND] of DB2 on F.Cu
|
||||||
|
@(121.1250 mm, 4.0000 mm): Pad 1 [GND] of DB3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(117.4300 mm, 72.2500 mm): Pad 9 [GND] of U7 on F.Cu
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(121.1250 mm, 4.0000 mm): Pad 1 [GND] of DB3 on F.Cu
|
||||||
|
@(125.1250 mm, 4.0000 mm): Pad 1 [GND] of DB4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(130.0000 mm, 16.5000 mm): PTH pad 3 [GND] of P6
|
||||||
|
@(125.1250 mm, 4.0000 mm): Pad 1 [GND] of DB4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(40.1172 mm, 59.6888 mm): Track [BAT_PLUS] on F.Cu, length 6.1934 mm
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(115.8806 mm, 89.8806 mm): Track [NRST] on In2.Cu, length 4.4115 mm
|
||||||
|
@(125.5000 mm, 93.0000 mm): PTH pad 1 [NRST] of SW1
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.9550 mm, 72.8850 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
@(119.9050 mm, 72.8850 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(31.4500 mm, 56.9683 mm): Track [VEH5V] on F.Cu, length 4.5702 mm
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
161
03-Architecture-Hardware/kicad/_drc-after-c30move.txt
Normal file
161
03-Architecture-Hardware/kicad/_drc-after-c30move.txt
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T14:40:01 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 24 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0798 mm)
|
||||||
|
Local override; error
|
||||||
|
@(76.2857 mm, 11.5406 mm): Track [SW_5V] on In2.Cu, length 0.3912 mm
|
||||||
|
@(77.5374 mm, 10.7003 mm): Track [VEH5V] on In2.Cu, length 0.4604 mm
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1250 mm)
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 57.5000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(25.1250 mm, 56.5500 mm): Track [FAN_GATE] on F.Cu, length 5.0445 mm
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(19.0700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(19.9775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
|
||||||
|
** Found 14 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
@(20.9500 mm, 57.5000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 57.5000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(25.1250 mm, 57.6436 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(42.3681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(41.0500 mm, 54.5000 mm): Track [GND] on F.Cu, length 1.4500 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(54.2371 mm, 58.2671 mm): Track [GND] on F.Cu, length 0.3413 mm
|
||||||
|
@(51.7500 mm, 64.0000 mm): Track [GND] on F.Cu, length 1.2332 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(84.0000 mm, 32.5000 mm): Pad 3 [GND] of JP2 on F.Cu
|
||||||
|
@(86.5852 mm, 27.8086 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(99.2315 mm, 57.2185 mm): Track [GND] on F.Cu, length 0.9609 mm
|
||||||
|
@(94.0000 mm, 52.5000 mm): PTH pad 10 [GND] of J7
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(49.0500 mm, 55.4519 mm): Track [BAT_PLUS] on F.Cu, length 1.6743 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(23.8500 mm, 62.0000 mm): Track [VEH5V] on F.Cu, length 1.3242 mm
|
||||||
|
@(19.0500 mm, 57.5000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(33.7514 mm, 60.3921 mm): Track [VEH5V] on F.Cu, length 0.3957 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.3500 mm, 62.0000 mm): Pad 1 [PROG] of R50 on F.Cu
|
||||||
|
@(39.6000 mm, 53.0000 mm): Pad 2 [PROG] of U6 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
177
03-Architecture-Hardware/kicad/_drc-c30-fixed.txt
Normal file
177
03-Architecture-Hardware/kicad/_drc-c30-fixed.txt
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T14:43:28 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 28 DRC violations **
|
||||||
|
[shorting_items]: Items shorting two nets (nets FAN_RET and VEH5V)
|
||||||
|
Local override; error
|
||||||
|
@(26.0480 mm, 59.4775 mm): Track [FAN_RET] on F.Cu, length 7.7283 mm
|
||||||
|
@(19.0500 mm, 58.7500 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets FAN_RET and VEH5V)
|
||||||
|
Local override; error
|
||||||
|
@(18.3197 mm, 59.4775 mm): Track [FAN_RET] on F.Cu, length 2.0895 mm
|
||||||
|
@(19.0500 mm, 58.7500 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0798 mm)
|
||||||
|
Local override; error
|
||||||
|
@(76.2857 mm, 11.5406 mm): Track [SW_5V] on In2.Cu, length 0.3912 mm
|
||||||
|
@(77.5374 mm, 10.7003 mm): Track [VEH5V] on In2.Cu, length 0.4604 mm
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(18.3197 mm, 59.4775 mm): Track [FAN_RET] on F.Cu, length 2.0895 mm
|
||||||
|
@(19.0500 mm, 58.7500 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(26.0480 mm, 59.4775 mm): Track [FAN_RET] on F.Cu, length 7.7283 mm
|
||||||
|
@(19.0500 mm, 58.7500 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(26.0480 mm, 59.4775 mm): Track [FAN_RET] on F.Cu, length 7.7283 mm
|
||||||
|
@(20.9500 mm, 58.7500 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(19.0700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(19.9775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
|
||||||
|
** Found 14 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.7500 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(25.1250 mm, 58.4500 mm): Track [GND] on F.Cu, length 0.8064 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.7500 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.5500 mm, 54.0000 mm): Track [GND] on F.Cu, length 0.7071 mm
|
||||||
|
@(42.3681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.7500 mm, 62.7668 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(53.6418 mm, 57.6718 mm): Track [GND] on F.Cu, length 0.8419 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(86.5852 mm, 27.8086 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(84.0000 mm, 32.5000 mm): Track [GND] on F.Cu, length 1.7963 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(49.0500 mm, 55.4519 mm): Track [BAT_PLUS] on F.Cu, length 1.6743 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(23.8500 mm, 62.0000 mm): Track [VEH5V] on F.Cu, length 1.3242 mm
|
||||||
|
@(19.0500 mm, 58.7500 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(33.7514 mm, 60.3921 mm): Track [VEH5V] on F.Cu, length 0.3957 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.3500 mm, 62.0000 mm): Pad 1 [PROG] of R50 on F.Cu
|
||||||
|
@(39.6000 mm, 53.0000 mm): Pad 2 [PROG] of U6 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
157
03-Architecture-Hardware/kicad/_drc-c30-y58.txt
Normal file
157
03-Architecture-Hardware/kicad/_drc-c30-y58.txt
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T14:44:31 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 23 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0798 mm)
|
||||||
|
Local override; error
|
||||||
|
@(76.2857 mm, 11.5406 mm): Track [SW_5V] on In2.Cu, length 0.3912 mm
|
||||||
|
@(77.5374 mm, 10.7003 mm): Track [VEH5V] on In2.Cu, length 0.4604 mm
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(19.0700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(19.9775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
|
||||||
|
** Found 14 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(25.1250 mm, 57.6436 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.5500 mm, 54.0000 mm): Track [GND] on F.Cu, length 0.7071 mm
|
||||||
|
@(42.3681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(53.6418 mm, 57.6718 mm): Track [GND] on F.Cu, length 0.8419 mm
|
||||||
|
@(51.7500 mm, 62.7668 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(84.0000 mm, 32.5000 mm): Track [GND] on F.Cu, length 1.7963 mm
|
||||||
|
@(86.5852 mm, 27.8086 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(99.2315 mm, 57.2185 mm): Track [GND] on F.Cu, length 0.9609 mm
|
||||||
|
@(94.0000 mm, 52.5000 mm): PTH pad 10 [GND] of J7
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(49.0500 mm, 55.4519 mm): Track [BAT_PLUS] on F.Cu, length 1.6743 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(23.8500 mm, 62.0000 mm): Track [VEH5V] on F.Cu, length 1.3242 mm
|
||||||
|
@(19.0500 mm, 58.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(33.7514 mm, 60.3921 mm): Track [VEH5V] on F.Cu, length 0.3957 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.3500 mm, 62.0000 mm): Pad 1 [PROG] of R50 on F.Cu
|
||||||
|
@(39.6000 mm, 53.0000 mm): Pad 2 [PROG] of U6 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
249
03-Architecture-Hardware/kicad/_drc-reloaded.txt
Normal file
249
03-Architecture-Hardware/kicad/_drc-reloaded.txt
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T17:41:35 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 34 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; 3 spokes connected to isolated island)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(130.0000 mm, 65.5000 mm): PTH pad 2 [GND] of P4
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(33.5400 mm, 41.0000 mm): PTH pad 29 [GND] of MOD1
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(108.5500 mm, 74.5000 mm): Pad 2 [GND] of Ccomp2 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(16.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(16.0500 mm, 72.0000 mm): Pad 2 [GND] of Rled on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(80.9443 mm, 14.4071 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(12.7750 mm, 76.0000 mm): Pad 2 [GND] of C5 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(39.5000 mm, 72.0000 mm): Pad 2 [GND] of C24 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(100.5000 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
|
||||||
|
** Found 26 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.1725 mm, 25.7025 mm): PTH pad 6 [DIN_4G] of K1
|
||||||
|
@(96.2950 mm, 38.5000 mm): Track [DIN_4G] on In2.Cu, length 18.0984 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(97.7250 mm, 5.0000 mm): Pad 2 [GND] of R21 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(37.2565 mm, 62.5495 mm): Track [BAT_PLUS] on F.Cu, length 4.0456 mm
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(115.8806 mm, 89.8806 mm): Track [NRST] on In2.Cu, length 4.4115 mm
|
||||||
|
@(125.5000 mm, 44.2250 mm): Track [NRST] on In2.Cu, length 48.7750 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.9550 mm, 72.8850 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
@(119.9050 mm, 72.8850 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(31.4500 mm, 57.0000 mm): Track [VEH5V] on F.Cu, length 0.0317 mm
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
249
03-Architecture-Hardware/kicad/_drc-with-pours.txt
Normal file
249
03-Architecture-Hardware/kicad/_drc-with-pours.txt
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T17:35:34 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 34 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; 3 spokes connected to isolated island)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(130.0000 mm, 65.5000 mm): PTH pad 2 [GND] of P4
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(33.5400 mm, 41.0000 mm): PTH pad 29 [GND] of MOD1
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(108.5500 mm, 74.5000 mm): Pad 2 [GND] of Ccomp2 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(16.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(16.0500 mm, 72.0000 mm): Pad 2 [GND] of Rled on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(80.9443 mm, 14.4071 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(12.7750 mm, 76.0000 mm): Pad 2 [GND] of C5 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(39.5000 mm, 72.0000 mm): Pad 2 [GND] of C24 on F.Cu
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer F.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(100.5000 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
|
||||||
|
** Found 26 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.1725 mm, 25.7025 mm): PTH pad 6 [DIN_4G] of K1
|
||||||
|
@(96.2950 mm, 38.5000 mm): Track [DIN_4G] on In2.Cu, length 18.0984 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.3500 mm, 34.0000 mm): Pad 2 [GND] of Rigb on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(20.9500 mm, 58.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(44.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(97.7250 mm, 5.0000 mm): Pad 2 [GND] of R21 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.9550 mm, 70.3450 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
@(0.5000 mm, 0.5000 mm): Zone [GND] on F.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(37.2565 mm, 62.5495 mm): Track [BAT_PLUS] on F.Cu, length 4.0456 mm
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(115.8806 mm, 89.8806 mm): Track [NRST] on In2.Cu, length 4.4115 mm
|
||||||
|
@(125.5000 mm, 44.2250 mm): Track [NRST] on In2.Cu, length 48.7750 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(114.6858 mm, 73.1542 mm): Track [SW_5V] on F.Cu, length 0.3807 mm
|
||||||
|
@(119.9050 mm, 72.8850 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(31.4500 mm, 56.9683 mm): Track [VEH5V] on F.Cu, length 4.5702 mm
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
3332
03-Architecture-Hardware/kicad/_fresh-postC30.dsn
Normal file
3332
03-Architecture-Hardware/kicad/_fresh-postC30.dsn
Normal file
File diff suppressed because it is too large
Load Diff
3344
03-Architecture-Hardware/kicad/_fresh-v5.dsn
Normal file
3344
03-Architecture-Hardware/kicad/_fresh-v5.dsn
Normal file
File diff suppressed because it is too large
Load Diff
3344
03-Architecture-Hardware/kicad/_fresh-v6.dsn
Normal file
3344
03-Architecture-Hardware/kicad/_fresh-v6.dsn
Normal file
File diff suppressed because it is too large
Load Diff
946
03-Architecture-Hardware/kicad/_route-4layer-drc.txt
Normal file
946
03-Architecture-Hardware/kicad/_route-4layer-drc.txt
Normal file
@ -0,0 +1,946 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-03T22:40:15 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 209 DRC violations **
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0300 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets SYS5V and SW_5V)
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(14.0000 mm, 58.0000 mm): Footprint D2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(8.0000 mm, 66.0000 mm): Footprint P8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(27.0000 mm, 16.0000 mm): Footprint J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(34.0000 mm, 72.0000 mm): Footprint R5
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(48.0000 mm, 50.0000 mm): Footprint Q7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.8000 mm, 64.0000 mm): Footprint C34
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(68.0000 mm, 72.0000 mm): Footprint R31
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(66.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(99.2000 mm, 62.4000 mm): Footprint C40
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 50.0000 mm): PTH pad 9 [unconnected-(J7-Pin_9-Pad9)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 48.0000 mm): Footprint RS1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 72.0000 mm): Footprint Cu3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(50.0000 mm, 72.0000 mm): Footprint Rdfu
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(11.0000 mm, 21.5000 mm): Footprint D10
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 8.3000 mm): Footprint Rcomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 76.0000 mm): Footprint C7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.9000 mm, 5.0000 mm): Footprint R20
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 78.0000 mm): Footprint U4
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(18.0000 mm, 92.5000 mm): Footprint RB3
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.8000 mm, 66.0000 mm): Footprint TP1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(96.9000 mm, 5.0000 mm): Footprint R21
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(82.9000 mm, 7.5000 mm): Footprint C22
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(83.3000 mm, 10.9000 mm): Footprint C11
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(117.2000 mm, 65.4000 mm): Footprint C41
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 66.0000 mm): Footprint R55
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(14.0000 mm, 92.5000 mm): Footprint RB2
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 72.0000 mm): Footprint R30
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 72.0000 mm): Footprint R6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 64.0000 mm): Footprint C32
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
@(15.0000 mm, 43.0000 mm): Footprint D5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 62.0000 mm): Footprint R52
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 66.0000 mm): Footprint R56
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.0000 mm, 72.0000 mm): Footprint R42
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 52.0000 mm): Footprint R53
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 62.0000 mm): Footprint R51
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.8000 mm, 64.0000 mm): Footprint R58
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 58.0000 mm): Footprint C31
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 54.0000 mm): Footprint C30
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 72.0000 mm): Footprint R7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(68.8000 mm, 64.0000 mm): Footprint C33
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(101.0000 mm, 44.0000 mm): Footprint P3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(34.0000 mm, 76.0000 mm): Footprint C5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(46.0000 mm, 72.0000 mm): Footprint R8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 72.0000 mm): Footprint C24
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 56.0000 mm): Footprint R54
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 60.0000 mm): Footprint R57
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(50.0000 mm, 62.0000 mm): Footprint R50
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(66.0000 mm, 45.0000 mm): Footprint TP2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 72.0000 mm): Footprint Cu4
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
@(10.0000 mm, 92.5000 mm): Footprint RB1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer In1.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(49.5000 mm, 6.0000 mm): PTH pad 2 [GND] of P2
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer In1.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(101.0000 mm, 46.5000 mm): PTH pad 2 [GND] of P3
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[solder_mask_bridge]: Rear solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[hole_to_hole]: Drilled hole too close to other hole (board setup constraints min 0.2495 mm; actual 0.1600 mm)
|
||||||
|
Rule: board setup constraints; warning
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(16.5700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(17.4775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(3.2800 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(7.3400 mm, 19.3500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(7.3400 mm, 23.6500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
@(10.3000 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.5700 mm, 38.0000 mm): Reference field of Rig
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(12.6400 mm, 42.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(12.6400 mm, 44.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.7620 mm, 19.6830 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(90.0600 mm, 10.5600 mm): Segment of U2 on F.Silkscreen
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.8594 mm, 11.1900 mm): Segment of Cbst on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.1387 mm, 10.1650 mm): Segment of C23 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 3.8500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(96.9000 mm, 3.5700 mm): Reference field of R21
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 11.4775 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 12.5225 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(76.5900 mm, 17.3300 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 50.5400 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(101.2000 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(104.0000 mm, 63.4000 mm): Reference field of U7
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.1400 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(96.1600 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(97.7000 mm, 13.2000 mm): Reference field of L2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.7600 mm, 21.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.7600 mm, 23.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
@(108.7620 mm, 20.3180 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(109.4220 mm, 19.8100 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(11.7000 mm, 67.6200 mm): Polygon of Q4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
@(14.0000 mm, 91.0700 mm): Reference field of RB2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.0000 mm, 73.5700 mm): Reference field of Ccomp2
|
||||||
|
@(104.0000 mm, 73.5700 mm): Reference field of Rcomp2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 65.1500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(71.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(66.0000 mm, 45.0000 mm): Circle of TP2 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 61.2500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(14.3200 mm, 36.0000 mm): Reference field of P1
|
||||||
|
@(15.0000 mm, 37.1750 mm): Pad 2 [IGN_SENSE] of Rig on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.3500 mm, 43.0000 mm): Pad 1 [3V3] of D5 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.7750 mm, 11.7000 mm): Pad 2 [SW_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(90.4750 mm, 9.9050 mm): Pad 1 [SW_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.2250 mm, 11.7000 mm): Pad 1 [BST_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(82.9000 mm, 8.9750 mm): Pad 1 [24V] of C22 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(93.4000 mm, 11.4000 mm): Pad 1 [SW_FAN] of Dbk on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(98.3500 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(115.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
@(70.1250 mm, 12.0000 mm): Pad 2 [BASE_LS] of R1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.1587 mm, 16.0437 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.5525 mm, 16.4375 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.4650 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.6000 mm, 62.4700 mm): Polygon of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(106.4750 mm, 60.6350 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(110.1000 mm, 60.0000 mm): Pad 1 [SW3_NODE] of L7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
@(106.4750 mm, 61.9050 mm): Pad 1 [SW3_NODE] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
@(95.6500 mm, 9.1250 mm): Pad 2 [CC_FAN] of Rcomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.0500 mm, 22.4000 mm): Pad 1 [SYS5V] of D6 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(12.0625 mm, 67.0500 mm): Pad 1 [EXT_LED] of Q4 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.0000 mm, 91.0700 mm): Reference field of RB3
|
||||||
|
@(16.5000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(10.0000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(111.9500 mm, 64.1500 mm): Segment of L7 on F.Silkscreen
|
||||||
|
@(110.3000 mm, 63.5000 mm): Pad 2 [GND] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(115.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(66.0000 mm, 45.0000 mm): Pad 1 [PFO_TP] of TP2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 59.3650 mm): Pad 6 [FREQ3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 60.6350 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 58.0950 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
@(12.0000 mm, 58.0000 mm): Pad 1 [5V_FAN] of D2 on F.Cu
|
||||||
|
|
||||||
|
** Found 24 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(8.0000 mm, 77.0000 mm): PTH pad 2 [GND] of P10
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(38.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
@(35.7517 mm, 76.0898 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0000 mm, 6.0000 mm): PTH pad 3 [GND] of P13
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0000 mm, 6.0000 mm): PTH pad 3 [GND] of P13
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(66.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(70.4293 mm, 77.9967 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7000 mm, 48.0000 mm): PTH pad 6 [GND] of MOD1
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(75.3134 mm, 10.2134 mm): Track [GND] on F.Cu, length 1.2917 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.1567 mm, 19.1433 mm): Track [GND] on F.Cu, length 1.2116 mm
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(80.3000 mm, 12.4750 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
@(84.0750 mm, 10.9000 mm): Pad 2 [GND] of C11 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(104.0000 mm, 58.0950 mm): Track [GND] on F.Cu, length 2.4750 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(57.5000 mm, 55.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(55.5298 mm, 57.4066 mm): Track [BAT_PLUS] on In1.Cu, length 8.6708 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(64.9375 mm, 12.0000 mm): Pad 3 [SW_5V] of Q1 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(95.4830 mm, 32.6233 mm): Track [SW_5V] on In1.Cu, length 14.0505 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.0475 mm, 76.8725 mm): Track [3V3] on F.Cu, length 0.8628 mm
|
||||||
|
@(66.7000 mm, 78.4000 mm): Pad 3 [3V3] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(45.5250 mm, 51.9050 mm): Pad 4 [IGATE] of Q7 on F.Cu
|
||||||
|
@(59.9500 mm, 58.5000 mm): Pad 15 [IGATE] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.4750 mm, 51.9050 mm): Pad 5 [VIN_SW] of Q7 on F.Cu
|
||||||
|
@(56.0500 mm, 59.5000 mm): Pad 7 [VIN_SW] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 77.6000 mm): Pad 1 [I2C_SDA] of U3 on F.Cu
|
||||||
|
@(68.8250 mm, 72.0000 mm): Pad 2 [I2C_SDA] of R31 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 78.4000 mm): Pad 2 [I2C_SCL] of U3 on F.Cu
|
||||||
|
@(71.2875 mm, 77.5000 mm): Track [I2C_SCL] on F.Cu, length 7.7782 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(56.0500 mm, 59.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(41.2250 mm, 54.1750 mm): Track [VEH5V] on F.Cu, length 3.8250 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9500 mm, 58.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
@(56.0500 mm, 59.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(58.5000 mm, 55.5500 mm): Pad 21 [SW_BAT] of U6 on F.Cu
|
||||||
|
@(61.6000 mm, 53.3000 mm): Pad 1 [SW_BAT] of L6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9500 mm, 59.0000 mm): Pad 14 [F0_SEL] of U6 on F.Cu
|
||||||
|
@(72.0000 mm, 20.0000 mm): Pad 2 [F0_SEL] of JP4 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
938
03-Architecture-Hardware/kicad/_route-4layer-drc2.txt
Normal file
938
03-Architecture-Hardware/kicad/_route-4layer-drc2.txt
Normal file
@ -0,0 +1,938 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-03T22:48:49 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 207 DRC violations **
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0300 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets SYS5V and SW_5V)
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(14.0000 mm, 58.0000 mm): Footprint D2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(8.0000 mm, 66.0000 mm): Footprint P8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(27.0000 mm, 16.0000 mm): Footprint J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(34.0000 mm, 72.0000 mm): Footprint R5
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(48.0000 mm, 50.0000 mm): Footprint Q7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.8000 mm, 64.0000 mm): Footprint C34
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(68.0000 mm, 72.0000 mm): Footprint R31
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(66.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(99.2000 mm, 62.4000 mm): Footprint C40
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 50.0000 mm): PTH pad 9 [unconnected-(J7-Pin_9-Pad9)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 48.0000 mm): Footprint RS1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 72.0000 mm): Footprint Cu3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(50.0000 mm, 72.0000 mm): Footprint Rdfu
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(11.0000 mm, 21.5000 mm): Footprint D10
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 8.3000 mm): Footprint Rcomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 76.0000 mm): Footprint C7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.9000 mm, 5.0000 mm): Footprint R20
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 78.0000 mm): Footprint U4
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(18.0000 mm, 92.5000 mm): Footprint RB3
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.8000 mm, 66.0000 mm): Footprint TP1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(96.9000 mm, 5.0000 mm): Footprint R21
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(82.9000 mm, 7.5000 mm): Footprint C22
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(83.3000 mm, 10.9000 mm): Footprint C11
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(117.2000 mm, 65.4000 mm): Footprint C41
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 66.0000 mm): Footprint R55
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(14.0000 mm, 92.5000 mm): Footprint RB2
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 72.0000 mm): Footprint R30
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 72.0000 mm): Footprint R6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 64.0000 mm): Footprint C32
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
@(15.0000 mm, 43.0000 mm): Footprint D5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 62.0000 mm): Footprint R52
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 66.0000 mm): Footprint R56
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.0000 mm, 72.0000 mm): Footprint R42
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 52.0000 mm): Footprint R53
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 62.0000 mm): Footprint R51
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.8000 mm, 64.0000 mm): Footprint R58
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 58.0000 mm): Footprint C31
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 54.0000 mm): Footprint C30
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 72.0000 mm): Footprint R7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(68.8000 mm, 64.0000 mm): Footprint C33
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(101.0000 mm, 44.0000 mm): Footprint P3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(34.0000 mm, 76.0000 mm): Footprint C5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(46.0000 mm, 72.0000 mm): Footprint R8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 72.0000 mm): Footprint C24
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 56.0000 mm): Footprint R54
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 60.0000 mm): Footprint R57
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(50.0000 mm, 62.0000 mm): Footprint R50
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(66.0000 mm, 45.0000 mm): Footprint TP2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 72.0000 mm): Footprint Cu4
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
@(10.0000 mm, 92.5000 mm): Footprint RB1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[solder_mask_bridge]: Rear solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[hole_to_hole]: Drilled hole too close to other hole (board setup constraints min 0.2495 mm; actual 0.1600 mm)
|
||||||
|
Rule: board setup constraints; warning
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(16.5700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(17.4775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(3.2800 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(7.3400 mm, 19.3500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(7.3400 mm, 23.6500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
@(10.3000 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.5700 mm, 38.0000 mm): Reference field of Rig
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(12.6400 mm, 42.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(12.6400 mm, 44.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.7620 mm, 19.6830 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(90.0600 mm, 10.5600 mm): Segment of U2 on F.Silkscreen
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.8594 mm, 11.1900 mm): Segment of Cbst on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.1387 mm, 10.1650 mm): Segment of C23 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 3.8500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(96.9000 mm, 3.5700 mm): Reference field of R21
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 11.4775 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 12.5225 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(76.5900 mm, 17.3300 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 50.5400 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(101.2000 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(104.0000 mm, 63.4000 mm): Reference field of U7
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.1400 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(96.1600 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(97.7000 mm, 13.2000 mm): Reference field of L2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.7600 mm, 21.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.7600 mm, 23.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
@(108.7620 mm, 20.3180 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(109.4220 mm, 19.8100 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(11.7000 mm, 67.6200 mm): Polygon of Q4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
@(14.0000 mm, 91.0700 mm): Reference field of RB2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.0000 mm, 73.5700 mm): Reference field of Ccomp2
|
||||||
|
@(104.0000 mm, 73.5700 mm): Reference field of Rcomp2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 65.1500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(71.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(66.0000 mm, 45.0000 mm): Circle of TP2 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 61.2500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(14.3200 mm, 36.0000 mm): Reference field of P1
|
||||||
|
@(15.0000 mm, 37.1750 mm): Pad 2 [IGN_SENSE] of Rig on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.3500 mm, 43.0000 mm): Pad 1 [3V3] of D5 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.7750 mm, 11.7000 mm): Pad 2 [SW_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(90.4750 mm, 9.9050 mm): Pad 1 [SW_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.2250 mm, 11.7000 mm): Pad 1 [BST_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(82.9000 mm, 8.9750 mm): Pad 1 [24V] of C22 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(93.4000 mm, 11.4000 mm): Pad 1 [SW_FAN] of Dbk on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(98.3500 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(115.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
@(70.1250 mm, 12.0000 mm): Pad 2 [BASE_LS] of R1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.1587 mm, 16.0437 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.5525 mm, 16.4375 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.4650 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.6000 mm, 62.4700 mm): Polygon of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(106.4750 mm, 60.6350 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(110.1000 mm, 60.0000 mm): Pad 1 [SW3_NODE] of L7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
@(106.4750 mm, 61.9050 mm): Pad 1 [SW3_NODE] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
@(95.6500 mm, 9.1250 mm): Pad 2 [CC_FAN] of Rcomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.0500 mm, 22.4000 mm): Pad 1 [SYS5V] of D6 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(12.0625 mm, 67.0500 mm): Pad 1 [EXT_LED] of Q4 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.0000 mm, 91.0700 mm): Reference field of RB3
|
||||||
|
@(16.5000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(10.0000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(111.9500 mm, 64.1500 mm): Segment of L7 on F.Silkscreen
|
||||||
|
@(110.3000 mm, 63.5000 mm): Pad 2 [GND] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(115.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(66.0000 mm, 45.0000 mm): Pad 1 [PFO_TP] of TP2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 59.3650 mm): Pad 6 [FREQ3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 60.6350 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 58.0950 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
@(12.0000 mm, 58.0000 mm): Pad 1 [5V_FAN] of D2 on F.Cu
|
||||||
|
|
||||||
|
** Found 24 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(38.7750 mm, 76.0000 mm): Pad 2 [GND] of C7 on F.Cu
|
||||||
|
@(35.7517 mm, 76.0898 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(62.1304 mm, 19.1696 mm): Track [GND] on F.Cu, length 1.1744 mm
|
||||||
|
@(59.0625 mm, 13.7811 mm): Track [GND] on F.Cu, length 0.8311 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(66.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
@(70.4293 mm, 77.9967 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(75.7052 mm, 10.2134 mm): Track [GND] on F.Cu, length 0.3918 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(73.3000 mm, 20.0000 mm): Pad 3 [GND] of JP4 on F.Cu
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(80.3000 mm, 12.4750 mm): Pad 2 [GND] of Rfreq on F.Cu
|
||||||
|
@(84.0750 mm, 10.9000 mm): Pad 2 [GND] of C11 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(104.0000 mm, 58.0950 mm): Track [GND] on F.Cu, length 2.4750 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(57.5000 mm, 55.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(57.0734 mm, 58.9502 mm): Track [BAT_PLUS] on In1.Cu, length 2.1830 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(64.9375 mm, 12.0000 mm): Pad 3 [SW_5V] of Q1 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(95.4830 mm, 32.6233 mm): Track [SW_5V] on In1.Cu, length 14.0505 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.0475 mm, 76.8725 mm): Track [3V3] on F.Cu, length 0.8628 mm
|
||||||
|
@(66.7000 mm, 78.4000 mm): Pad 3 [3V3] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(45.5250 mm, 51.9050 mm): Pad 4 [IGATE] of Q7 on F.Cu
|
||||||
|
@(59.9500 mm, 58.5000 mm): Pad 15 [IGATE] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.4750 mm, 50.6350 mm): Track [VIN_SW] on F.Cu, length 1.2700 mm
|
||||||
|
@(56.0500 mm, 59.5000 mm): Pad 7 [VIN_SW] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 77.6000 mm): Pad 1 [I2C_SDA] of U3 on F.Cu
|
||||||
|
@(68.8250 mm, 72.0000 mm): Pad 2 [I2C_SDA] of R31 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 78.4000 mm): Pad 2 [I2C_SCL] of U3 on F.Cu
|
||||||
|
@(71.2875 mm, 77.5000 mm): Track [I2C_SCL] on F.Cu, length 7.7782 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(56.0500 mm, 59.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(41.2250 mm, 58.0000 mm): Pad 1 [VEH5V] of C31 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9500 mm, 58.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
@(56.0500 mm, 59.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(58.5000 mm, 55.5500 mm): Track [SW_BAT] on F.Cu, length 0.5000 mm
|
||||||
|
@(61.6000 mm, 53.3000 mm): Pad 1 [SW_BAT] of L6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.9500 mm, 59.0000 mm): Pad 14 [F0_SEL] of U6 on F.Cu
|
||||||
|
@(72.0000 mm, 20.0000 mm): Pad 2 [F0_SEL] of JP4 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
2073
03-Architecture-Hardware/kicad/_route-4layer-test.dsn
Normal file
2073
03-Architecture-Hardware/kicad/_route-4layer-test.dsn
Normal file
File diff suppressed because it is too large
Load Diff
2097
03-Architecture-Hardware/kicad/_route-4layer-v2.dsn
Normal file
2097
03-Architecture-Hardware/kicad/_route-4layer-v2.dsn
Normal file
File diff suppressed because it is too large
Load Diff
2097
03-Architecture-Hardware/kicad/_route-4layer-v3.dsn
Normal file
2097
03-Architecture-Hardware/kicad/_route-4layer-v3.dsn
Normal file
File diff suppressed because it is too large
Load Diff
2097
03-Architecture-Hardware/kicad/_route-4layer-v4.dsn
Normal file
2097
03-Architecture-Hardware/kicad/_route-4layer-v4.dsn
Normal file
File diff suppressed because it is too large
Load Diff
898
03-Architecture-Hardware/kicad/_route-continue-drc-clean.txt
Normal file
898
03-Architecture-Hardware/kicad/_route-continue-drc-clean.txt
Normal file
@ -0,0 +1,898 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-03T20:35:07 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 204 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(MOD1-A5-Pad14) and unconnected-(J7-Pin_8-Pad8))
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(MOD1-A5-Pad14) and unconnected-(J7-Pin_8-Pad8))
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets SW_5V and SYS5V)
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0300 mm)
|
||||||
|
Local override; error
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(14.0000 mm, 58.0000 mm): Footprint D2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(8.0000 mm, 66.0000 mm): Footprint P8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(27.0000 mm, 16.0000 mm): Footprint J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(34.0000 mm, 72.0000 mm): Footprint R5
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(48.0000 mm, 50.0000 mm): Footprint Q7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.8000 mm, 64.0000 mm): Footprint C34
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(68.0000 mm, 72.0000 mm): Footprint R31
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(66.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(99.2000 mm, 62.4000 mm): Footprint C40
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 50.0000 mm): PTH pad 9 [unconnected-(J7-Pin_9-Pad9)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 48.0000 mm): Footprint RS1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 72.0000 mm): Footprint Cu3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(50.0000 mm, 72.0000 mm): Footprint Rdfu
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(11.0000 mm, 21.5000 mm): Footprint D10
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 8.3000 mm): Footprint Rcomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 76.0000 mm): Footprint C7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.9000 mm, 5.0000 mm): Footprint R20
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 78.0000 mm): Footprint U4
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(18.0000 mm, 92.5000 mm): Footprint RB3
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.8000 mm, 66.0000 mm): Footprint TP1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(96.9000 mm, 5.0000 mm): Footprint R21
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(82.9000 mm, 7.5000 mm): Footprint C22
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(83.3000 mm, 10.9000 mm): Footprint C11
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(117.2000 mm, 65.4000 mm): Footprint C41
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 66.0000 mm): Footprint R55
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(14.0000 mm, 92.5000 mm): Footprint RB2
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 72.0000 mm): Footprint R30
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 72.0000 mm): Footprint R6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 64.0000 mm): Footprint C32
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
@(15.0000 mm, 43.0000 mm): Footprint D5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 62.0000 mm): Footprint R52
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 66.0000 mm): Footprint R56
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.0000 mm, 72.0000 mm): Footprint R42
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 52.0000 mm): Footprint R53
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 62.0000 mm): Footprint R51
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.8000 mm, 64.0000 mm): Footprint R58
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 58.0000 mm): Footprint C31
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 54.0000 mm): Footprint C30
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 72.0000 mm): Footprint R7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(68.8000 mm, 64.0000 mm): Footprint C33
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(101.0000 mm, 44.0000 mm): Footprint P3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(34.0000 mm, 76.0000 mm): Footprint C5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(46.0000 mm, 72.0000 mm): Footprint R8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 72.0000 mm): Footprint C24
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 56.0000 mm): Footprint R54
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 60.0000 mm): Footprint R57
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(50.0000 mm, 62.0000 mm): Footprint R50
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(66.0000 mm, 45.0000 mm): Footprint TP2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 72.0000 mm): Footprint Cu4
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
@(10.0000 mm, 92.5000 mm): Footprint RB1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(8.0000 mm, 58.0000 mm): PTH pad 3 [GND] of P6
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[solder_mask_bridge]: Rear solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[hole_to_hole]: Drilled hole too close to other hole (board setup constraints min 0.2495 mm; actual 0.1600 mm)
|
||||||
|
Rule: board setup constraints; warning
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(16.5700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(17.4775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(3.2800 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(7.3400 mm, 19.3500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(7.3400 mm, 23.6500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
@(10.3000 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.5700 mm, 38.0000 mm): Reference field of Rig
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(12.6400 mm, 42.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(12.6400 mm, 44.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.7620 mm, 19.6830 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(90.0600 mm, 10.5600 mm): Segment of U2 on F.Silkscreen
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.8594 mm, 11.1900 mm): Segment of Cbst on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.1387 mm, 10.1650 mm): Segment of C23 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 3.8500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(96.9000 mm, 3.5700 mm): Reference field of R21
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 11.4775 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 12.5225 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(76.5900 mm, 17.3300 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 50.5400 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(101.2000 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(104.0000 mm, 63.4000 mm): Reference field of U7
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.1400 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(96.1600 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(97.7000 mm, 13.2000 mm): Reference field of L2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.7600 mm, 21.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.7600 mm, 23.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
@(108.7620 mm, 20.3180 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(109.4220 mm, 19.8100 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(11.7000 mm, 67.6200 mm): Polygon of Q4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
@(14.0000 mm, 91.0700 mm): Reference field of RB2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.0000 mm, 73.5700 mm): Reference field of Ccomp2
|
||||||
|
@(104.0000 mm, 73.5700 mm): Reference field of Rcomp2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 65.1500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(71.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(66.0000 mm, 45.0000 mm): Circle of TP2 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 61.2500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(14.3200 mm, 36.0000 mm): Reference field of P1
|
||||||
|
@(15.0000 mm, 37.1750 mm): Pad 2 [IGN_SENSE] of Rig on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.3500 mm, 43.0000 mm): Pad 1 [3V3] of D5 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.7750 mm, 11.7000 mm): Pad 2 [SW_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(90.4750 mm, 9.9050 mm): Pad 1 [SW_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.2250 mm, 11.7000 mm): Pad 1 [BST_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(82.9000 mm, 8.9750 mm): Pad 1 [24V] of C22 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(93.4000 mm, 11.4000 mm): Pad 1 [SW_FAN] of Dbk on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(98.3500 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(115.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
@(70.1250 mm, 12.0000 mm): Pad 2 [BASE_LS] of R1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.1587 mm, 16.0437 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.5525 mm, 16.4375 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.4650 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.6000 mm, 62.4700 mm): Polygon of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(106.4750 mm, 60.6350 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(110.1000 mm, 60.0000 mm): Pad 1 [SW3_NODE] of L7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
@(106.4750 mm, 61.9050 mm): Pad 1 [SW3_NODE] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
@(95.6500 mm, 9.1250 mm): Pad 2 [CC_FAN] of Rcomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.0500 mm, 22.4000 mm): Pad 1 [SYS5V] of D6 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(12.0625 mm, 67.0500 mm): Pad 1 [EXT_LED] of Q4 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.0000 mm, 91.0700 mm): Reference field of RB3
|
||||||
|
@(16.5000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(10.0000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(111.9500 mm, 64.1500 mm): Segment of L7 on F.Silkscreen
|
||||||
|
@(110.3000 mm, 63.5000 mm): Pad 2 [GND] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(115.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(66.0000 mm, 45.0000 mm): Pad 1 [PFO_TP] of TP2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 59.3650 mm): Pad 6 [FREQ3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 60.6350 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 58.0950 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
@(12.0000 mm, 58.0000 mm): Pad 1 [5V_FAN] of D2 on F.Cu
|
||||||
|
|
||||||
|
** Found 17 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(14.9462 mm, 72.1212 mm): Track [GND] on F.Cu, length 0.1714 mm
|
||||||
|
@(12.0625 mm, 69.7884 mm): Track [GND] on F.Cu, length 0.8384 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.5000 mm, 6.0000 mm): PTH pad 2 [GND] of P5
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.0000 mm, 11.0800 mm): PTH pad 3 [GND] of H3
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0000 mm, 6.0000 mm): PTH pad 3 [GND] of P13
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(47.1119 mm, 61.7131 mm): Track [GND] on F.Cu, length 0.6224 mm
|
||||||
|
@(43.6515 mm, 57.3670 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.8250 mm, 62.0000 mm): Track [GND] on F.Cu, length 0.8625 mm
|
||||||
|
@(47.1119 mm, 61.7131 mm): Track [GND] on F.Cu, length 0.6224 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.6875 mm, 62.0000 mm): Track [GND] on F.Cu, length 0.0935 mm
|
||||||
|
@(55.1395 mm, 58.5000 mm): Track [GND] on F.Cu, length 0.1440 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.0625 mm, 12.9500 mm): Track [GND] on F.Cu, length 1.1375 mm
|
||||||
|
@(61.3000 mm, 20.0000 mm): Track [GND] on F.Cu, length 1.1746 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(69.1681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(65.0891 mm, 63.6141 mm): Track [GND] on F.Cu, length 0.5457 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(70.4293 mm, 77.9967 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(66.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7000 mm, 48.0000 mm): PTH pad 6 [GND] of MOD1
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
@(74.1330 mm, 19.1670 mm): Track [GND] on F.Cu, length 1.1780 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.1330 mm, 19.1670 mm): Track [GND] on F.Cu, length 1.1780 mm
|
||||||
|
@(63.8664 mm, 19.1664 mm): Track [GND] on F.Cu, length 1.1789 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(75.7052 mm, 10.2134 mm): Track [GND] on F.Cu, length 0.3918 mm
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.0000 mm, 76.8250 mm): Track [3V3] on F.Cu, length 0.8721 mm
|
||||||
|
@(66.7000 mm, 78.4000 mm): Pad 3 [3V3] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 77.6000 mm): Pad 1 [I2C_SDA] of U3 on F.Cu
|
||||||
|
@(69.6947 mm, 72.9761 mm): Track [I2C_SDA] on B.Cu, length 5.9444 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 78.4000 mm): Pad 2 [I2C_SCL] of U3 on F.Cu
|
||||||
|
@(71.2875 mm, 77.5000 mm): Track [I2C_SCL] on F.Cu, length 7.7782 mm
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
1283
03-Architecture-Hardware/kicad/_route-continue-drc-postauto.txt
Normal file
1283
03-Architecture-Hardware/kicad/_route-continue-drc-postauto.txt
Normal file
File diff suppressed because it is too large
Load Diff
898
03-Architecture-Hardware/kicad/_route-continue-drc-postfill.txt
Normal file
898
03-Architecture-Hardware/kicad/_route-continue-drc-postfill.txt
Normal file
@ -0,0 +1,898 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-03T20:26:38 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 204 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0300 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets unconnected-(J7-Pin_8-Pad8) and unconnected-(MOD1-A5-Pad14))
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0050 mm)
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[shorting_items]: Items shorting two nets (nets SYS5V and SW_5V)
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(71.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(71.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(72.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(72.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.4000 mm, 13.4000 mm): Footprint Dbk
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(14.0000 mm, 58.0000 mm): Footprint D2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 53.0000 mm): Footprint P6
|
||||||
|
@(8.0000 mm, 66.0000 mm): Footprint P8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 13.1500 mm): Footprint Ccomp
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(104.0000 mm, 60.0000 mm): Footprint U7
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(27.0000 mm, 16.0000 mm): Footprint J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 12.0000 mm): Footprint C3
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(34.0000 mm, 72.0000 mm): Footprint R5
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(48.0000 mm, 50.0000 mm): Footprint Q7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.8000 mm, 64.0000 mm): Footprint C34
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(68.0000 mm, 72.0000 mm): Footprint R31
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(66.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(99.2000 mm, 62.4000 mm): Footprint C40
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 34.0000 mm): Footprint J7
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 50.0000 mm): PTH pad 9 [unconnected-(J7-Pin_9-Pad9)] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(94.5000 mm, 52.0000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 48.0000 mm): Footprint RS1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 72.0000 mm): Footprint Cu3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(50.0000 mm, 72.0000 mm): Footprint Rdfu
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(11.0000 mm, 21.5000 mm): Footprint D10
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(95.6500 mm, 8.3000 mm): Footprint Rcomp
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 76.0000 mm): Footprint C7
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(93.9000 mm, 5.0000 mm): Footprint R20
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(65.5000 mm, 53.3000 mm): Footprint L6
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 56.0000 mm): Footprint C35
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(72.0000 mm, 78.0000 mm): Footprint U4
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(18.0000 mm, 92.5000 mm): Footprint RB3
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.8000 mm, 66.0000 mm): Footprint TP1
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(96.9000 mm, 5.0000 mm): Footprint R21
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(97.7000 mm, 8.0000 mm): Footprint L2
|
||||||
|
@(97.4000 mm, 10.9000 mm): Footprint C23
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(82.9000 mm, 7.5000 mm): Footprint C22
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(88.0000 mm, 8.0000 mm): Footprint U2
|
||||||
|
@(83.3000 mm, 10.9000 mm): Footprint C11
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(117.2000 mm, 65.4000 mm): Footprint C41
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(42.0000 mm, 66.0000 mm): Footprint R55
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(14.0000 mm, 92.5000 mm): Footprint RB2
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 72.0000 mm): Footprint R30
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(38.0000 mm, 72.0000 mm): Footprint R6
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(64.0000 mm, 64.0000 mm): Footprint C32
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(8.0000 mm, 26.0000 mm): Footprint P1
|
||||||
|
@(15.0000 mm, 43.0000 mm): Footprint D5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 62.0000 mm): Footprint R52
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.0000 mm, 16.0000 mm): Footprint K1
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(46.0000 mm, 66.0000 mm): Footprint R56
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(54.0000 mm, 72.0000 mm): Footprint R42
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 58.0000 mm): Footprint U6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 52.0000 mm): Footprint R53
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 62.0000 mm): Footprint R51
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.8000 mm, 64.0000 mm): Footprint R58
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 58.0000 mm): Footprint C31
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 54.0000 mm): Footprint C30
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(42.0000 mm, 72.0000 mm): Footprint R7
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(68.8000 mm, 64.0000 mm): Footprint C33
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(101.0000 mm, 44.0000 mm): Footprint P3
|
||||||
|
[pth_inside_courtyard]: PTH inside courtyard
|
||||||
|
Local override; error
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(34.0000 mm, 76.0000 mm): Footprint C5
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(46.0000 mm, 72.0000 mm): Footprint R8
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(58.0000 mm, 72.0000 mm): Footprint C24
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 56.0000 mm): Footprint R54
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 60.0000 mm): Footprint R57
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(50.0000 mm, 62.0000 mm): Footprint R50
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(66.0000 mm, 45.0000 mm): Footprint TP2
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(60.0000 mm, 48.0000 mm): Footprint MOD1
|
||||||
|
@(76.0000 mm, 72.0000 mm): Footprint Cu4
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(10.0000 mm, 86.0000 mm): Footprint SW1
|
||||||
|
@(10.0000 mm, 92.5000 mm): Footprint RB1
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.5000 mm, 22.6000 mm): Footprint Q6
|
||||||
|
@(112.4000 mm, 22.4000 mm): Footprint D6
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(108.3000 mm, 63.5000 mm): Footprint Dbk2
|
||||||
|
@(114.0000 mm, 60.0000 mm): Footprint L7
|
||||||
|
[starved_thermal]: Thermal relief connection to zone incomplete (layer B.Cu; zone min spoke count 2; actual 1)
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
@(8.0000 mm, 58.0000 mm): PTH pad 3 [GND] of P6
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[solder_mask_bridge]: Rear solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[hole_to_hole]: Drilled hole too close to other hole (board setup constraints min 0.2495 mm; actual 0.1600 mm)
|
||||||
|
Rule: board setup constraints; warning
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
@(94.5000 mm, 48.0000 mm): PTH pad 8 [unconnected-(J7-Pin_8-Pad8)] of J7
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(16.5700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(17.4775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(3.2800 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(7.3400 mm, 19.3500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(7.3400 mm, 23.6500 mm): Segment of D10 on F.Silkscreen
|
||||||
|
@(10.3000 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.5700 mm, 38.0000 mm): Reference field of Rig
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(12.6400 mm, 42.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(12.6400 mm, 44.0000 mm): Segment of D5 on F.Silkscreen
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.7620 mm, 19.6830 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(90.0600 mm, 10.5600 mm): Segment of U2 on F.Silkscreen
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.8594 mm, 11.1900 mm): Segment of Cbst on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.1387 mm, 10.1650 mm): Segment of C23 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.6500 mm, 3.8500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(96.9000 mm, 3.5700 mm): Reference field of R21
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 11.4775 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(69.0627 mm, 12.5225 mm): Segment of R1 on F.Silkscreen
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(76.5900 mm, 17.3300 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 50.5400 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(101.2000 mm, 53.3000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(104.0000 mm, 63.4000 mm): Reference field of U7
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2300 mm, 48.0000 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(98.2500 mm, 42.2000 mm): Segment of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4600 mm, 41.4400 mm): Rectangle of P3 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.1400 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
@(95.0500 mm, 9.8900 mm): Segment of Dbk on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(96.1600 mm, 13.0094 mm): Segment of Ccomp on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(97.7000 mm, 13.2000 mm): Reference field of L2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.7600 mm, 21.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.7600 mm, 23.4000 mm): Segment of D6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
@(108.7620 mm, 20.3180 mm): Segment of K1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(109.4220 mm, 19.8100 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(108.5000 mm, 20.2000 mm): Reference field of Q6
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
@(10.4900 mm, 59.6500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(11.7000 mm, 67.6200 mm): Polygon of Q4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
@(14.0000 mm, 91.0700 mm): Reference field of RB2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(11.0000 mm, 91.5000 mm): Segment of SW1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(108.0000 mm, 73.5700 mm): Reference field of Ccomp2
|
||||||
|
@(104.0000 mm, 73.5700 mm): Reference field of Rcomp2
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 65.1500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(103.4000 mm, 65.4700 mm): Reference field of Cbst2
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(72.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(71.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(66.0000 mm, 45.0000 mm): Circle of TP2 on F.Silkscreen
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4600 mm, 50.4400 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.7500 mm, 63.1500 mm): Segment of P8 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 61.2500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(10.4900 mm, 56.3500 mm): Segment of D2 on F.Silkscreen
|
||||||
|
@(10.4500 mm, 53.7500 mm): Rectangle of P6 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(14.3200 mm, 36.0000 mm): Reference field of P1
|
||||||
|
@(15.0000 mm, 37.1750 mm): Pad 2 [IGN_SENSE] of Rig on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(13.3200 mm, 23.3800 mm): Segment of P1 on F.Silkscreen
|
||||||
|
@(13.3500 mm, 43.0000 mm): Pad 1 [3V3] of D5 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 13.9250 mm): Pad 2 [GND] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(88.7750 mm, 11.7000 mm): Pad 2 [SW_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(90.4750 mm, 9.9050 mm): Pad 1 [SW_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 11.4000 mm): Reference field of U2
|
||||||
|
@(87.2250 mm, 11.7000 mm): Pad 1 [BST_FAN] of Cbst on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(88.0000 mm, 10.2700 mm): Reference field of Cbst
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(82.9000 mm, 8.9750 mm): Pad 1 [24V] of C22 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(83.3000 mm, 9.4700 mm): Reference field of C11
|
||||||
|
@(85.5250 mm, 9.9050 mm): Pad 8 [BST_FAN] of U2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.6500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(93.4000 mm, 11.4000 mm): Pad 1 [SW_FAN] of Dbk on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 13.1500 mm): Reference field of Ccomp
|
||||||
|
@(98.3500 mm, 10.9000 mm): Pad 2 [GND] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(99.7500 mm, 12.1500 mm): Segment of L2 on F.Silkscreen
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.0800 mm, 8.3000 mm): Reference field of Rcomp
|
||||||
|
@(96.4500 mm, 10.9000 mm): Pad 1 [5V_FAN] of C23 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(115.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.0500 mm, 12.0000 mm): Reference field of C3
|
||||||
|
@(70.1250 mm, 12.0000 mm): Pad 2 [BASE_LS] of R1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.0544 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.1587 mm, 16.0437 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(72.5525 mm, 16.4375 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(76.7456 mm, 15.4100 mm): Segment of C3 on F.Silkscreen
|
||||||
|
@(75.2600 mm, 16.0000 mm): PTH pad 20 [SYS5V] of J1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.4650 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.0600 mm, 62.5600 mm): Segment of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.8800 mm, 62.4000 mm): Reference field of C40
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(93.4400 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(93.0200 mm, 48.0000 mm): PTH pad 13 [unconnected-(MOD1-A4-Pad13)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.5600 mm, 35.0000 mm): Segment of J7 on F.Silkscreen
|
||||||
|
@(95.5600 mm, 48.0000 mm): PTH pad 14 [unconnected-(MOD1-A5-Pad14)] of MOD1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(106.6000 mm, 62.4700 mm): Polygon of U7 on F.Silkscreen
|
||||||
|
@(106.3000 mm, 63.5000 mm): Pad 1 [SW3_NODE] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(106.4750 mm, 60.6350 mm): Pad 2 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(108.3000 mm, 61.0000 mm): Reference field of Dbk2
|
||||||
|
@(110.1000 mm, 60.0000 mm): Pad 1 [SW3_NODE] of L7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(104.7900 mm, 61.8500 mm): Segment of Dbk2 on F.Silkscreen
|
||||||
|
@(106.4750 mm, 61.9050 mm): Pad 1 [SW3_NODE] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(95.9000 mm, 13.4000 mm): Reference field of Dbk
|
||||||
|
@(95.6500 mm, 12.3750 mm): Pad 1 [CC_FAN] of Ccomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(97.4000 mm, 9.2200 mm): Reference field of C23
|
||||||
|
@(95.6500 mm, 9.1250 mm): Pad 2 [CC_FAN] of Rcomp on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(114.4000 mm, 14.7000 mm): Segment of K1 on F.Silkscreen
|
||||||
|
@(114.0500 mm, 22.4000 mm): Pad 1 [SYS5V] of D6 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 67.2500 mm): Reference field of P8
|
||||||
|
@(12.0625 mm, 67.0500 mm): Pad 1 [EXT_LED] of Q4 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.0000 mm, 91.0700 mm): Reference field of RB3
|
||||||
|
@(16.5000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(10.0000 mm, 91.0700 mm): Reference field of RB1
|
||||||
|
@(10.0000 mm, 90.5000 mm): PTH pad 2 [GND] of SW1
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(111.9500 mm, 64.1500 mm): Segment of L7 on F.Silkscreen
|
||||||
|
@(110.3000 mm, 63.5000 mm): Pad 2 [GND] of Dbk2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(115.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(115.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(66.0000 mm, 45.0000 mm): Pad 1 [PFO_TP] of TP2 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(98.2300 mm, 45.3300 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(94.5000 mm, 46.0000 mm): PTH pad 7 [unconnected-(J7-Pin_7-Pad7)] of J7
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 59.3650 mm): Pad 6 [FREQ3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 60.6350 mm): Pad 7 [SW_5V] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 61.9050 mm): Pad 8 [BST3] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.5250 mm, 58.0950 mm): Pad 5 [GND] of U7 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(100.7700 mm, 83.3100 mm): Segment of MOD1 on F.Silkscreen
|
||||||
|
@(101.0000 mm, 51.5000 mm): PTH pad 4 [GNSS_RX] of P3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(28.2700 mm, 14.6700 mm): Segment of J1 on F.Silkscreen
|
||||||
|
@(74.4000 mm, 14.7000 mm): Pad 1 [SW_5V] of C3 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(11.5500 mm, 56.7500 mm): Reference field of P6
|
||||||
|
@(12.0000 mm, 58.0000 mm): Pad 1 [5V_FAN] of D2 on F.Cu
|
||||||
|
|
||||||
|
** Found 17 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(14.9462 mm, 72.1212 mm): Track [GND] on F.Cu, length 0.1714 mm
|
||||||
|
@(12.0625 mm, 69.7884 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.5000 mm, 6.0000 mm): PTH pad 2 [GND] of P5
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.0000 mm, 11.0800 mm): PTH pad 3 [GND] of H3
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0000 mm, 6.0000 mm): PTH pad 3 [GND] of P13
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(47.1119 mm, 61.7131 mm): Track [GND] on F.Cu, length 0.6224 mm
|
||||||
|
@(43.6515 mm, 57.3670 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(50.8250 mm, 62.0000 mm): Track [GND] on F.Cu, length 0.8625 mm
|
||||||
|
@(47.7343 mm, 61.7131 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.7536 mm, 61.9339 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(55.1395 mm, 58.5000 mm): Track [GND] on F.Cu, length 0.1440 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(59.0625 mm, 12.9500 mm): Track [GND] on F.Cu, length 1.1375 mm
|
||||||
|
@(62.1306 mm, 19.1694 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(69.1681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(65.0891 mm, 63.6141 mm): Track [GND] on F.Cu, length 0.5457 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(70.4293 mm, 77.9967 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(66.7000 mm, 77.6000 mm): Pad 4 [GND] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7000 mm, 48.0000 mm): PTH pad 6 [GND] of MOD1
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on B.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.7200 mm, 33.7800 mm): PTH pad 19 [GND] of J2
|
||||||
|
@(74.1330 mm, 19.1670 mm): Track [GND] on F.Cu, length 1.1780 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(74.1330 mm, 19.1670 mm): Track [GND] on F.Cu, length 1.1780 mm
|
||||||
|
@(63.8664 mm, 19.1664 mm): Track [GND] on F.Cu, length 1.1789 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(75.3134 mm, 10.2134 mm): Track [GND] on F.Cu, length 1.2917 mm
|
||||||
|
@(72.7200 mm, 16.0000 mm): PTH pad 19 [GND] of J1
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(72.0000 mm, 76.8250 mm): Track [3V3] on F.Cu, length 0.8721 mm
|
||||||
|
@(66.7000 mm, 78.4000 mm): Pad 3 [3V3] of U3 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 77.6000 mm): Pad 1 [I2C_SDA] of U3 on F.Cu
|
||||||
|
@(69.6947 mm, 72.9761 mm): Track [I2C_SDA] on B.Cu, length 5.9444 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(65.3000 mm, 78.4000 mm): Pad 2 [I2C_SCL] of U3 on F.Cu
|
||||||
|
@(71.2875 mm, 77.5000 mm): Track [I2C_SCL] on F.Cu, length 7.7782 mm
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
1137
03-Architecture-Hardware/kicad/_route-continue-drc-poststitch.txt
Normal file
1137
03-Architecture-Hardware/kicad/_route-continue-drc-poststitch.txt
Normal file
File diff suppressed because it is too large
Load Diff
1902
03-Architecture-Hardware/kicad/_route-continue-drc-poststrip.txt
Normal file
1902
03-Architecture-Hardware/kicad/_route-continue-drc-poststrip.txt
Normal file
File diff suppressed because it is too large
Load Diff
1958
03-Architecture-Hardware/kicad/_route-continue-drc-start.txt
Normal file
1958
03-Architecture-Hardware/kicad/_route-continue-drc-start.txt
Normal file
File diff suppressed because it is too large
Load Diff
1999
03-Architecture-Hardware/kicad/_route-test.dsn
Normal file
1999
03-Architecture-Hardware/kicad/_route-test.dsn
Normal file
File diff suppressed because it is too large
Load Diff
193
03-Architecture-Hardware/kicad/_route-v3-drc.txt
Normal file
193
03-Architecture-Hardware/kicad/_route-v3-drc.txt
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
** Drc report for hbox-watchdog-v3-PROD.kicad_pcb **
|
||||||
|
** Created on 2026-07-04T14:27:14 **
|
||||||
|
** Report includes: Errors, Warnings **
|
||||||
|
|
||||||
|
** Found 32 DRC violations **
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.0798 mm)
|
||||||
|
Local override; error
|
||||||
|
@(76.2857 mm, 11.5406 mm): Track [SW_5V] on In2.Cu, length 0.3912 mm
|
||||||
|
@(77.5374 mm, 10.7003 mm): Track [VEH5V] on In2.Cu, length 0.4604 mm
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 77.5000 mm): Pad 1 [I2C_SCL] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets FAN_GATE and VEH5V)
|
||||||
|
Local override; error
|
||||||
|
@(18.1750 mm, 54.0000 mm): Pad 1 [FAN_GATE] of Rgs on F.Cu
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[shorting_items]: Items shorting two nets (nets GND and VEH5V)
|
||||||
|
Local override; error
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(49.2875 mm, 78.0000 mm): Pad 2 [GND] of U4 on F.Cu
|
||||||
|
@(49.2875 mm, 78.5000 mm): Pad 3 [unconnected-(U4-ALERT-Pad3)] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.5000 mm): Pad 4 [GND] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
[clearance]: Clearance violation ( clearance 0.2000 mm; actual 0.1500 mm)
|
||||||
|
Local override; error
|
||||||
|
@(50.7125 mm, 78.0000 mm): Pad 5 [3V3] of U4 on F.Cu
|
||||||
|
@(50.7125 mm, 77.5000 mm): Pad 6 [I2C_SDA] of U4 on F.Cu
|
||||||
|
[courtyards_overlap]: Courtyards overlap
|
||||||
|
Rule: board setup constraints courtyard; error
|
||||||
|
@(19.0000 mm, 54.0000 mm): Footprint Rgs
|
||||||
|
@(20.0000 mm, 54.0000 mm): Footprint C30
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(18.1750 mm, 54.0000 mm): Pad 1 [FAN_GATE] of Rgs on F.Cu
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[solder_mask_bridge]: Front solder mask aperture bridges items with different nets
|
||||||
|
Rule: board setup solder mask min width; error
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(130.0000 mm, 21.5000 mm): Footprint P6
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 39.7500 mm): Footprint P10
|
||||||
|
[lib_footprint_mismatch]: Footprint 'Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad' does not match copy in library 'Sensor_Humidity'
|
||||||
|
Local override; warning
|
||||||
|
@(44.0000 mm, 78.0000 mm): Footprint U3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Footprint MH3
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Footprint MH4
|
||||||
|
[lib_footprint_mismatch]: Footprint 'JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical' does not match copy in library 'Connector_JST'
|
||||||
|
Local override; warning
|
||||||
|
@(129.9750 mm, 30.5000 mm): Footprint P8
|
||||||
|
[lib_footprint_mismatch]: Footprint 'TerminalBlock_Phoenix_MKDS-1,5-5_1x05_P5.00mm_Horizontal' does not match copy in library 'TerminalBlock_Phoenix'
|
||||||
|
Local override; warning
|
||||||
|
@(92.5000 mm, 93.5000 mm): Footprint P1
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Footprint MH2
|
||||||
|
[lib_footprint_issues]: Footprint 'MountingHole_3.2mm' not found in library 'MountingHole'
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Footprint MH1
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(20.0000 mm, 52.3200 mm): Reference field of C30
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(50.0000 mm, 76.3500 mm): Reference field of U4
|
||||||
|
@(49.2800 mm, 77.0600 mm): Polygon of U4 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(19.0700 mm, 38.0000 mm): Reference field of Rigb
|
||||||
|
@(19.9775 mm, 38.2373 mm): Segment of Rigb on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(60.0000 mm, 9.6000 mm): Reference field of Q5
|
||||||
|
@(53.0400 mm, 3.5400 mm): Rectangle of P11 on F.Silkscreen
|
||||||
|
[silk_overlap]: Silkscreen clearance
|
||||||
|
Rule: board setup constraints silk; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 95.0000 mm): Reference field of MH4
|
||||||
|
@(131.0000 mm, 95.0000 mm): NPTH pad of MH4
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 95.0000 mm): Reference field of MH3
|
||||||
|
@(5.0000 mm, 95.0000 mm): NPTH pad of MH3
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(131.0000 mm, 5.0000 mm): Reference field of MH2
|
||||||
|
@(131.0000 mm, 5.0000 mm): NPTH pad of MH2
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(70.1500 mm, 8.2000 mm): Reference field of C3
|
||||||
|
@(69.1375 mm, 6.0000 mm): Pad 2 [SW_IN] of F1 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(19.0000 mm, 52.5700 mm): Reference field of Rgs
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.7627 mm, 53.4775 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(18.7627 mm, 54.5225 mm): Segment of Rgs on F.Silkscreen
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[silk_over_copper]: Silkscreen clipped by solder mask
|
||||||
|
Local override; warning
|
||||||
|
@(5.0000 mm, 5.0000 mm): Reference field of MH1
|
||||||
|
@(5.0000 mm, 5.0000 mm): NPTH pad of MH1
|
||||||
|
|
||||||
|
** Found 14 unconnected pads **
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(20.9500 mm, 54.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
@(19.8250 mm, 54.0000 mm): Pad 2 [GND] of Rgs on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(25.1250 mm, 57.6436 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(20.9500 mm, 54.0000 mm): Pad 2 [GND] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.5500 mm, 54.0000 mm): Track [GND] on F.Cu, length 0.7071 mm
|
||||||
|
@(42.3681 mm, 63.2612 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(51.7500 mm, 62.7668 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(54.2371 mm, 58.2671 mm): Track [GND] on F.Cu, length 0.3413 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(86.5852 mm, 27.8086 mm): Via [GND] on F.Cu - B.Cu
|
||||||
|
@(84.0000 mm, 32.5000 mm): Pad 3 [GND] of JP2 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(94.0000 mm, 52.5000 mm): PTH pad 10 [GND] of J7
|
||||||
|
@(99.2315 mm, 57.2185 mm): Track [GND] on F.Cu, length 0.9609 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
@(0.0000 mm, 0.0000 mm): Zone [GND] on In1.Cu, priority 0
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(41.0500 mm, 51.5500 mm): Pad 23 [BAT_PLUS] of U6 on F.Cu
|
||||||
|
@(49.0500 mm, 55.4519 mm): Track [BAT_PLUS] on F.Cu, length 1.6743 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(18.5375 mm, 48.0000 mm): Track [VEH5V] on F.Cu, length 1.5168 mm
|
||||||
|
@(19.0500 mm, 54.0000 mm): Pad 1 [VEH5V] of C30 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(43.5000 mm, 54.0000 mm): Pad 16 [VEH5V] of U6 on F.Cu
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(39.6000 mm, 55.0000 mm): Pad 6 [VEH5V] of U6 on F.Cu
|
||||||
|
@(33.7514 mm, 60.3921 mm): Track [VEH5V] on F.Cu, length 0.3957 mm
|
||||||
|
[unconnected_items]: Missing connection between items
|
||||||
|
Local override; error
|
||||||
|
@(31.3500 mm, 62.0000 mm): Pad 1 [PROG] of R50 on F.Cu
|
||||||
|
@(39.6000 mm, 53.0000 mm): Pad 2 [PROG] of U6 on F.Cu
|
||||||
|
|
||||||
|
** Found 0 Footprint errors **
|
||||||
|
|
||||||
|
** Ignored checks **
|
||||||
|
- Footprint has no courtyard defined
|
||||||
|
- Track endpoint not centered on via
|
||||||
|
- Tuning profile track geometries
|
||||||
|
- Footprint doesn't match symbol's footprint filters
|
||||||
|
- Footprint component type doesn't match footprint pads
|
||||||
|
|
||||||
|
** End of Report **
|
||||||
BIN
03-Architecture-Hardware/kicad/freerouting-1.9.0.jar
Normal file
BIN
03-Architecture-Hardware/kicad/freerouting-1.9.0.jar
Normal file
Binary file not shown.
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
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
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
(rules PCB hbox-watchdog-v3-PROD-4layer-wideclass-v3
|
||||||
|
(snap_angle
|
||||||
|
fortyfive_degree
|
||||||
|
)
|
||||||
|
(autoroute_settings
|
||||||
|
(fanout off)
|
||||||
|
(autoroute on)
|
||||||
|
(postroute on)
|
||||||
|
(vias on)
|
||||||
|
(via_costs 50)
|
||||||
|
(plane_via_costs 5)
|
||||||
|
(start_ripup_costs 100)
|
||||||
|
(start_pass_no 11)
|
||||||
|
(layer_rule F.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction horizontal)
|
||||||
|
(preferred_direction_trace_costs 1.8)
|
||||||
|
(against_preferred_direction_trace_costs 3.1)
|
||||||
|
)
|
||||||
|
(layer_rule In1.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction vertical)
|
||||||
|
(preferred_direction_trace_costs 1.0)
|
||||||
|
(against_preferred_direction_trace_costs 1.7)
|
||||||
|
)
|
||||||
|
(layer_rule In2.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction vertical)
|
||||||
|
(preferred_direction_trace_costs 1.0)
|
||||||
|
(against_preferred_direction_trace_costs 2.3)
|
||||||
|
)
|
||||||
|
(layer_rule B.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction horizontal)
|
||||||
|
(preferred_direction_trace_costs 1.8)
|
||||||
|
(against_preferred_direction_trace_costs 2.5)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
(clearance 200.0)
|
||||||
|
(clearance 100.0 (type smd_to_turn_gap))
|
||||||
|
(clearance 50.0 (type smd))
|
||||||
|
(clearance 200.0 (type "kicad_default"))
|
||||||
|
(clearance 200.0 (type "PWR_HI"))
|
||||||
|
(clearance 200.0 (type "PWR_MID"))
|
||||||
|
)
|
||||||
|
(padstack "Via[0-3]_600:300_um"
|
||||||
|
(shape
|
||||||
|
(circle F.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle In1.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle In2.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle B.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(attach off)
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um" "Via[0-3]_600:300_um" default
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-kicad_default" "Via[0-3]_600:300_um" "kicad_default"
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-PWR_HI" "Via[0-3]_600:300_um" "PWR_HI"
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-PWR_MID" "Via[0-3]_600:300_um" "PWR_MID"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
default "Via[0-3]_600:300_um"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"kicad_default" "Via[0-3]_600:300_um-kicad_default"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"PWR_HI" "Via[0-3]_600:300_um-PWR_HI"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"PWR_MID" "Via[0-3]_600:300_um-PWR_MID"
|
||||||
|
)
|
||||||
|
(class default
|
||||||
|
(clearance_class default)
|
||||||
|
(via_rule default)
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "kicad_default"
|
||||||
|
GND "GATE_LS" "USART1_RX" "DIN_4G" "IGN_SENSE" "FAN_TACH_RAW" "EN_FAN" BLED2
|
||||||
|
NTC NRST "CC_FAN" COMP3 FB3 FREQ3 BST3 BLED1
|
||||||
|
"unconnected-(J1-Pin_1-Pad1)" "unconnected-(J1-Pin_2-Pad2)" "unconnected-(J1-Pin_3-Pad3)" "unconnected-(J1-Pin_4-Pad4)" "BAT_SENSE" "PWR_CTRL" "GNSS_TX" "GNSS_RX"
|
||||||
|
"5V_SENSE" "FAN_PWM" "unconnected-(J1-Pin_13-Pad13)" "EXT_LED" "NTC_TEMP" "unconnected-(J1-Pin_16-Pad16)" "FAN_TACH" 3V3
|
||||||
|
"COMP3_C" "SW_IN" "FAN_GATE" IGATE "I2C_SDA" "I2C_SCL" "DOUT_4G" "unconnected-(J7-Pin_4-Pad4)"
|
||||||
|
"unconnected-(J7-Pin_5-Pad5)" "unconnected-(J7-Pin_6-Pad6)" "unconnected-(J7-Pin_7-Pad7)" "unconnected-(J7-Pin_8-Pad8)" "unconnected-(J7-Pin_9-Pad9)" "LED_A" "COMP_FAN" "BASE_LS"
|
||||||
|
"FB_FAN" "BST_FAN" "USART1_TX" "unconnected-(U4-ALERT-Pad3)" BATLED3 BLED3 "CLPROG_TP" "unconnected-(J8-Pin_1-Pad1)"
|
||||||
|
"unconnected-(J8-Pin_2-Pad2)" "unconnected-(J8-Pin_3-Pad3)" "unconnected-(J8-Pin_4-Pad4)" "unconnected-(J8-Pin_5-Pad5)" "unconnected-(J8-Pin_6-Pad6)" "unconnected-(J8-Pin_7-Pad7)" "unconnected-(J8-Pin_8-Pad8)" "unconnected-(J8-Pin_9-Pad9)"
|
||||||
|
"unconnected-(J8-Pin_10-Pad10)" "FREQ_FAN" BATLED4 BLED4 "F0_SEL" "LED_K" "Q6_BASE" BATLED2
|
||||||
|
"unconnected-(P1-Pin_4-Pad4)" "unconnected-(P1-Pin_5-Pad5)" PFI KCOIL BATLED1 "CHRG_EN" "unconnected-(J2-Pin_8-Pad8)" "unconnected-(J2-Pin_9-Pad9)"
|
||||||
|
"unconnected-(J2-Pin_10-Pad10)" "CHRG_STAT" "CHRG_FAULT" "BYP_CTRL" "unconnected-(J2-Pin_16-Pad16)" "unconnected-(J2-Pin_17-Pad17)" "Q10_GATE" PROG
|
||||||
|
"VFB_BST" "unconnected-(U6-RST-Pad11)" "F2_SEL" "F1_SEL" "PFO_TP" "unconnected-(MOD1-NC-Pad1)" "unconnected-(MOD1-RESET-Pad3)" "unconnected-(MOD1-3V3_OUT-Pad4)"
|
||||||
|
"unconnected-(MOD1-VIN-Pad8)" "unconnected-(MOD1-A0-Pad9)" "unconnected-(MOD1-A1-Pad10)" "unconnected-(MOD1-A2-Pad11)" "unconnected-(MOD1-A3-Pad12)" "unconnected-(MOD1-A4-Pad13)" "unconnected-(MOD1-A5-Pad14)" "unconnected-(MOD1-D3-Pad18)"
|
||||||
|
"unconnected-(MOD1-D4-Pad19)" "unconnected-(MOD1-D5-Pad20)" "unconnected-(MOD1-D6-Pad21)" "unconnected-(MOD1-D7-Pad22)" "unconnected-(MOD1-D9-Pad24)" "unconnected-(MOD1-D10-Pad25)" "unconnected-(MOD1-FENCE_D11-Pad26)" "unconnected-(MOD1-EXTINT_D12-Pad27)"
|
||||||
|
"unconnected-(MOD1-TPS_D13-Pad28)" "unconnected-(MOD1-AREF-Pad30)" "unconnected-(MOD1-SDA-Pad31)" "unconnected-(MOD1-SCL-Pad32)"
|
||||||
|
(clearance_class "kicad_default")
|
||||||
|
(via_rule "kicad_default")
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "PWR_HI"
|
||||||
|
SYS5V "BAT_PLUS" MAIN5V "VIN_SW" VEH5V "SW_BAT"
|
||||||
|
(clearance_class "PWR_HI")
|
||||||
|
(via_rule "PWR_HI")
|
||||||
|
(rule
|
||||||
|
(width 1500.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "PWR_MID"
|
||||||
|
"SW_FAN" "5V_FAN" "FAN_RET" "SW3_NODE" "SW_5V" "3V3_MODEM" "24V_IN" 24V
|
||||||
|
"IGN_IN"
|
||||||
|
(clearance_class "PWR_MID")
|
||||||
|
(via_rule "PWR_MID")
|
||||||
|
(rule
|
||||||
|
(width 1000.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
(rules PCB hbox-watchdog-v3-PROD-4layer-wideclass
|
||||||
|
(snap_angle
|
||||||
|
fortyfive_degree
|
||||||
|
)
|
||||||
|
(autoroute_settings
|
||||||
|
(fanout off)
|
||||||
|
(autoroute on)
|
||||||
|
(postroute on)
|
||||||
|
(vias on)
|
||||||
|
(via_costs 50)
|
||||||
|
(plane_via_costs 5)
|
||||||
|
(start_ripup_costs 100)
|
||||||
|
(start_pass_no 70)
|
||||||
|
(layer_rule F.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction horizontal)
|
||||||
|
(preferred_direction_trace_costs 1.8)
|
||||||
|
(against_preferred_direction_trace_costs 3.0)
|
||||||
|
)
|
||||||
|
(layer_rule In1.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction vertical)
|
||||||
|
(preferred_direction_trace_costs 1.0)
|
||||||
|
(against_preferred_direction_trace_costs 1.8)
|
||||||
|
)
|
||||||
|
(layer_rule In2.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction vertical)
|
||||||
|
(preferred_direction_trace_costs 1.0)
|
||||||
|
(against_preferred_direction_trace_costs 2.2)
|
||||||
|
)
|
||||||
|
(layer_rule B.Cu
|
||||||
|
(active on)
|
||||||
|
(preferred_direction horizontal)
|
||||||
|
(preferred_direction_trace_costs 1.8)
|
||||||
|
(against_preferred_direction_trace_costs 2.6)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
(clearance 200.0)
|
||||||
|
(clearance 100.0 (type smd_to_turn_gap))
|
||||||
|
(clearance 50.0 (type smd))
|
||||||
|
(clearance 200.0 (type "kicad_default"))
|
||||||
|
(clearance 200.0 (type "PWR_HI"))
|
||||||
|
(clearance 200.0 (type "PWR_MID"))
|
||||||
|
)
|
||||||
|
(padstack "Via[0-3]_600:300_um"
|
||||||
|
(shape
|
||||||
|
(circle F.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle In1.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle In2.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(shape
|
||||||
|
(circle B.Cu 600.0 0.0 0.0)
|
||||||
|
)
|
||||||
|
(attach off)
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um" "Via[0-3]_600:300_um" default
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-kicad_default" "Via[0-3]_600:300_um" "kicad_default"
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-PWR_HI" "Via[0-3]_600:300_um" "PWR_HI"
|
||||||
|
)
|
||||||
|
(via
|
||||||
|
"Via[0-3]_600:300_um-PWR_MID" "Via[0-3]_600:300_um" "PWR_MID"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
default "Via[0-3]_600:300_um"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"kicad_default" "Via[0-3]_600:300_um-kicad_default"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"PWR_HI" "Via[0-3]_600:300_um-PWR_HI"
|
||||||
|
)
|
||||||
|
(via_rule
|
||||||
|
"PWR_MID" "Via[0-3]_600:300_um-PWR_MID"
|
||||||
|
)
|
||||||
|
(class default
|
||||||
|
(clearance_class default)
|
||||||
|
(via_rule default)
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "kicad_default"
|
||||||
|
GND "GATE_LS" "USART1_RX" "DIN_4G" "IGN_SENSE" "FAN_TACH_RAW" "EN_FAN" BLED2
|
||||||
|
NTC NRST "CC_FAN" COMP3 FB3 FREQ3 BST3 BLED1
|
||||||
|
"unconnected-(J1-Pin_1-Pad1)" "unconnected-(J1-Pin_2-Pad2)" "unconnected-(J1-Pin_3-Pad3)" "unconnected-(J1-Pin_4-Pad4)" "BAT_SENSE" "PWR_CTRL" "GNSS_TX" "GNSS_RX"
|
||||||
|
"5V_SENSE" "FAN_PWM" "unconnected-(J1-Pin_13-Pad13)" "EXT_LED" "NTC_TEMP" "unconnected-(J1-Pin_16-Pad16)" "FAN_TACH" 3V3
|
||||||
|
"COMP3_C" "SW_IN" "FAN_GATE" IGATE "I2C_SDA" "I2C_SCL" "DOUT_4G" "unconnected-(J7-Pin_4-Pad4)"
|
||||||
|
"unconnected-(J7-Pin_5-Pad5)" "unconnected-(J7-Pin_6-Pad6)" "unconnected-(J7-Pin_7-Pad7)" "unconnected-(J7-Pin_8-Pad8)" "unconnected-(J7-Pin_9-Pad9)" "LED_A" "COMP_FAN" "BASE_LS"
|
||||||
|
"FB_FAN" "BST_FAN" "USART1_TX" "unconnected-(U4-ALERT-Pad3)" BATLED3 BLED3 "CLPROG_TP" "unconnected-(J8-Pin_1-Pad1)"
|
||||||
|
"unconnected-(J8-Pin_2-Pad2)" "unconnected-(J8-Pin_3-Pad3)" "unconnected-(J8-Pin_4-Pad4)" "unconnected-(J8-Pin_5-Pad5)" "unconnected-(J8-Pin_6-Pad6)" "unconnected-(J8-Pin_7-Pad7)" "unconnected-(J8-Pin_8-Pad8)" "unconnected-(J8-Pin_9-Pad9)"
|
||||||
|
"unconnected-(J8-Pin_10-Pad10)" "FREQ_FAN" BATLED4 BLED4 "F0_SEL" "LED_K" "Q6_BASE" BATLED2
|
||||||
|
"unconnected-(P1-Pin_4-Pad4)" "unconnected-(P1-Pin_5-Pad5)" PFI KCOIL BATLED1 "CHRG_EN" "unconnected-(J2-Pin_8-Pad8)" "unconnected-(J2-Pin_9-Pad9)"
|
||||||
|
"unconnected-(J2-Pin_10-Pad10)" "CHRG_STAT" "CHRG_FAULT" "BYP_CTRL" "unconnected-(J2-Pin_16-Pad16)" "unconnected-(J2-Pin_17-Pad17)" "Q10_GATE" "unconnected-(MOD1-NC-Pad1)"
|
||||||
|
"unconnected-(MOD1-RESET-Pad3)" "unconnected-(MOD1-3V3_OUT-Pad4)" "unconnected-(MOD1-VIN-Pad8)" "unconnected-(MOD1-A0-Pad9)" "unconnected-(MOD1-A1-Pad10)" "unconnected-(MOD1-A2-Pad11)" "unconnected-(MOD1-A3-Pad12)" "unconnected-(MOD1-A4-Pad13)"
|
||||||
|
"unconnected-(MOD1-A5-Pad14)" "unconnected-(MOD1-D3-Pad18)" "unconnected-(MOD1-D4-Pad19)" "unconnected-(MOD1-D5-Pad20)" "unconnected-(MOD1-D6-Pad21)" "unconnected-(MOD1-D7-Pad22)" "unconnected-(MOD1-D9-Pad24)" "unconnected-(MOD1-D10-Pad25)"
|
||||||
|
"unconnected-(MOD1-FENCE_D11-Pad26)" "unconnected-(MOD1-EXTINT_D12-Pad27)" "unconnected-(MOD1-TPS_D13-Pad28)" "unconnected-(MOD1-AREF-Pad30)" "unconnected-(MOD1-SDA-Pad31)" "unconnected-(MOD1-SCL-Pad32)" PROG "VFB_BST"
|
||||||
|
"unconnected-(U6-RST-Pad11)" "F2_SEL" "F1_SEL" "PFO_TP"
|
||||||
|
(clearance_class "kicad_default")
|
||||||
|
(via_rule "kicad_default")
|
||||||
|
(rule
|
||||||
|
(width 200.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "PWR_HI"
|
||||||
|
SYS5V "BAT_PLUS" MAIN5V "VIN_SW" VEH5V "SW_BAT"
|
||||||
|
(clearance_class "PWR_HI")
|
||||||
|
(via_rule "PWR_HI")
|
||||||
|
(rule
|
||||||
|
(width 1500.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(class "PWR_MID"
|
||||||
|
"SW_FAN" "5V_FAN" "FAN_RET" "SW3_NODE" "SW_5V" "3V3_MODEM" "24V_IN" 24V
|
||||||
|
"IGN_IN"
|
||||||
|
(clearance_class "PWR_MID")
|
||||||
|
(via_rule "PWR_MID")
|
||||||
|
(rule
|
||||||
|
(width 1000.0)
|
||||||
|
)
|
||||||
|
(circuit
|
||||||
|
(use_layer F.Cu In1.Cu In2.Cu B.Cu)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2024
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD-wideclass.dsn
Normal file
2024
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD-wideclass.dsn
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
3638
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD-wideclass.ses
Normal file
3638
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD-wideclass.ses
Normal file
File diff suppressed because it is too large
Load Diff
1999
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD.dsn
Normal file
1999
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD.dsn
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -489,7 +489,7 @@
|
|||||||
"pinned_symbol_libs": []
|
"pinned_symbol_libs": []
|
||||||
},
|
},
|
||||||
"meta": {
|
"meta": {
|
||||||
"filename": "hbox-watchdog-v3.kicad_pro",
|
"filename": "hbox-watchdog-v3-PROD.kicad_pro",
|
||||||
"version": 3
|
"version": 3
|
||||||
},
|
},
|
||||||
"net_settings": {
|
"net_settings": {
|
||||||
@ -526,10 +526,10 @@
|
|||||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
"priority": 0,
|
"priority": 0,
|
||||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
"track_width": 2.5,
|
"track_width": 1.5,
|
||||||
"tuning_profile": "",
|
"tuning_profile": "",
|
||||||
"via_diameter": 1.2,
|
"via_diameter": 0.8,
|
||||||
"via_drill": 0.6,
|
"via_drill": 0.4,
|
||||||
"wire_width": 6
|
"wire_width": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -623,7 +623,7 @@
|
|||||||
"pcbnew": {
|
"pcbnew": {
|
||||||
"last_paths": {
|
"last_paths": {
|
||||||
"idf": "",
|
"idf": "",
|
||||||
"netlist": "",
|
"netlist": "./",
|
||||||
"plot": "",
|
"plot": "",
|
||||||
"specctra_dsn": "",
|
"specctra_dsn": "",
|
||||||
"vrml": ""
|
"vrml": ""
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
3699
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD.ses
Normal file
3699
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD.ses
Normal file
File diff suppressed because it is too large
Load Diff
3699
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD_best.ses
Normal file
3699
03-Architecture-Hardware/kicad/hbox-watchdog-v3-PROD_best.ses
Normal file
File diff suppressed because it is too large
Load Diff
4731
03-Architecture-Hardware/kicad/prod-netlist.xml
Normal file
4731
03-Architecture-Hardware/kicad/prod-netlist.xml
Normal file
File diff suppressed because it is too large
Load Diff
124
03-Architecture-Hardware/watchdog-pcb-v3-routing-status.md
Normal file
124
03-Architecture-Hardware/watchdog-pcb-v3-routing-status.md
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
---
|
||||||
|
title: Watchdog v3 PROD — PCB Routing Status
|
||||||
|
tags: [project-drogheda, hardware, pcb, kicad, routing, freerouting, status]
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen CTO
|
||||||
|
date: 2026-07-03
|
||||||
|
status: Active — routing skeleton complete (98%), punch-list to fab-ready below
|
||||||
|
---
|
||||||
|
|
||||||
|
# HBOX Watchdog v3 PROD — Routing Status (2026-07-03)
|
||||||
|
|
||||||
|
Board: `kicad/hbox-watchdog-v3-PROD.kicad_pcb` — 120×100 mm, 126 footprints.
|
||||||
|
Continues the routing Fable started (and left broken by a mid-route spend-limit cutoff).
|
||||||
|
|
||||||
|
## ⭐ UPDATE 2026-07-03 — RESPUN TO 4-LAYER (the real fix)
|
||||||
|
|
||||||
|
The 2-layer board **could not take wide power**: FreeRouting left **51 unrouted** even at a
|
||||||
|
moderate 1.0/0.8 mm (and the intended 1.5+ mm was worse). That's the honest limit of 2 layers
|
||||||
|
on a board this dense (3 switchers + 4G modem + RTK shield). **Leo's call: respin 4-layer.**
|
||||||
|
|
||||||
|
- **Stackup now 4-layer:** `F.Cu / In1.Cu (GND plane) / In2.Cu / B.Cu` (JLC standard 1.6 mm; no
|
||||||
|
explicit stackup block → JLC applies theirs). Converted by adding In1.Cu(id 4)+In2.Cu(id 6) as
|
||||||
|
copper (KiCad 9 IDs verified empirically; hand-`add_layer` cascades junk — direct file edit used).
|
||||||
|
- **GND moved to the In1 inner plane** (pour relayered B.Cu→In1.Cu, refilled). Exports as
|
||||||
|
`(plane GND (polygon In1.Cu …))` → FreeRouting bonds GND to the plane; routes on F/In2/B.
|
||||||
|
- **2-layer routing stripped** for a clean 4-layer route.
|
||||||
|
- **Route artifact for Leo:** `kicad/hbox-watchdog-v3-PROD-4layer-wideclass.dsn` (PWR_HI 1.5 mm,
|
||||||
|
PWR_MID 1.0 mm, signals 0.2 mm, through-via `Via[0-3]`, 4 routing layers). Run FreeRouting on the
|
||||||
|
Mac → `.ses` → I import + refill In1 plane + DRC. Instructions: `kicad/RUN-4layer-autoroute-README.md`.
|
||||||
|
- **Order at JLC as 4-layer.** Wide power now has room; solid GND is the reliability win we went for.
|
||||||
|
- Backups: `…bak-pre4layer-*` (2-layer routed), `…bak-pre4Lroute-*` (4-layer pre-strip).
|
||||||
|
|
||||||
|
### 4-layer route imported (FreeRouting, 70 passes)
|
||||||
|
Leo ran FreeRouting on `…-4layer-wideclass.dsn` → **13 unrouted** (vs **51** on 2-layer — the
|
||||||
|
respin worked). SES imported: **862 tracks, 129 vias**, In1 GND plane filled (8,550 mm²),
|
||||||
|
**no new shorts** (the 5 shorting-item lines = placement baseline: J7↔MOD1 no-net under the
|
||||||
|
shield ×4 layers + SYS5V↔SW_5V kiss). **Wide power rails routed with real width** — the goal.
|
||||||
|
|
||||||
|
**Punch-list (finish in KiCad interactive router — fine-pitch, needs eyes; quick on 4-layer):**
|
||||||
|
- **~7 IC-pad opens, all in the U3/U6 cluster (center):** `BAT_PLUS` (U6.23), `VIN_SW` (Q7.5↔U6.7),
|
||||||
|
`IGATE` (Q7.4↔U6.15), `SW_5V` (C3.1↔Q1.3), `3V3` (→U3.3), `I2C_SDA` (U3.1↔R31.2), `I2C_SCL` (U3.2).
|
||||||
|
U3 = SHT40 (0.3–0.5 mm pads), U6 = LTC4040 QFN — the autorouter can't finesse these.
|
||||||
|
- **~10 GND pads not fully bonded to the In1 plane:** THT — P10.2, P13.3, J1.19, J2.19, MOD1.6, J7.10
|
||||||
|
(fix: set In1 zone pad-connect to solid, or add a plane via); SMD — C7.2, C11.2, Rfreq.2, U3.4
|
||||||
|
(fix: short GND via to In1). Safe to do via MCP (GND-to-GND).
|
||||||
|
- Minor: FreeRouting parked short `BAT_PLUS`/`SW_5V` segments **on the In1 plane layer** — reroute
|
||||||
|
onto F/In2/B for a fully solid plane (cosmetic-ish for this slow board).
|
||||||
|
|
||||||
|
> The 2-layer material below is retained for history; the board is now 4-layer.
|
||||||
|
|
||||||
|
## What was done this session
|
||||||
|
|
||||||
|
1. **Ripped up Fable's partial hand-route.** It was interrupted mid-route with **19 net-to-net
|
||||||
|
shorts** (GND↔SYS5V, MAIN5V↔VIN_SW, 24V↔Q10_GATE…), 6 track crossings, 13 dangling vias —
|
||||||
|
not salvageable. Stripped all routed copper (178 segments + 32 vias) back to clean placement;
|
||||||
|
footprints, nets, and the B.Cu GND pour preserved. Backups kept (see below).
|
||||||
|
2. **Net-classes / rules.** Global clearance was **0 → fixed to 0.2 mm** (would have let the
|
||||||
|
router short). Project already carried `PWR_HI`/`PWR_MID` patterns (kept: PWR_HI = BAT_PLUS,
|
||||||
|
SW_BAT, MAIN5V, VEH5V, SYS5V, VIN_SW; PWR_MID = SW_5V, 3V3_MODEM, 5V_FAN, 24V, 24V_IN, IGN_IN,
|
||||||
|
SW_FAN, SW3_NODE, FAN_RET).
|
||||||
|
3. **Autorouted with FreeRouting 1.9** (best-of-N, on the Mac's Java 23). Result imported:
|
||||||
|
**1072 segments, 131 vias, 100 % of nets routed** (0 unrouted at import), and — critically —
|
||||||
|
**no new shorts or clearance violations from the routing itself**.
|
||||||
|
4. **GND handled as a plane.** The B.Cu GND pour exports as a real `(plane GND)`, so FreeRouting
|
||||||
|
bonded GND to the bottom plane instead of thin traces. Pour **filled** (8160 mm²).
|
||||||
|
|
||||||
|
## Current DRC = 204 (down from Fable's 276)
|
||||||
|
|
||||||
|
Essentially the **placement baseline** + connectivity stragglers:
|
||||||
|
|
||||||
|
| Bucket | Count | Nature |
|
||||||
|
|---|---|---|
|
||||||
|
| courtyards_overlap | 67 | **by-design** under-shield overlap (MOD1/J7/J8) — pre-existing |
|
||||||
|
| silk_overlap / silk_over_copper | 59 / 50 | cosmetic silkscreen — pre-existing |
|
||||||
|
| pth_inside_courtyard, lib_footprint, hole_to_hole, solder_mask | 9/4/1/3 | placement baseline |
|
||||||
|
| clearance | 7 | sub-mm placement **pad kisses** — pre-existing (in Fable's Jul-2 baseline) |
|
||||||
|
| shorting_items | 3 | **placement, not routing**: J7-Pin8↔MOD1-A5 (no-net, under shield) ×2; **SYS5V↔SW_5V pad kiss** — verify (real nets) |
|
||||||
|
| starved_thermal | 1 | one GND thermal relief with 1 spoke — trivial |
|
||||||
|
| **unconnected_items** | **17** | **the routing punch-list ↓** |
|
||||||
|
|
||||||
|
## Punch-list to fab-ready (the last 2 %)
|
||||||
|
|
||||||
|
**A. Close 17 open connections (do in KiCad GUI — interactive route with copper visible; NOT
|
||||||
|
blind by coordinate, which is how the 19 shorts happened last time):**
|
||||||
|
|
||||||
|
- **U3 (SHT40) — 4 pins near-missed**: pad1 SDA (65.3, 77.6), pad2 SCL (65.3, 78.4),
|
||||||
|
pad3 3V3 (66.7, 78.4), pad4 GND (66.7, 77.6). Tiny 0.5×0.3 mm pads on 0.8 mm pitch; the
|
||||||
|
I2C/3V3 tracks stop ~3–5 mm east near U4. **Functionally critical** (sensor won't work).
|
||||||
|
- **~13 GND-to-plane**: edge THT grounds not reaching the plane — P5 pad2 (20.5, 6),
|
||||||
|
H3 pad3 (31, 11), P13 pad3 (41, 6), MOD1 pad6 (72.7, 48), J1 pin19 (72.7, 16),
|
||||||
|
J2 pin19 (72.7, 33.8) — plus a few GND track/via gaps mid-board. Fix by nudging the zone /
|
||||||
|
short GND jumper to the plane body (visible in GUI).
|
||||||
|
|
||||||
|
**B. Widen power nets to class widths.** The autoroute ran at a **uniform 0.2 mm** (see tooling
|
||||||
|
note) — power rails are currently thin. Widen to spec: **PWR_HI ≥1.5 mm, PWR_MID/SW_5V ≥0.8–1.0 mm,
|
||||||
|
signals 0.25 mm** (per `watchdog-pcb-v3-kicad-guide` §6: power/5V ≥0.5, SW_5V ≥0.8). Easiest via
|
||||||
|
GUI: select each power net → set width from net-class → push-and-shove reflows neighbors.
|
||||||
|
**This is the project's core reliability lever (voltage drop / heat) — required before fab.**
|
||||||
|
|
||||||
|
**C. Verify the SYS5V↔SW_5V placement kiss** (bottom-right cutoff-switch area) — real nets.
|
||||||
|
|
||||||
|
## Tooling notes (why power isn't already wide)
|
||||||
|
|
||||||
|
- FreeRouting 1.9 jar needs **Java 17+**; the analysis sandbox only has Java 11 (no net to fetch a
|
||||||
|
JDK) → can't run the jar there. The Mac has Java 23.
|
||||||
|
- The KiCad-MCP `export_dsn` (swig backend) **flattens all nets into one `kicad_default` class at
|
||||||
|
0.2 mm** — it does not apply the `PWR_HI/PWR_MID` patterns. So the MCP autoroute (which
|
||||||
|
re-exports internally) routes everything at 0.2 mm; the wide classes can't be driven through it.
|
||||||
|
- MCP tool calls cap at 30 s, but FreeRouting finishes **asynchronously on the Mac** (~2–3 min) and
|
||||||
|
the SES still imports — that's how this route landed despite a "timeout".
|
||||||
|
- **Path to wide-power autoroute (optional):** inject `PWR_HI/PWR_MID` classes into the exported
|
||||||
|
DSN and run `java -jar freerouting-1.9.0.jar -de <fixed>.dsn -do out.ses` on the Mac, then
|
||||||
|
`import_ses`. Otherwise just widen in the GUI (recommended — current signal routing is good).
|
||||||
|
|
||||||
|
## Backups (in `kicad/`)
|
||||||
|
|
||||||
|
- `…kicad_pcb.bak-preAutoroute-20260703-200734` — clean placement, pre-route.
|
||||||
|
- `…kicad_pcb.bak-postAutoroute-20260703-202442` — routed, pre-fill (the 1072-seg import).
|
||||||
|
- Fable's own `…bak-preroute-20260703-151135` and `…bak-leoclose-160912` retained.
|
||||||
|
- DRC reports: `_route-continue-drc-{poststrip,postauto,postfill,clean}.txt`.
|
||||||
|
|
||||||
|
## Related
|
||||||
|
- [[watchdog-electrical-design-state]] (canonical electrical) ·
|
||||||
|
[[watchdog-pcb-v3-kicad-guide]] (widths §6) · [[watchdog-production-schematic-delta]] · [[CLAUDE|Master Index]]
|
||||||
13
mcpmarket-me/.claude-plugin/marketplace.json
Normal file
13
mcpmarket-me/.claude-plugin/marketplace.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "mcpmarket-me",
|
||||||
|
"owner": {
|
||||||
|
"name": "MCPmarket",
|
||||||
|
"url": "https://mcpmarket.com"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "mcpmarket-me",
|
||||||
|
"source": "./"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
35
mcpmarket-me/.claude-plugin/plugin.json
Normal file
35
mcpmarket-me/.claude-plugin/plugin.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "mcpmarket-me",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Connect your Claude Code sessions to MCPmarket skills via MCP. Syncs baseline skills to local filesystem and provides on-demand skill search.",
|
||||||
|
"author": {
|
||||||
|
"name": "MCPmarket",
|
||||||
|
"url": "https://mcpmarket.com"
|
||||||
|
},
|
||||||
|
"repository": "https://github.com/knoxgraeme/mcpmarket-plugin",
|
||||||
|
"homepage": "https://mcpmarket.com",
|
||||||
|
"license": "MIT",
|
||||||
|
"keywords": ["skills", "mcp", "mcpmarket", "toolkit"],
|
||||||
|
"skills": "./skills/",
|
||||||
|
"mcpServers": "./.mcp.json",
|
||||||
|
"userConfig": {
|
||||||
|
"toolkit_url": {
|
||||||
|
"title": "Toolkit MCP URL",
|
||||||
|
"description": "Your MCPmarket toolkit MCP URL (e.g., https://gateway.mcpmarket.com/my-org/toolkits/my-workspace/mcp)",
|
||||||
|
"type": "string",
|
||||||
|
"sensitive": false
|
||||||
|
},
|
||||||
|
"api_token": {
|
||||||
|
"title": "API Token",
|
||||||
|
"description": "Your MCPmarket API token (sk_user_...)",
|
||||||
|
"type": "string",
|
||||||
|
"sensitive": true
|
||||||
|
},
|
||||||
|
"api_url": {
|
||||||
|
"title": "API Base URL (optional)",
|
||||||
|
"description": "Override the API base URL for local development (e.g., http://localhost:3000). Leave blank for production.",
|
||||||
|
"type": "string",
|
||||||
|
"sensitive": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
20
mcpmarket-me/README.md
Normal file
20
mcpmarket-me/README.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
MCPmarket plugin for Claude Code.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Install via Claude's plugin marketplace:
|
||||||
|
|
||||||
|
```
|
||||||
|
claude plugin marketplace add knoxgraeme/mcpmarket-plugin
|
||||||
|
```
|
||||||
|
|
||||||
|
Or download a pre-configured ZIP from https://app.mcpmarket.com.
|
||||||
|
|
||||||
|
## Layout
|
||||||
|
|
||||||
|
- `.claude-plugin/plugin.json` — plugin manifest
|
||||||
|
- `.mcp.json` — MCP server config (toolkit URL + API token)
|
||||||
|
- `hooks/hooks.json` — `SessionStart` hook
|
||||||
|
- `hook-shim.sh` — exports `MCPMARKET_*` env vars then runs `shared/sync.sh`
|
||||||
|
|
||||||
|
The shared sync logic lives in `shared/sync.sh`.
|
||||||
9
mcpmarket-me/hook-shim.sh
Executable file
9
mcpmarket-me/hook-shim.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Maps Claude Code env vars onto the agent-neutral MCPMARKET_* contract,
|
||||||
|
# then runs shared/sync.sh.
|
||||||
|
set -euo pipefail
|
||||||
|
export MCPMARKET_PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:?}"
|
||||||
|
export MCPMARKET_TOKEN="${CLAUDE_PLUGIN_OPTION_api_token:-}"
|
||||||
|
export MCPMARKET_TOOLKIT_URL="${CLAUDE_PLUGIN_OPTION_toolkit_url:-}"
|
||||||
|
export MCPMARKET_API_URL="${CLAUDE_PLUGIN_OPTION_api_url:-}"
|
||||||
|
exec bash "${MCPMARKET_PLUGIN_ROOT}/shared/sync.sh" "$@"
|
||||||
40
mcpmarket-me/hooks/hooks.json
Normal file
40
mcpmarket-me/hooks/hooks.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"hooks": {
|
||||||
|
"SessionStart": [
|
||||||
|
{
|
||||||
|
"matcher": "startup|resume|clear|compact",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hook-shim.sh\"",
|
||||||
|
"timeout": 30
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PostToolUse": [
|
||||||
|
{
|
||||||
|
"matcher": "Skill",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/shared/skill-invocation.sh\"",
|
||||||
|
"timeout": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PostToolUseFailure": [
|
||||||
|
{
|
||||||
|
"matcher": "Skill",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/shared/skill-invocation.sh\"",
|
||||||
|
"timeout": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
mcpmarket-me/mcpmarket-plugin-me-claude.zip
Normal file
BIN
mcpmarket-me/mcpmarket-plugin-me-claude.zip
Normal file
Binary file not shown.
286
mcpmarket-me/shared/skill-invocation.sh
Executable file
286
mcpmarket-me/shared/skill-invocation.sh
Executable file
@ -0,0 +1,286 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# MCPmarket skill-invocation telemetry hook.
|
||||||
|
# Wired as PostToolUse + PostToolUseFailure hooks with matcher "Skill"
|
||||||
|
# — Claude Code's matcher filters exclusively, so this script only runs
|
||||||
|
# when the Skill tool is invoked, not on every tool call. Both events
|
||||||
|
# share this script because the classifier handles either shape;
|
||||||
|
# without the PostToolUseFailure wiring every failed invocation would
|
||||||
|
# drop on the floor.
|
||||||
|
#
|
||||||
|
# Reads the hook input JSON from stdin. Fires a single fire-and-forget
|
||||||
|
# POST to /api/v1/plugin/skill-invocation with:
|
||||||
|
# - skill_slug (from tool_input)
|
||||||
|
# - source (user|agent — prefers the native `invocation_trigger`
|
||||||
|
# field on the hook input; falls back on older Claude
|
||||||
|
# Code versions to tailing transcript_path for
|
||||||
|
# <command-name>$slug</command-name>. The prompt text
|
||||||
|
# never leaves the user's machine — only the source
|
||||||
|
# bit travels.)
|
||||||
|
# - outcome (success|error — derived from tool_response shape)
|
||||||
|
# - error_class (closed enum, only when outcome=error)
|
||||||
|
#
|
||||||
|
# Reads only:
|
||||||
|
# CLAUDE_PLUGIN_ROOT plugin install dir (Claude Code populates this)
|
||||||
|
# MCPMARKET_API_URL API base URL override (allowlisted, same as sync.sh)
|
||||||
|
#
|
||||||
|
# Credentials come from $PLUGIN_ROOT/.mcp.json — same source sync.sh
|
||||||
|
# uses. No hook-shim wrapping; PostToolUse doesn't get the same env
|
||||||
|
# plumbing SessionStart does, so we read directly.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
MCPMARKET_HOOK_VERSION="0.1.0"
|
||||||
|
USER_AGENT="mcpmarket-skill-hook/${MCPMARKET_HOOK_VERSION}"
|
||||||
|
|
||||||
|
# Split literal so the build-time substitution can't rewrite the
|
||||||
|
# comparison along with the assignment. Mirrors sync.sh's pattern.
|
||||||
|
MCPMARKET_CLIENT="claude_desktop"
|
||||||
|
if [ "$MCPMARKET_CLIENT" = "__MCPMARKET""_CLIENT__" ]; then
|
||||||
|
MCPMARKET_CLIENT=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${MCPMARKET_PLUGIN_ROOT:-}}"
|
||||||
|
if [ -z "$PLUGIN_ROOT" ]; then
|
||||||
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
PLUGIN_ROOT=$(cd "$SCRIPT_DIR/.." && pwd)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Hard dependencies. Silent exit (not stderr) because hooks fire on
|
||||||
|
# every skill invocation and a noisy hook would spam the user's terminal.
|
||||||
|
command -v node >/dev/null 2>&1 || exit 0
|
||||||
|
command -v curl >/dev/null 2>&1 || exit 0
|
||||||
|
|
||||||
|
HOOK_INPUT=$(cat)
|
||||||
|
[ -n "$HOOK_INPUT" ] || exit 0
|
||||||
|
|
||||||
|
# Parse hook input. The tool_response shape isn't formally specified
|
||||||
|
# across Claude Code versions, so the error detection is permissive:
|
||||||
|
# any of `is_error`, `error`, or `success === false` flags an error.
|
||||||
|
# Skill slug source: tool_input.skill (canonical) or tool_input.name.
|
||||||
|
# All string fields are scrubbed of separator characters (\t/\n/\x00/\x1F)
|
||||||
|
# so a forged value can't smuggle extra positional fields. \x1F (Unit
|
||||||
|
# Separator) is used as the inter-field delimiter — see sync.sh for the
|
||||||
|
# rationale (tab is IFS-whitespace and bash `read` compacts consecutive
|
||||||
|
# tabs, so an empty middle field would shift later fields left).
|
||||||
|
FIELDS=$(HOOK_JSON="$HOOK_INPUT" node -e '
|
||||||
|
const UNSAFE = /[\t\n\x00\x1F]/;
|
||||||
|
const clean = (s) => (typeof s === "string" && !UNSAFE.test(s) ? s : "");
|
||||||
|
try {
|
||||||
|
const h = JSON.parse(process.env.HOOK_JSON);
|
||||||
|
const toolName = clean(h.tool_name);
|
||||||
|
const ti = h.tool_input || {};
|
||||||
|
const skill = clean(ti.skill || ti.name || "");
|
||||||
|
const transcript = clean(h.transcript_path || "");
|
||||||
|
// `invocation_trigger` is emitted by Claude Code alongside the
|
||||||
|
// `claude_code.skill_activated` OTel event and is the formal source
|
||||||
|
// of truth for whether the skill came from a user slash command, an
|
||||||
|
// autonomous agent decision, or a nested skill invocation. Older
|
||||||
|
// Claude Code versions do not populate it — the bash side falls
|
||||||
|
// back to the transcript-tail heuristic when this field is empty.
|
||||||
|
const trigger = clean(h.invocation_trigger || "");
|
||||||
|
let outcome = "success";
|
||||||
|
let errorClass = "";
|
||||||
|
// Hook input may carry the failure signal in two places:
|
||||||
|
// - PostToolUse with error: tool_response = { is_error: true, error/message/content: "..." }
|
||||||
|
// - PostToolUseFailure: top-level `error` string, no tool_response
|
||||||
|
// Either is treated as a failure; the message source is whichever is
|
||||||
|
// present (tool_response fields preferred when both exist). The
|
||||||
|
// classifier vocabulary is identical so analytics queries do not have
|
||||||
|
// to split on event source.
|
||||||
|
const classify = (raw) => {
|
||||||
|
const s = String(raw || "").toLowerCase();
|
||||||
|
if (s.includes("not found") || s.includes("unknown skill")) return "not_found";
|
||||||
|
if (s.includes("timeout") || s.includes("timed out")) return "timeout";
|
||||||
|
if (s) return "runtime_error";
|
||||||
|
// Errored but no extractable message — shape drifted; route to
|
||||||
|
// `unknown` so the regression surfaces in analytics.
|
||||||
|
return "unknown";
|
||||||
|
};
|
||||||
|
const resp = h.tool_response;
|
||||||
|
const topError = typeof h.error === "string" ? h.error : "";
|
||||||
|
if (resp && typeof resp === "object") {
|
||||||
|
const errored = resp.is_error === true || resp.success === false || !!resp.error;
|
||||||
|
if (errored) {
|
||||||
|
outcome = "error";
|
||||||
|
errorClass = classify(resp.error || resp.message || resp.content || topError);
|
||||||
|
}
|
||||||
|
} else if (topError) {
|
||||||
|
// PostToolUseFailure shape: no tool_response, top-level error string.
|
||||||
|
outcome = "error";
|
||||||
|
errorClass = classify(topError);
|
||||||
|
} else {
|
||||||
|
// No tool_response AND no top-level error — either Claude Code
|
||||||
|
// crashed before producing any failure signal, or the hook-input
|
||||||
|
// shape drifted in a release. Record as error/unknown rather than
|
||||||
|
// silently rolling up as success.
|
||||||
|
outcome = "error";
|
||||||
|
errorClass = "unknown";
|
||||||
|
}
|
||||||
|
process.stdout.write([toolName, skill, transcript, trigger, outcome, errorClass].join("\x1F"));
|
||||||
|
} catch { process.exit(1); }
|
||||||
|
') || exit 0
|
||||||
|
|
||||||
|
IFS=$'\x1F' read -r TOOL_NAME SKILL_SLUG TRANSCRIPT_PATH INVOCATION_TRIGGER OUTCOME ERROR_CLASS <<<"$FIELDS"
|
||||||
|
|
||||||
|
# Defence-in-depth: matcher should already restrict to Skill, but a
|
||||||
|
# misconfigured hooks.json shouldn't let arbitrary tool calls fire
|
||||||
|
# telemetry under the skill_invocation event type.
|
||||||
|
[ "$TOOL_NAME" = "Skill" ] || exit 0
|
||||||
|
[ -n "$SKILL_SLUG" ] || exit 0
|
||||||
|
|
||||||
|
# Server-side validator rejects malformed slugs; reject early so we
|
||||||
|
# don't waste a network round-trip on input we know will 400. Server
|
||||||
|
# `slugSchema` requires `.min(2)`, so the bash guard enforces the same
|
||||||
|
# two-character floor — a single-char slug would pass `[a-z0-9]$` but
|
||||||
|
# the route would 400 it anyway.
|
||||||
|
if ! echo "$SKILL_SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$'; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Read credentials + toolkit URL from .mcp.json. Same parser sync.sh
|
||||||
|
# uses; each plugin's .mcp.json holds exactly one server keyed by the
|
||||||
|
# per-toolkit plugin name (`mcpmarket-<slug>`), so we read the only key
|
||||||
|
# under `mcpServers` rather than hardcoding the key. The \x1F separator
|
||||||
|
# preserves an empty leading field.
|
||||||
|
[ -f "$PLUGIN_ROOT/.mcp.json" ] || exit 0
|
||||||
|
CREDS=$(MCP_CONFIG_PATH="$PLUGIN_ROOT/.mcp.json" node -e '
|
||||||
|
try {
|
||||||
|
const cfg = JSON.parse(require("fs").readFileSync(process.env.MCP_CONFIG_PATH, "utf8"));
|
||||||
|
const servers = (cfg && cfg.mcpServers) || {};
|
||||||
|
const keys = Object.keys(servers);
|
||||||
|
const s = keys.length === 1 ? servers[keys[0]] : {};
|
||||||
|
const url = s.url || "";
|
||||||
|
const auth = (s.http_headers && s.http_headers.Authorization) || (s.headers && s.headers.Authorization) || "";
|
||||||
|
process.stdout.write(url + "\x1F" + auth);
|
||||||
|
} catch { process.stdout.write("\x1F"); }
|
||||||
|
') || exit 0
|
||||||
|
IFS=$'\x1F' read -r TOOLKIT_URL MCP_AUTH <<<"$CREDS"
|
||||||
|
API_TOKEN="${MCP_AUTH#Bearer }"
|
||||||
|
|
||||||
|
[ -n "$TOOLKIT_URL" ] || exit 0
|
||||||
|
[ -n "$API_TOKEN" ] || exit 0
|
||||||
|
|
||||||
|
# Parse org/toolkit slugs. Same logic and validation as sync.sh — a
|
||||||
|
# malformed URL exits silently rather than POSTing junk.
|
||||||
|
URL_PATH=$(echo "$TOOLKIT_URL" | sed -E 's|https?://[^/]*/||; s|/mcp$||')
|
||||||
|
ORG_SLUG=$(echo "$URL_PATH" | cut -d'/' -f1)
|
||||||
|
TOOLKIT_SLUG=$(echo "$URL_PATH" | cut -d'/' -f3)
|
||||||
|
|
||||||
|
[ -n "$ORG_SLUG" ] && [ -n "$TOOLKIT_SLUG" ] || exit 0
|
||||||
|
# Two-char floor matches server `slugSchema.min(2)` — a single-char
|
||||||
|
# slug would pass and then be rejected with a 400.
|
||||||
|
echo "$ORG_SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$' || exit 0
|
||||||
|
echo "$TOOLKIT_SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$' || exit 0
|
||||||
|
|
||||||
|
# API base URL allowlist — same parser as sync.sh so dev overrides
|
||||||
|
# (localhost / *.mcpmarket.com) match the success-path's behaviour.
|
||||||
|
API_BASE_URL="${MCPMARKET_API_URL:-https://app.mcpmarket.com}"
|
||||||
|
API_SCHEME=""
|
||||||
|
API_HOST=""
|
||||||
|
case "$API_BASE_URL" in
|
||||||
|
https://*) API_SCHEME=https; API_HOST="${API_BASE_URL#https://}"; API_HOST="${API_HOST%%/*}" ;;
|
||||||
|
http://*) API_SCHEME=http; API_HOST="${API_BASE_URL#http://}"; API_HOST="${API_HOST%%/*}" ;;
|
||||||
|
esac
|
||||||
|
case "$API_HOST" in
|
||||||
|
*[!a-zA-Z0-9.:-]*) API_HOST="" ;;
|
||||||
|
*:*:*) API_HOST="" ;;
|
||||||
|
esac
|
||||||
|
API_ALLOWED=false
|
||||||
|
if [ "$API_SCHEME" = "https" ]; then
|
||||||
|
case "$API_HOST" in
|
||||||
|
app.mcpmarket.com|*.mcpmarket.com) API_ALLOWED=true ;;
|
||||||
|
esac
|
||||||
|
elif [ "$API_SCHEME" = "http" ]; then
|
||||||
|
case "$API_HOST" in
|
||||||
|
localhost|localhost:*|127.0.0.1|127.0.0.1:*) API_ALLOWED=true ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
[ "$API_ALLOWED" = "true" ] || exit 0
|
||||||
|
|
||||||
|
# Source attribution. Prefer Claude Code's native `invocation_trigger`
|
||||||
|
# field (emitted alongside the `claude_code.skill_activated` OTel event)
|
||||||
|
# when present — it's the formal source of truth and avoids the
|
||||||
|
# transcript-tail heuristic's misattribution of the second-and-onward
|
||||||
|
# agent re-invocation of the same skill in one user turn. On older
|
||||||
|
# Claude Code versions the field is absent; fall back to tailing the
|
||||||
|
# JSONL transcript for a `<command-name>$SKILL_SLUG` tag in the most
|
||||||
|
# recent user message. The prompt text is consumed locally and
|
||||||
|
# discarded — only the source bit travels.
|
||||||
|
#
|
||||||
|
# The trigger string literals below are a Claude Code wire-format
|
||||||
|
# contract. The same three values appear in two test sites that lock
|
||||||
|
# the mapping; keep all three in sync when Claude Code adds a new
|
||||||
|
# trigger value:
|
||||||
|
# - apps/web/lib/__tests__/plugin-source.test.ts (case-arm regex)
|
||||||
|
# - apps/web/lib/plugin-template/__tests__/skill-invocation.test.ts (it.each table)
|
||||||
|
SOURCE="agent"
|
||||||
|
case "$INVOCATION_TRIGGER" in
|
||||||
|
user-slash)
|
||||||
|
SOURCE="user"
|
||||||
|
;;
|
||||||
|
claude-proactive|nested-skill)
|
||||||
|
SOURCE="agent"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ -n "$TRANSCRIPT_PATH" ] && [ -f "$TRANSCRIPT_PATH" ]; then
|
||||||
|
LAST_USER=$(tail -n 50 "$TRANSCRIPT_PATH" 2>/dev/null | TARGET_SLUG="$SKILL_SLUG" node -e '
|
||||||
|
const target = process.env.TARGET_SLUG;
|
||||||
|
const lines = require("fs").readFileSync(0, "utf8").split("\n");
|
||||||
|
for (let i = lines.length - 1; i >= 0; i--) {
|
||||||
|
const line = lines[i].trim();
|
||||||
|
if (!line) continue;
|
||||||
|
let obj;
|
||||||
|
try { obj = JSON.parse(line); } catch { continue; }
|
||||||
|
const role = obj.role || (obj.message && obj.message.role) || obj.type;
|
||||||
|
if (role !== "user") continue;
|
||||||
|
const content = obj.message ? obj.message.content : obj.content;
|
||||||
|
const text = typeof content === "string" ? content : JSON.stringify(content || "");
|
||||||
|
if (text.includes("<command-name>" + target + "</command-name>")) {
|
||||||
|
process.stdout.write("user");
|
||||||
|
}
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
' 2>/dev/null || true)
|
||||||
|
if [ "$LAST_USER" = "user" ]; then
|
||||||
|
SOURCE="user"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Build JSON payload. Inline interpolation is safe: every field above
|
||||||
|
# has been regex-validated (skill/org/toolkit slugs) or is sourced from
|
||||||
|
# a closed enum (source, outcome, error_class, client).
|
||||||
|
INVOCATION_URL="${API_BASE_URL}/api/v1/plugin/skill-invocation"
|
||||||
|
|
||||||
|
# Build a single body via node to avoid bash-printf escape pitfalls
|
||||||
|
# when conditionally including errorClass and client.
|
||||||
|
PAYLOAD=$(SKILL="$SKILL_SLUG" ORG="$ORG_SLUG" TK="$TOOLKIT_SLUG" \
|
||||||
|
SRC="$SOURCE" OUT="$OUTCOME" ERR="$ERROR_CLASS" CLIENT="$MCPMARKET_CLIENT" \
|
||||||
|
node -e '
|
||||||
|
const body = {
|
||||||
|
skillSlug: process.env.SKILL,
|
||||||
|
orgSlug: process.env.ORG,
|
||||||
|
toolkitSlug: process.env.TK,
|
||||||
|
source: process.env.SRC,
|
||||||
|
outcome: process.env.OUT,
|
||||||
|
};
|
||||||
|
if (process.env.OUT === "error" && process.env.ERR) body.errorClass = process.env.ERR;
|
||||||
|
if (process.env.CLIENT) body.client = process.env.CLIENT;
|
||||||
|
process.stdout.write(JSON.stringify(body));
|
||||||
|
') || exit 0
|
||||||
|
|
||||||
|
CLIENT_HEADER_ARGS=()
|
||||||
|
if [ -n "$MCPMARKET_CLIENT" ]; then
|
||||||
|
CLIENT_HEADER_ARGS=(-H "X-MCPmarket-Client: $MCPMARKET_CLIENT")
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -sS --max-time 3 -X POST \
|
||||||
|
-H "Authorization: Bearer $API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "User-Agent: $USER_AGENT" \
|
||||||
|
${CLIENT_HEADER_ARGS[@]+"${CLIENT_HEADER_ARGS[@]}"} \
|
||||||
|
-d "$PAYLOAD" \
|
||||||
|
"$INVOCATION_URL" >/dev/null 2>&1 || true
|
||||||
|
|
||||||
|
exit 0
|
||||||
754
mcpmarket-me/shared/sync.sh
Executable file
754
mcpmarket-me/shared/sync.sh
Executable file
@ -0,0 +1,754 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# MCPmarket baseline skill sync (agent-neutral).
|
||||||
|
# Run by an agent's SessionStart hook (via the agent's hook-shim).
|
||||||
|
#
|
||||||
|
# Reads only:
|
||||||
|
# MCPMARKET_PLUGIN_ROOT (required) plugin install dir
|
||||||
|
# MCPMARKET_TOKEN bearer token; falls back to .mcp.json
|
||||||
|
# MCPMARKET_TOOLKIT_URL toolkit MCP URL; falls back to .mcp.json
|
||||||
|
# MCPMARKET_API_URL API base URL override (allowlisted)
|
||||||
|
# MCPMARKET_SKILLS_DIR skills dir; default $PLUGIN_ROOT/skills
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
MCPMARKET_SYNC_VERSION="0.7.0"
|
||||||
|
USER_AGENT="mcpmarket-sync/${MCPMARKET_SYNC_VERSION}"
|
||||||
|
|
||||||
|
# TTL (seconds): how long after the last successful sync we skip
|
||||||
|
# re-syncing. Catalog updates aren't time-critical — agents that fire
|
||||||
|
# SessionStart back-to-back (e.g. fast resume, multiple worktrees)
|
||||||
|
# should not hammer the baseline endpoint. 5 minutes is short enough
|
||||||
|
# that interactive testing isn't blocked, long enough to absorb the
|
||||||
|
# common case.
|
||||||
|
#
|
||||||
|
# Env-overridable so internal smoke tests can set TTL=0 to force every
|
||||||
|
# invocation through the real fetch path. Not documented as a user-
|
||||||
|
# facing escape hatch — production users get the 5-minute default and
|
||||||
|
# should re-publish the toolkit if they need a faster propagation than
|
||||||
|
# that.
|
||||||
|
MCPMARKET_SYNC_TTL_SECONDS="${MCPMARKET_SYNC_TTL_SECONDS:-300}"
|
||||||
|
|
||||||
|
# Reject non-numeric env values rather than crashing under `set -e` at
|
||||||
|
# the first arithmetic comparison. A user who sets
|
||||||
|
# `MCPMARKET_SYNC_TTL_SECONDS=foo` in their shell rc would otherwise see
|
||||||
|
# `integer expression expected` from `[ -lt "foo" ]` and the script
|
||||||
|
# would exit 1 silently — no telemetry, no skills synced, no error.
|
||||||
|
# Fall back to the documented default so the sync still proceeds.
|
||||||
|
case "$MCPMARKET_SYNC_TTL_SECONDS" in
|
||||||
|
''|*[!0-9]*) MCPMARKET_SYNC_TTL_SECONDS=300 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Split literal so the build-time substitution can't rewrite the
|
||||||
|
# comparison along with the assignment.
|
||||||
|
MCPMARKET_CLIENT="claude_desktop"
|
||||||
|
if [ "$MCPMARKET_CLIENT" = "__MCPMARKET""_CLIENT__" ]; then
|
||||||
|
MCPMARKET_CLIENT=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
PLUGIN_ROOT="${MCPMARKET_PLUGIN_ROOT:-}"
|
||||||
|
if [ -z "$PLUGIN_ROOT" ]; then
|
||||||
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
PLUGIN_ROOT=$(cd "$SCRIPT_DIR/.." && pwd)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TTL gate: short-circuit when the last fully-successful sync is
|
||||||
|
# fresher than MCPMARKET_SYNC_TTL_SECONDS. The sentinel file is touched
|
||||||
|
# only at the very end of this script, AFTER the sync_applied POST —
|
||||||
|
# so any failure path (network error, HTTP non-200, invalid response,
|
||||||
|
# write loop crash) leaves the sentinel stale and the next run will
|
||||||
|
# retry immediately. This intentionally has no environment override:
|
||||||
|
# 5 minutes is short enough that interactive testing isn't blocked.
|
||||||
|
SYNC_SENTINEL="$PLUGIN_ROOT/.last-sync"
|
||||||
|
if [ -f "$SYNC_SENTINEL" ]; then
|
||||||
|
# GNU `stat -c %Y`, macOS `stat -f %m`. GNU first because BSD stat
|
||||||
|
# errors cleanly on `-c` (`stat: illegal option -- c`) and falls
|
||||||
|
# through to the next form. The reverse order is BROKEN on Linux:
|
||||||
|
# GNU `stat -f` flips to filesystem-status mode and treats the next
|
||||||
|
# arg (`%m`) as a filename, then prints the multiline FS-status block
|
||||||
|
# for the sentinel — output like ` File: "/path"` lands in
|
||||||
|
# _SENTINEL_MTIME, the arithmetic below tries to use it, and under
|
||||||
|
# `set -u` the bare identifier `File` fires an unbound-variable
|
||||||
|
# crash that kills every sync on Linux. If both forms fail the
|
||||||
|
# sentinel age is unknowable and we proceed with the sync rather
|
||||||
|
# than risking a stuck cache.
|
||||||
|
_SENTINEL_MTIME=$(stat -c %Y "$SYNC_SENTINEL" 2>/dev/null \
|
||||||
|
|| stat -f %m "$SYNC_SENTINEL" 2>/dev/null \
|
||||||
|
|| echo 0)
|
||||||
|
# Defense-in-depth: any non-numeric output (exotic stat, future
|
||||||
|
# refactor that drops the chain) gets coerced to 0 so the arithmetic
|
||||||
|
# never crashes. Bare echo-fallthrough already guarantees a 0; this
|
||||||
|
# catches the case where a stat call succeeds with garbage.
|
||||||
|
case "$_SENTINEL_MTIME" in
|
||||||
|
''|*[!0-9]*) _SENTINEL_MTIME=0 ;;
|
||||||
|
esac
|
||||||
|
_NOW=$(date +%s)
|
||||||
|
_AGE=$((_NOW - _SENTINEL_MTIME))
|
||||||
|
# Negative `_AGE` means the sentinel's mtime is in the future — most
|
||||||
|
# commonly a backward system-clock step (NTP correction, container
|
||||||
|
# restart, VM snapshot). Without the `>= 0` guard, `[ <negative> -lt
|
||||||
|
# 300 ]` is true and the gate suppresses every sync until the clock
|
||||||
|
# catches up — potentially years. Treat any negative age as cache
|
||||||
|
# invalidation and proceed to the full sync; on success the sentinel
|
||||||
|
# gets retouched with the current clock.
|
||||||
|
if [ "$_SENTINEL_MTIME" -gt 0 ] \
|
||||||
|
&& [ "$_AGE" -ge 0 ] \
|
||||||
|
&& [ "$_AGE" -lt "$MCPMARKET_SYNC_TTL_SECONDS" ]; then
|
||||||
|
# Cache hit: emit a machine-readable line so agents (notably the
|
||||||
|
# bundled `/sync` skill) can distinguish a short-circuit from a
|
||||||
|
# silent failure. Stays on stdout so the SessionStart hook surfaces
|
||||||
|
# it the same way it surfaces the success line.
|
||||||
|
_REMAINING=$((MCPMARKET_SYNC_TTL_SECONDS - _AGE))
|
||||||
|
echo "MCPmarket sync: cached (${_REMAINING}s remaining)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v node &>/dev/null; then
|
||||||
|
echo "MCPmarket sync: node not installed — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PLUGIN_ROOT" ] && [ -f "$PLUGIN_ROOT/.mcp.json" ]; then
|
||||||
|
MCP_CONFIG="$PLUGIN_ROOT/.mcp.json"
|
||||||
|
# Read the single MCP server entry — each plugin's .mcp.json holds
|
||||||
|
# exactly one server, keyed by the per-toolkit plugin name
|
||||||
|
# (`mcpmarket-<slug>`). Reading the only key under `mcpServers`
|
||||||
|
# avoids threading the slug into this script. Codex uses
|
||||||
|
# `http_headers`; Claude uses `headers`. Try both. Use \x1F (Unit
|
||||||
|
# Separator, non-whitespace) so an empty leading field is preserved
|
||||||
|
# — tab would be stripped as IFS whitespace.
|
||||||
|
MCP_FIELDS=$(MCP_CONFIG_PATH="$MCP_CONFIG" node -e '
|
||||||
|
try {
|
||||||
|
const cfg = JSON.parse(require("fs").readFileSync(process.env.MCP_CONFIG_PATH, "utf8"));
|
||||||
|
const servers = (cfg && cfg.mcpServers) || {};
|
||||||
|
const keys = Object.keys(servers);
|
||||||
|
const s = keys.length === 1 ? servers[keys[0]] : {};
|
||||||
|
const url = s.url || "";
|
||||||
|
const auth = (s.http_headers && s.http_headers.Authorization) || (s.headers && s.headers.Authorization) || "";
|
||||||
|
process.stdout.write(url + "\x1F" + auth);
|
||||||
|
} catch { process.stdout.write("\x1F"); }
|
||||||
|
')
|
||||||
|
IFS=$'\x1F' read -r MCP_URL MCP_AUTH <<<"$MCP_FIELDS"
|
||||||
|
TOOLKIT_URL="${MCPMARKET_TOOLKIT_URL:-$MCP_URL}"
|
||||||
|
API_TOKEN="${MCPMARKET_TOKEN:-${MCP_AUTH#Bearer }}"
|
||||||
|
|
||||||
|
if [ -z "$TOOLKIT_URL" ] || [ -z "$API_TOKEN" ]; then
|
||||||
|
echo "MCPmarket sync: .mcp.json present but credentials unreadable — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
TOOLKIT_URL="${MCPMARKET_TOOLKIT_URL:-}"
|
||||||
|
API_TOKEN="${MCPMARKET_TOKEN:-}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
API_BASE_URL="${MCPMARKET_API_URL:-https://app.mcpmarket.com}"
|
||||||
|
|
||||||
|
# Allowlist the API base URL by parsed host. `case` glob `*` matches
|
||||||
|
# `/`, so a pattern like `https://*.mcpmarket.com/*` also matches
|
||||||
|
# `https://attacker.com/foo.mcpmarket.com/bar` — splitting on `://`
|
||||||
|
# and `/` removes that bypass.
|
||||||
|
API_SCHEME=""
|
||||||
|
API_HOST=""
|
||||||
|
case "$API_BASE_URL" in
|
||||||
|
https://*) API_SCHEME=https; API_HOST="${API_BASE_URL#https://}"; API_HOST="${API_HOST%%/*}" ;;
|
||||||
|
http://*) API_SCHEME=http; API_HOST="${API_BASE_URL#http://}"; API_HOST="${API_HOST%%/*}" ;;
|
||||||
|
esac
|
||||||
|
# Reject userinfo (@) and multi-colon hosts — `localhost:8080@evil.com`
|
||||||
|
# would otherwise satisfy `localhost:*`.
|
||||||
|
case "$API_HOST" in
|
||||||
|
*[!a-zA-Z0-9.:-]*) API_HOST="" ;;
|
||||||
|
*:*:*) API_HOST="" ;;
|
||||||
|
esac
|
||||||
|
API_ALLOWED=false
|
||||||
|
if [ "$API_SCHEME" = "https" ]; then
|
||||||
|
case "$API_HOST" in
|
||||||
|
app.mcpmarket.com|*.mcpmarket.com) API_ALLOWED=true ;;
|
||||||
|
esac
|
||||||
|
elif [ "$API_SCHEME" = "http" ]; then
|
||||||
|
case "$API_HOST" in
|
||||||
|
localhost|localhost:*|127.0.0.1|127.0.0.1:*) API_ALLOWED=true ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if [ "$API_ALLOWED" != "true" ]; then
|
||||||
|
echo "MCPmarket sync: api_url '$API_BASE_URL' not in allowlist — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$TOOLKIT_URL" ] || [ -z "$API_TOKEN" ] || [ -z "$PLUGIN_ROOT" ]; then
|
||||||
|
echo "MCPmarket sync: missing configuration — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Toolkit URL format: https://gateway.example.com/{orgSlug}/toolkits/{toolkitSlug}/mcp
|
||||||
|
URL_PATH=$(echo "$TOOLKIT_URL" | sed -E 's|https?://[^/]*/||; s|/mcp$||')
|
||||||
|
ORG_SLUG=$(echo "$URL_PATH" | cut -d'/' -f1)
|
||||||
|
TOOLKIT_SLUG=$(echo "$URL_PATH" | cut -d'/' -f3)
|
||||||
|
|
||||||
|
if [ -z "$ORG_SLUG" ] || [ -z "$TOOLKIT_SLUG" ]; then
|
||||||
|
echo "MCPmarket sync: could not parse toolkit URL — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Slug pattern matches server `slugSchema` (min 2 chars, no trailing dash) so
|
||||||
|
# a slug that passes here also passes the route's Zod validation.
|
||||||
|
if ! echo "$ORG_SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$'; then
|
||||||
|
echo "MCPmarket sync: invalid org slug '$ORG_SLUG' — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if ! echo "$TOOLKIT_SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$'; then
|
||||||
|
echo "MCPmarket sync: invalid toolkit slug '$TOOLKIT_SLUG' — skipping sync" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
SYNC_URL="${API_BASE_URL}/api/v1/plugin/baseline?org=${ORG_SLUG}&toolkit=${TOOLKIT_SLUG}"
|
||||||
|
FAILURE_URL="${API_BASE_URL}/api/v1/plugin/sync-failure"
|
||||||
|
SYNC_APPLIED_URL="${API_BASE_URL}/api/v1/plugin/sync-applied"
|
||||||
|
|
||||||
|
# Fire-and-forget telemetry. Inlined JSON is safe only because reason
|
||||||
|
# is a hardcoded literal, slugs are regex-validated, http_code comes
|
||||||
|
# from curl's writer, and MCPMARKET_CLIENT is validated at the top of
|
||||||
|
# this script (reset to "" when the build-time substitution placeholder
|
||||||
|
# is detected, so it is always a valid enum value or empty string).
|
||||||
|
report_failure() {
|
||||||
|
local reason="$1"
|
||||||
|
local http_code="${2:-}"
|
||||||
|
local http_code_frag=""
|
||||||
|
local client_frag=""
|
||||||
|
[ -n "$http_code" ] && http_code_frag=$(printf ',"httpCode":%s' "$http_code")
|
||||||
|
[ -n "$MCPMARKET_CLIENT" ] && client_frag=$(printf ',"client":"%s"' "$MCPMARKET_CLIENT")
|
||||||
|
local payload
|
||||||
|
payload=$(printf '{"reason":"%s","orgSlug":"%s","toolkitSlug":"%s"%s%s}' \
|
||||||
|
"$reason" "$ORG_SLUG" "$TOOLKIT_SLUG" "$http_code_frag" "$client_frag")
|
||||||
|
curl -sS --max-time 3 -X POST \
|
||||||
|
-H "Authorization: Bearer $API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "User-Agent: $USER_AGENT" \
|
||||||
|
${CLIENT_HEADER_ARGS[@]+"${CLIENT_HEADER_ARGS[@]}"} \
|
||||||
|
-d "$payload" \
|
||||||
|
"$FAILURE_URL" >/dev/null 2>&1 || true
|
||||||
|
}
|
||||||
|
|
||||||
|
SKILLS_DIR="${MCPMARKET_SKILLS_DIR:-$PLUGIN_ROOT/skills}"
|
||||||
|
mkdir -p "$SKILLS_DIR"
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp)
|
||||||
|
CURL_ERR=$(mktemp)
|
||||||
|
trap 'rm -f "$TMPFILE" "$CURL_ERR"' EXIT
|
||||||
|
|
||||||
|
# `${arr[@]+"${arr[@]}"}` is the empty-array-safe expansion under
|
||||||
|
# `set -u` (bash 4.2 on macOS errors on bare `${arr[@]}` for empties).
|
||||||
|
CLIENT_HEADER_ARGS=()
|
||||||
|
if [ -n "$MCPMARKET_CLIENT" ]; then
|
||||||
|
CLIENT_HEADER_ARGS=(-H "X-MCPmarket-Client: $MCPMARKET_CLIENT")
|
||||||
|
fi
|
||||||
|
|
||||||
|
HTTP_CODE=$(curl -sS -o "$TMPFILE" -w '%{http_code}' --max-time 15 \
|
||||||
|
-H "Authorization: Bearer $API_TOKEN" \
|
||||||
|
-H "Accept: application/json" \
|
||||||
|
-H "User-Agent: $USER_AGENT" \
|
||||||
|
${CLIENT_HEADER_ARGS[@]+"${CLIENT_HEADER_ARGS[@]}"} \
|
||||||
|
"$SYNC_URL" 2>"$CURL_ERR") || {
|
||||||
|
ERR=$(tr -d '\n' < "$CURL_ERR" | head -c 200)
|
||||||
|
echo "MCPmarket sync: network error — using cached skills (${ERR:-no detail})" >&2
|
||||||
|
report_failure "network_error"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" != "200" ]; then
|
||||||
|
echo "MCPmarket sync: API returned HTTP $HTTP_CODE — using cached skills" >&2
|
||||||
|
report_failure "http_error" "$HTTP_CODE"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Single node pass emits records the bash loop below consumes. Inter-field
|
||||||
|
# delimiter is \x1F (Unit Separator) — tab is IFS-whitespace and bash
|
||||||
|
# `read` collapses runs of tabs, so an empty middle field (e.g. server
|
||||||
|
# emits a skill with no version) would shift later fields left and
|
||||||
|
# corrupt downstream parsing. \x1F is non-whitespace and preserves
|
||||||
|
# empty fields. Same rationale as the .mcp.json credential parser above.
|
||||||
|
# S<US><slug><US><version><US><base64-content><US><sha>
|
||||||
|
# F<US><slug><US><path><US><base64-content>
|
||||||
|
# D<US><slug-or-empty><US><index><US><reason>
|
||||||
|
# Rejects \t/\n/\x00/\x1F in string fields so a server can't forge extra
|
||||||
|
# records by smuggling \n into a slug or path or smuggling \x1F to
|
||||||
|
# create extra positional fields. When a field IS unsafe, a `D` record
|
||||||
|
# is emitted instead so the drop surfaces in /sync-applied telemetry
|
||||||
|
# rather than silently disappearing. Reason vocabulary matches
|
||||||
|
# `pluginSkillDropReasonSchema` in packages/validators/src/plugin.ts —
|
||||||
|
# extend both together.
|
||||||
|
US=$'\x1F'
|
||||||
|
RECORDS=$(node -e '
|
||||||
|
const UNSAFE = /[\t\n\x00\x1F]/;
|
||||||
|
// Slug format check — must match the server slugSchema regex in
|
||||||
|
// packages/validators/src/common.ts (SLUG_PATTERN) plus its
|
||||||
|
// .min(2)/.max(50) length bounds. The parser pre-validates the slug
|
||||||
|
// BEFORE emitting any drop record that would carry it, because
|
||||||
|
// pluginSkillDropSchema only allows null slug for `corrupted_slug`
|
||||||
|
// and `invalid_slug` — emitting a format-bad slug under any other
|
||||||
|
// reason (e.g. unsafe_version, invalid_file_path) would 400 the
|
||||||
|
// entire /sync-applied payload via slugSchema rejection and lose all
|
||||||
|
// sibling drop telemetry for the run.
|
||||||
|
const SLUG_RE = /^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/;
|
||||||
|
const slugOk = (s) =>
|
||||||
|
typeof s === "string" && s.length >= 2 && s.length <= 50 && SLUG_RE.test(s);
|
||||||
|
const crypto = require("crypto");
|
||||||
|
let raw;
|
||||||
|
try { raw = require("fs").readFileSync(0, "utf8"); } catch { process.exit(1); }
|
||||||
|
let r;
|
||||||
|
try { r = JSON.parse(raw); } catch { process.exit(1); }
|
||||||
|
const skills = r && r.data && r.data.skills;
|
||||||
|
if (!Array.isArray(skills)) process.exit(1);
|
||||||
|
const out = [];
|
||||||
|
skills.forEach((s, idx) => {
|
||||||
|
if (!s || typeof s.slug !== "string") {
|
||||||
|
// Missing or non-string slug — same severity as a control-char
|
||||||
|
// slug. Echo back as corrupted_slug with the array index so the
|
||||||
|
// server can locate the row without trusting client-sent strings.
|
||||||
|
out.push(["D", "", String(idx), "corrupted_slug"].join("\x1F"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (UNSAFE.test(s.slug)) {
|
||||||
|
out.push(["D", "", String(idx), "corrupted_slug"].join("\x1F"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!slugOk(s.slug)) {
|
||||||
|
// Slug passed UNSAFE but fails slugSchema (uppercase, too short,
|
||||||
|
// too long, leading/trailing dash). Emit invalid_slug with null
|
||||||
|
// slug + index. The malformed slug must not flow into downstream
|
||||||
|
// D records (unsafe_version, invalid_file_path) — those reasons
|
||||||
|
// require a slugSchema-compliant slug or the whole payload 400s.
|
||||||
|
// Same shape rationale as corrupted_slug: index is the only
|
||||||
|
// server-trustable locator.
|
||||||
|
out.push(["D", "", String(idx), "invalid_slug"].join("\x1F"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const version = s.version || "";
|
||||||
|
if (UNSAFE.test(version)) {
|
||||||
|
// Version is unsafe but the slug is format-valid (pre-check above
|
||||||
|
// gated this branch). Preserve the slug so the server can
|
||||||
|
// identify which skill rejected.
|
||||||
|
out.push(["D", s.slug, String(idx), "unsafe_version"].join("\x1F"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const content = s.content || "";
|
||||||
|
const c = Buffer.from(content, "utf8").toString("base64");
|
||||||
|
// Hash the *normalized* bytes the bash write path produces, not the
|
||||||
|
// raw server content. Bash command substitution `$(...)` strips all
|
||||||
|
// trailing newlines, and `printf '%s\n'` then appends exactly one —
|
||||||
|
// so what lands on disk is always `content with trailing \n+
|
||||||
|
// collapsed to one`. Hashing the raw server bytes here would flag
|
||||||
|
// every freshly-written file as diverged whenever the server sent
|
||||||
|
// content without exactly one trailing newline.
|
||||||
|
const normalized = content.replace(/\n+$/, "") + "\n";
|
||||||
|
const sha = crypto.createHash("sha256").update(normalized, "utf8").digest("hex");
|
||||||
|
out.push(["S", s.slug, version, c, sha].join("\x1F"));
|
||||||
|
if (Array.isArray(s.files)) {
|
||||||
|
for (const f of s.files) {
|
||||||
|
if (!f || typeof f.path !== "string" || UNSAFE.test(f.path)) {
|
||||||
|
// File path is unsafe — emit a drop record keyed by the
|
||||||
|
// parent skill (no index for files since the F-record path
|
||||||
|
// is the natural identifier and is the corrupted thing here).
|
||||||
|
out.push(["D", s.slug, "", "invalid_file_path"].join("\x1F"));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const fc = Buffer.from(f.content || "", "utf8").toString("base64");
|
||||||
|
out.push(["F", s.slug, f.path, fc].join("\x1F"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
process.stdout.write(out.join("\n"));
|
||||||
|
' < "$TMPFILE") || {
|
||||||
|
echo "MCPmarket sync: invalid response — using cached skills" >&2
|
||||||
|
report_failure "invalid_response"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# `printf '%s\n'` restores the trailing newline that `$()` strips.
|
||||||
|
SKILLS_TSV=$(printf '%s\n' "$RECORDS" | awk -F"$US" -v US="$US" '$1=="S" { print $2 US $3 US $4 US $5 }')
|
||||||
|
# Drops emitted by the node parser (corrupted_slug, unsafe_version,
|
||||||
|
# invalid_file_path). Field shape: <slug-or-empty><US><index-or-empty><US><reason>
|
||||||
|
# Bash-side drops (invalid_slug, empty_content, hand_placed_collision)
|
||||||
|
# get appended to DROPS_TSV later inside the write loop.
|
||||||
|
DROPS_TSV=$(printf '%s\n' "$RECORDS" | awk -F"$US" -v US="$US" '$1=="D" { print $2 US $3 US $4 }')
|
||||||
|
SKILL_COUNT=$(printf '%s\n' "$SKILLS_TSV" | awk 'NF { c++ } END { print c+0 }')
|
||||||
|
|
||||||
|
if [ "$SKILL_COUNT" -eq 0 ]; then
|
||||||
|
echo "MCPmarket sync: no baseline skills configured"
|
||||||
|
# Fall through to the cleanup pass + sync_applied POST. If the user
|
||||||
|
# had skills synced before the toolkit's baseline was emptied, the
|
||||||
|
# cleanup loop still needs to delete them; and the server still
|
||||||
|
# wants a delta event so "this user has the plugin but their
|
||||||
|
# toolkit is empty" shows up in analytics instead of looking like
|
||||||
|
# silence.
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Slugs the plugin ships itself (never synced, never pruned). The
|
||||||
|
# plugin no longer bundles any skill — the `/sync` skill was removed
|
||||||
|
# because the Bash-tool sandbox makes the plugin's `skills/` dir
|
||||||
|
# read-only to agent-invoked writes, so it could never re-sync. The
|
||||||
|
# guard stays (empty) so a future bundled skill can be re-protected
|
||||||
|
# without re-plumbing the write/cleanup loops, and so an existing
|
||||||
|
# install's stale `skills/sync/` is pruned on the next sync.
|
||||||
|
BUNDLED_SKILLS=""
|
||||||
|
|
||||||
|
SYNCED_SLUGS=()
|
||||||
|
|
||||||
|
# Sync delta counters. The server-side `plugin.sync` heartbeat only
|
||||||
|
# knows what it sent — it can't see what was on disk before. These
|
||||||
|
# counters capture that delta so the sync_applied POST below can
|
||||||
|
# answer "does sync change anything for this user?".
|
||||||
|
SKILLS_NEW=0
|
||||||
|
SKILLS_UPDATED=0
|
||||||
|
SKILLS_UNCHANGED=0
|
||||||
|
SKILLS_REMOVED=0
|
||||||
|
# `skills_diverged` is a *subset* of `skills_unchanged` — version stamp
|
||||||
|
# matches the server's, but the on-disk content has been edited locally.
|
||||||
|
# Recorded for divergence-rate analytics; sync intentionally does NOT
|
||||||
|
# overwrite (users may legitimately customize installed skills).
|
||||||
|
SKILLS_DIVERGED=0
|
||||||
|
# Bundled-skill drops collected during the write loop. Appended to
|
||||||
|
# DROPS_TSV before payload assembly. Newline-delimited records of
|
||||||
|
# `<slug><US><><US><reason>` (empty index field — bash-side drops
|
||||||
|
# don't have a baseline-array index).
|
||||||
|
BASH_DROPS=""
|
||||||
|
append_drop() {
|
||||||
|
# $1: slug (empty string for corrupted_slug, never used by this helper)
|
||||||
|
# $2: reason
|
||||||
|
if [ -z "$BASH_DROPS" ]; then
|
||||||
|
BASH_DROPS="${1}${US}${US}${2}"
|
||||||
|
else
|
||||||
|
BASH_DROPS=$(printf '%s\n%s' "$BASH_DROPS" "${1}${US}${US}${2}")
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
while IFS=$'\x1F' read -r SLUG VERSION CONTENT_B64 EXPECTED_SHA; do
|
||||||
|
if [ -z "$SLUG" ] || [ "$SLUG" = "null" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Required: a server-returned `..` would otherwise pivot SKILL_DIR to
|
||||||
|
# $PLUGIN_ROOT and overwrite the agent's startup hook. Slug has
|
||||||
|
# already passed the node UNSAFE filter (no \t/\n/\x00/\x1F) — failing
|
||||||
|
# here means the slug format is wrong (e.g. uppercase, leading dash,
|
||||||
|
# slash, single char). The slug itself can't be echoed back to the
|
||||||
|
# server: pluginSkillDropSchema enforces slug → slugSchema regex, so
|
||||||
|
# sending the malformed slug would 400 the entire payload and lose
|
||||||
|
# all sibling drops. Send as null instead (same shape as
|
||||||
|
# corrupted_slug from the node parser); the server still gets the
|
||||||
|
# count + reason, just not the slug detail. Defense-in-depth path —
|
||||||
|
# shouldn't fire in production since server only emits validated
|
||||||
|
# slugs.
|
||||||
|
if ! echo "$SLUG" | grep -qE '^[a-z0-9][a-z0-9-]*[a-z0-9]$'; then
|
||||||
|
echo "MCPmarket sync: skipping skill with invalid slug '$SLUG'" >&2
|
||||||
|
append_drop "" "invalid_slug"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
case " $BUNDLED_SKILLS " in
|
||||||
|
*" $SLUG "*) continue ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
SYNCED_SLUGS+=("$SLUG")
|
||||||
|
SKILL_DIR="$SKILLS_DIR/$SLUG"
|
||||||
|
mkdir -p "$SKILL_DIR"
|
||||||
|
|
||||||
|
LOCAL_VERSION=""
|
||||||
|
if [ -f "$SKILL_DIR/SKILL.md" ]; then
|
||||||
|
LOCAL_VERSION=$(awk '
|
||||||
|
/^---[[:space:]]*$/ { if (in_fm) { exit } else { in_fm=1; next } }
|
||||||
|
in_fm && /^[[:space:]]+mcpmarket-version:/ {
|
||||||
|
sub(/^[[:space:]]+mcpmarket-version:[[:space:]]*/, "")
|
||||||
|
gsub(/^["'\'']|["'\'']$/, "")
|
||||||
|
print; exit
|
||||||
|
}
|
||||||
|
' "$SKILL_DIR/SKILL.md")
|
||||||
|
fi
|
||||||
|
if [ -n "$LOCAL_VERSION" ] && [ "$LOCAL_VERSION" = "$VERSION" ]; then
|
||||||
|
# Version stamp matches. Check whether content has drifted from
|
||||||
|
# what we sent — record-only, no overwrite, no user-visible warning.
|
||||||
|
# Hashing prefers `shasum -a 256` (BSD/macOS default) over
|
||||||
|
# `sha256sum` (GNU/Linux) so the check works on both without an
|
||||||
|
# extra dependency; node fallback covers exotic environments.
|
||||||
|
LOCAL_SHA=""
|
||||||
|
if command -v shasum >/dev/null 2>&1; then
|
||||||
|
LOCAL_SHA=$(shasum -a 256 "$SKILL_DIR/SKILL.md" 2>/dev/null | awk '{print $1}')
|
||||||
|
elif command -v sha256sum >/dev/null 2>&1; then
|
||||||
|
LOCAL_SHA=$(sha256sum "$SKILL_DIR/SKILL.md" 2>/dev/null | awk '{print $1}')
|
||||||
|
else
|
||||||
|
LOCAL_SHA=$(SKILL_PATH="$SKILL_DIR/SKILL.md" node -e '
|
||||||
|
try {
|
||||||
|
const fs = require("fs");
|
||||||
|
const crypto = require("crypto");
|
||||||
|
const data = fs.readFileSync(process.env.SKILL_PATH);
|
||||||
|
process.stdout.write(crypto.createHash("sha256").update(data).digest("hex"));
|
||||||
|
} catch { process.exit(0); }
|
||||||
|
' 2>/dev/null)
|
||||||
|
fi
|
||||||
|
if [ -n "$LOCAL_SHA" ] && [ -n "$EXPECTED_SHA" ] && [ "$LOCAL_SHA" != "$EXPECTED_SHA" ]; then
|
||||||
|
SKILLS_DIVERGED=$((SKILLS_DIVERGED + 1))
|
||||||
|
fi
|
||||||
|
SKILLS_UNCHANGED=$((SKILLS_UNCHANGED + 1))
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The plugin's `skills/` directory is sync-owned. Users don't hand-place
|
||||||
|
# files there — skill creation goes through the web UI and propagates
|
||||||
|
# via the baseline endpoint. Earlier versions (≤0.6.0) gated overwrites
|
||||||
|
# on a `mcpmarket-version:` stamp to "protect hand-placed files," but
|
||||||
|
# that scenario isn't a real workflow, and the gate's side effect was
|
||||||
|
# silently dropping every sync for unstamped baseline content — see the
|
||||||
|
# May 2026 plugin-sync investigation. The sync contract is "sync owns
|
||||||
|
# this directory"; honor it and overwrite. A user who edits a synced
|
||||||
|
# SKILL.md in place would always have been overwritten on the next
|
||||||
|
# session anyway (it's how the tool works); removing the gate just
|
||||||
|
# makes that contract honest.
|
||||||
|
|
||||||
|
# Only count + write when the server actually sent content. An empty
|
||||||
|
# CONTENT_B64 with no local SKILL.md would otherwise increment
|
||||||
|
# SKILLS_NEW on every sync without ever writing, making the delta
|
||||||
|
# event lie about on-disk state.
|
||||||
|
if [ -z "$CONTENT_B64" ]; then
|
||||||
|
append_drop "$SLUG" "empty_content"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$LOCAL_VERSION" ]; then
|
||||||
|
SKILLS_NEW=$((SKILLS_NEW + 1))
|
||||||
|
else
|
||||||
|
SKILLS_UPDATED=$((SKILLS_UPDATED + 1))
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMP_SKILL="$(mktemp "$SKILL_DIR/SKILL.md.XXXX")"
|
||||||
|
printf '%s\n' "$(echo "$CONTENT_B64" | base64 -d)" > "$TMP_SKILL"
|
||||||
|
mv "$TMP_SKILL" "$SKILL_DIR/SKILL.md"
|
||||||
|
|
||||||
|
FILES_TSV=$(printf '%s\n' "$RECORDS" | awk -F"$US" -v US="$US" -v slug="$SLUG" '$1=="F" && $2==slug { print $3 US $4 }')
|
||||||
|
if [ -n "$FILES_TSV" ]; then
|
||||||
|
while IFS=$'\x1F' read -r FILE_PATH FILE_CONTENT_B64; do
|
||||||
|
if [ -z "$FILE_PATH" ] || [ "$FILE_PATH" = "null" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Segment-level path-traversal guard; `case` globs miss bare `..`
|
||||||
|
# and `foo/..`.
|
||||||
|
_PATH_OK=true
|
||||||
|
case "$FILE_PATH" in /*) _PATH_OK=false ;; esac
|
||||||
|
if [ "$_PATH_OK" = "true" ]; then
|
||||||
|
IFS='/' read -ra _SEGS <<<"$FILE_PATH"
|
||||||
|
for _SEG in "${_SEGS[@]}"; do
|
||||||
|
if [ "$_SEG" = ".." ] || [ "$_SEG" = "." ] || [ -z "$_SEG" ]; then
|
||||||
|
_PATH_OK=false
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ "$_PATH_OK" != "true" ]; then
|
||||||
|
# Bash-side path traversal rejection — distinct from the node
|
||||||
|
# parser's `invalid_file_path` (which fires on control-char
|
||||||
|
# paths). Same reason enum since both represent "the file's
|
||||||
|
# path is unsafe to write to disk"; the server can't usefully
|
||||||
|
# distinguish the two sub-causes and we'd rather keep the
|
||||||
|
# closed enum tight.
|
||||||
|
append_drop "$SLUG" "invalid_file_path"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
FILE_DIR=$(dirname "$SKILL_DIR/$FILE_PATH")
|
||||||
|
mkdir -p "$FILE_DIR"
|
||||||
|
TMP_FILE="$(mktemp "$SKILL_DIR/$FILE_PATH.XXXX")"
|
||||||
|
printf '%s\n' "$(echo "$FILE_CONTENT_B64" | base64 -d)" > "$TMP_FILE"
|
||||||
|
mv "$TMP_FILE" "$SKILL_DIR/$FILE_PATH"
|
||||||
|
done <<EOF
|
||||||
|
$FILES_TSV
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f "$SKILL_DIR/.version"
|
||||||
|
done <<EOF
|
||||||
|
$SKILLS_TSV
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Cleanup: delete subdirs whose slug isn't in the current baseline.
|
||||||
|
# Symmetric with the write path above — the plugin's skills/ directory
|
||||||
|
# is sync-owned, so an entry without a matching baseline slug is stale
|
||||||
|
# and should be pruned. Bundled skills (e.g. `sync`) are excluded
|
||||||
|
# because they're shipped by the plugin itself, not by the catalog.
|
||||||
|
if [ -d "$SKILLS_DIR" ] && [ "$SKILLS_DIR" != "/" ]; then
|
||||||
|
for EXISTING in "$SKILLS_DIR"/*/; do
|
||||||
|
[ -d "$EXISTING" ] || continue
|
||||||
|
EXISTING_SLUG=$(basename "$EXISTING")
|
||||||
|
case " $BUNDLED_SKILLS " in
|
||||||
|
*" $EXISTING_SLUG "*) continue ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ -f "$EXISTING/SKILL.md" ] || continue
|
||||||
|
|
||||||
|
FOUND=false
|
||||||
|
# Length check required: `"${empty[@]:-}"` expands to one empty word.
|
||||||
|
if [ ${#SYNCED_SLUGS[@]} -gt 0 ]; then
|
||||||
|
for S in "${SYNCED_SLUGS[@]}"; do
|
||||||
|
if [ "$S" = "$EXISTING_SLUG" ]; then
|
||||||
|
FOUND=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ "$FOUND" = "false" ]; then
|
||||||
|
rm -rf "$EXISTING"
|
||||||
|
SKILLS_REMOVED=$((SKILLS_REMOVED + 1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Combine node-emitted and bash-emitted drop records. Both share the
|
||||||
|
# same `<slug-or-empty><US><index-or-empty><US><reason>` shape so they
|
||||||
|
# stream through the same downstream JSON builder.
|
||||||
|
ALL_DROPS=""
|
||||||
|
if [ -n "$DROPS_TSV" ] && [ -n "$BASH_DROPS" ]; then
|
||||||
|
ALL_DROPS=$(printf '%s\n%s' "$DROPS_TSV" "$BASH_DROPS")
|
||||||
|
elif [ -n "$DROPS_TSV" ]; then
|
||||||
|
ALL_DROPS="$DROPS_TSV"
|
||||||
|
elif [ -n "$BASH_DROPS" ]; then
|
||||||
|
ALL_DROPS="$BASH_DROPS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sync delta POST. Counters remain pure non-negative integers; the
|
||||||
|
# `skillsDropped` array carries per-skill detail when the server's
|
||||||
|
# baseline contained skills the client couldn't write. Slugs in
|
||||||
|
# `skillsDropped` came from the server in the same response cycle —
|
||||||
|
# echoing them back reveals nothing new (see pluginSkillDropSchema
|
||||||
|
# docstring in packages/validators/src/plugin.ts).
|
||||||
|
#
|
||||||
|
# `client` is in the body (not just the header) because the
|
||||||
|
# /sync-applied route reads it from the validated body — without this
|
||||||
|
# every event from a client-specific install loses metadata.client.
|
||||||
|
#
|
||||||
|
# Built via node rather than printf so the `skillsDropped` JSON shape
|
||||||
|
# stays robust against any drop reason vocabulary extension and so
|
||||||
|
# string escaping (slugs in the array) doesn't have to be re-derived
|
||||||
|
# in bash. Counters are passed as env vars; ALL_DROPS streams on stdin
|
||||||
|
# so embedded newlines (the inter-record separator) survive intact.
|
||||||
|
SYNC_APPLIED_PAYLOAD=$(
|
||||||
|
ORG="$ORG_SLUG" TK="$TOOLKIT_SLUG" \
|
||||||
|
S_NEW="$SKILLS_NEW" S_UPD="$SKILLS_UPDATED" S_UNCH="$SKILLS_UNCHANGED" \
|
||||||
|
S_REM="$SKILLS_REMOVED" S_DIV="$SKILLS_DIVERGED" \
|
||||||
|
CLIENT="$MCPMARKET_CLIENT" \
|
||||||
|
node -e '
|
||||||
|
// Closed-enum allowlist. MUST be kept in lockstep with
|
||||||
|
// `pluginSkillDropReasonSchema` in
|
||||||
|
// packages/validators/src/plugin.ts — unrecognized reasons are
|
||||||
|
// silently dropped here (the `continue` below), so a new reason
|
||||||
|
// added to the Zod enum without updating this Set never reaches
|
||||||
|
// the server. See the four-site contract in that schema docstring.
|
||||||
|
// `hand_placed_collision` is intentionally absent — 0.7.0 removed
|
||||||
|
// the emit site (plugin skills/ is sync-owned; unstamped local
|
||||||
|
// files are our past output, not hand-placements). The reason
|
||||||
|
// stays in the server Zod enum for backwards compat with older
|
||||||
|
// clients, but a new sync.sh that produced one would be a bug.
|
||||||
|
const REASONS = new Set([
|
||||||
|
"invalid_slug",
|
||||||
|
"unsafe_version",
|
||||||
|
"empty_content",
|
||||||
|
"invalid_file_path",
|
||||||
|
"corrupted_slug",
|
||||||
|
]);
|
||||||
|
// Reasons where the schema accepts null slug. Must match the
|
||||||
|
// NULL_SLUG_REASONS set in pluginSkillDropSchema.superRefine
|
||||||
|
// (packages/validators/src/plugin.ts) — drift here causes the
|
||||||
|
// payload to either drop legitimate records (if too restrictive)
|
||||||
|
// or 400 the whole POST (if too permissive).
|
||||||
|
const NULL_SLUG_REASONS = new Set(["corrupted_slug", "invalid_slug"]);
|
||||||
|
const dropsRaw = require("fs").readFileSync(0, "utf8");
|
||||||
|
const drops = [];
|
||||||
|
for (const line of dropsRaw.split("\n")) {
|
||||||
|
if (!line) continue;
|
||||||
|
const parts = line.split("\x1F");
|
||||||
|
if (parts.length !== 3) continue;
|
||||||
|
const [slug, indexStr, reason] = parts;
|
||||||
|
if (!REASONS.has(reason)) continue;
|
||||||
|
const entry = { reason };
|
||||||
|
const n = Number.parseInt(indexStr, 10);
|
||||||
|
const hasIndex = Number.isFinite(n) && n >= 0;
|
||||||
|
if (reason === "corrupted_slug") {
|
||||||
|
// corrupted_slug MUST have null slug (node UNSAFE filter
|
||||||
|
// rejected the bytes) AND carries the baseline-array index
|
||||||
|
// so the server can locate the bad row.
|
||||||
|
entry.slug = null;
|
||||||
|
if (hasIndex) entry.index = n;
|
||||||
|
} else if (NULL_SLUG_REASONS.has(reason) && !slug) {
|
||||||
|
// Other null-slug-allowed reasons (invalid_slug). The node
|
||||||
|
// parser emits these WITH an index (baseline-array position);
|
||||||
|
// the bash defense-in-depth branch emits them WITHOUT an
|
||||||
|
// index (write loop has no access to the original position).
|
||||||
|
// Forward the index when present so node-emitted drops carry
|
||||||
|
// the locator and bash-emitted drops still validate.
|
||||||
|
entry.slug = null;
|
||||||
|
if (hasIndex) entry.index = n;
|
||||||
|
} else {
|
||||||
|
// Schema disallows null slug for the remaining reasons. Drop
|
||||||
|
// the record rather than send something the server will 400.
|
||||||
|
if (!slug) continue;
|
||||||
|
entry.slug = slug;
|
||||||
|
if (hasIndex) entry.index = n;
|
||||||
|
}
|
||||||
|
drops.push(entry);
|
||||||
|
}
|
||||||
|
const body = {
|
||||||
|
orgSlug: process.env.ORG,
|
||||||
|
toolkitSlug: process.env.TK,
|
||||||
|
skillsNew: Number(process.env.S_NEW),
|
||||||
|
skillsUpdated: Number(process.env.S_UPD),
|
||||||
|
skillsUnchanged: Number(process.env.S_UNCH),
|
||||||
|
skillsRemoved: Number(process.env.S_REM),
|
||||||
|
skillsDiverged: Number(process.env.S_DIV),
|
||||||
|
};
|
||||||
|
if (drops.length > 0) {
|
||||||
|
body.skillsDropped = drops.slice(0, 100);
|
||||||
|
// Signal the server when the array was truncated so analytics
|
||||||
|
// queries on skillsDropped.length can treat the count as a
|
||||||
|
// lower bound rather than the exact drop count. Match the
|
||||||
|
// omit-when-empty contract: only emit the field on overflow.
|
||||||
|
if (drops.length > 100) body.skillsDroppedTruncated = true;
|
||||||
|
}
|
||||||
|
if (process.env.CLIENT) body.client = process.env.CLIENT;
|
||||||
|
process.stdout.write(JSON.stringify(body));
|
||||||
|
' <<EOF
|
||||||
|
$ALL_DROPS
|
||||||
|
EOF
|
||||||
|
) || SYNC_APPLIED_PAYLOAD=""
|
||||||
|
|
||||||
|
if [ -n "$SYNC_APPLIED_PAYLOAD" ]; then
|
||||||
|
curl -sS --max-time 3 -X POST \
|
||||||
|
-H "Authorization: Bearer $API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "User-Agent: $USER_AGENT" \
|
||||||
|
${CLIENT_HEADER_ARGS[@]+"${CLIENT_HEADER_ARGS[@]}"} \
|
||||||
|
-d "$SYNC_APPLIED_PAYLOAD" \
|
||||||
|
"$SYNC_APPLIED_URL" >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Touch the TTL sentinel only AFTER the full success path completes
|
||||||
|
# (HTTP 200 + parse OK + write loop + sync_applied payload built +
|
||||||
|
# POST attempted). Any earlier exit (network error, HTTP non-200,
|
||||||
|
# invalid baseline response, sync_applied payload-build failure) skips
|
||||||
|
# the touch so the next session retries immediately rather than caching
|
||||||
|
# the failure. The POST itself is fire-and-forget — a 4xx/5xx on
|
||||||
|
# /sync-applied doesn't invalidate the sync from the client's
|
||||||
|
# perspective (skills were still written) so we touch even when the
|
||||||
|
# POST errors silently. But if the local payload builder itself failed
|
||||||
|
# (e.g., node crashed mid-build, $SYNC_APPLIED_PAYLOAD is empty), we
|
||||||
|
# never even tried to deliver telemetry — treat that as a parse-class
|
||||||
|
# failure and skip the touch.
|
||||||
|
if [ -n "$SYNC_APPLIED_PAYLOAD" ]; then
|
||||||
|
touch "$SYNC_SENTINEL" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Print the count of skills actually written to disk this run, not the
|
||||||
|
# count of skills in the API response. Pre-0.6.0 this printed
|
||||||
|
# $SKILL_COUNT (response count), which lied whenever any per-skill
|
||||||
|
# drop kicked in — a user with 4 skills sent and 3 dropped would see
|
||||||
|
# "MCPmarket sync: 4 baseline skill(s) synced" while only 1 SKILL.md
|
||||||
|
# landed on disk. SKILLS_NEW + SKILLS_UPDATED reflects the actual
|
||||||
|
# write count.
|
||||||
|
SKILLS_WRITTEN=$((SKILLS_NEW + SKILLS_UPDATED))
|
||||||
|
echo "MCPmarket sync: $SKILLS_WRITTEN baseline skill(s) synced"
|
||||||
0
mcpmarket-me/skills/.gitkeep
Normal file
0
mcpmarket-me/skills/.gitkeep
Normal file
451
mcpmarket-me/skills/circuit-synth/SKILL.md
Normal file
451
mcpmarket-me/skills/circuit-synth/SKILL.md
Normal file
@ -0,0 +1,451 @@
|
|||||||
|
---
|
||||||
|
name: circuit-synth
|
||||||
|
description: Create and design PCB circuits using Python and KiCad with AI assistance. Generate circuits from natural language descriptions, existing documentation, or templates. Search components, manage BOMs, and produce manufacturing-ready outputs.
|
||||||
|
metadata:
|
||||||
|
mcpmarket-version: 1.0.0
|
||||||
|
---
|
||||||
|
# Circuit-Synth: AI-Assisted PCB Design
|
||||||
|
|
||||||
|
Professional circuit design using Python + KiCad + AI. Define circuits in code, leverage pre-made patterns, and generate manufacturing-ready outputs.
|
||||||
|
|
||||||
|
**Tool Reference:** This skill uses [circuit-synth](https://github.com/circuit-synth/circuit-synth), a Python library for programmatic PCB design with KiCad integration.
|
||||||
|
|
||||||
|
**Additional Resources:**
|
||||||
|
- `reference.md` - Quick reference for commands, patterns, and workflows
|
||||||
|
- [Official Documentation](https://circuit-synth.readthedocs.io)
|
||||||
|
|
||||||
|
## What is Circuit-Synth?
|
||||||
|
|
||||||
|
Circuit-synth brings software engineering practices to hardware design:
|
||||||
|
- Define circuits in Python instead of GUI clicking
|
||||||
|
- Hierarchical design with modular subcircuits
|
||||||
|
- Version control friendly (text-based definitions)
|
||||||
|
- AI-accelerated design workflows
|
||||||
|
- Professional KiCad output (.kicad_pro, .kicad_sch, .kicad_pcb)
|
||||||
|
- Manufacturing exports (BOM, Gerbers, PDF schematics)
|
||||||
|
|
||||||
|
## Quick Start (60 seconds)
|
||||||
|
|
||||||
|
```python
|
||||||
|
# 1. Install
|
||||||
|
uv add circuit-synth reportlab
|
||||||
|
|
||||||
|
# 2. Create circuit (circuits/my_board.py)
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="MyBoard")
|
||||||
|
def my_circuit():
|
||||||
|
vcc = Net('VCC')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
led = Component(
|
||||||
|
symbol="Device:LED",
|
||||||
|
ref="D",
|
||||||
|
value="Red",
|
||||||
|
footprint="LED_SMD:LED_0805_2012Metric"
|
||||||
|
)
|
||||||
|
|
||||||
|
res = Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="330R",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Connect: VCC -> Resistor -> LED -> GND
|
||||||
|
res["1"] += vcc
|
||||||
|
res["2"] += led["A"]
|
||||||
|
led["K"] += gnd
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import os
|
||||||
|
os.makedirs("circuits", exist_ok=True)
|
||||||
|
my_circuit()
|
||||||
|
|
||||||
|
# 3. Generate
|
||||||
|
# uv run python circuits/my_board.py
|
||||||
|
|
||||||
|
# 4. Open in KiCad
|
||||||
|
# kicad circuits/MyBoard/MyBoard.kicad_pro
|
||||||
|
```
|
||||||
|
|
||||||
|
**That's it!** For advanced usage, see sections below or check `reference.md`.
|
||||||
|
|
||||||
|
## When to Use This Skill
|
||||||
|
|
||||||
|
Use circuit-synth when:
|
||||||
|
- Creating new PCB designs from scratch
|
||||||
|
- Generating circuits from natural language descriptions
|
||||||
|
- Converting hardware documentation/pinouts into formal schematics
|
||||||
|
- Reverse-engineering existing hardware into KiCad format
|
||||||
|
- Searching for components with real-time stock/pricing
|
||||||
|
- Designing with pre-made manufacturing-ready patterns
|
||||||
|
- Producing manufacturing outputs (BOM, Gerbers, PDF)
|
||||||
|
|
||||||
|
## When NOT to Use This Skill
|
||||||
|
|
||||||
|
Skip circuit-synth when:
|
||||||
|
- User just wants schematic symbols/footprints without circuit design
|
||||||
|
- Working with non-KiCad tools (Altium, Eagle, etc.)
|
||||||
|
- Project requires Python < 3.12
|
||||||
|
- Simple one-off circuit not worth the setup
|
||||||
|
|
||||||
|
## Installation and Setup
|
||||||
|
|
||||||
|
### Quick Start Installation
|
||||||
|
|
||||||
|
**Check if already installed:**
|
||||||
|
```bash
|
||||||
|
pip list | grep circuit-synth
|
||||||
|
```
|
||||||
|
|
||||||
|
**If not installed:**
|
||||||
|
|
||||||
|
In existing Python project (has `pyproject.toml`):
|
||||||
|
```bash
|
||||||
|
uv add circuit-synth
|
||||||
|
```
|
||||||
|
|
||||||
|
In non-Python project or new setup:
|
||||||
|
```bash
|
||||||
|
uv init --bare # Creates pyproject.toml
|
||||||
|
uv add circuit-synth
|
||||||
|
```
|
||||||
|
|
||||||
|
Fallback with pip:
|
||||||
|
```bash
|
||||||
|
pip install circuit-synth
|
||||||
|
```
|
||||||
|
|
||||||
|
**Recommended: Install reportlab for PDF schematic generation:**
|
||||||
|
```bash
|
||||||
|
uv add reportlab
|
||||||
|
# or
|
||||||
|
pip install reportlab
|
||||||
|
```
|
||||||
|
|
||||||
|
Without reportlab, you'll see warnings and won't be able to generate PDF schematics.
|
||||||
|
|
||||||
|
That's it! No need to ask permission - just provide these commands when needed.
|
||||||
|
|
||||||
|
### Python Version Requirement
|
||||||
|
|
||||||
|
Circuit-synth requires **Python 3.12 or higher**.
|
||||||
|
|
||||||
|
Check Python version:
|
||||||
|
```bash
|
||||||
|
python --version
|
||||||
|
# or
|
||||||
|
python3 --version
|
||||||
|
```
|
||||||
|
|
||||||
|
If Python < 3.12, inform user and ask if they want to proceed with installation anyway or upgrade Python first.
|
||||||
|
|
||||||
|
### Common Installation Issues
|
||||||
|
|
||||||
|
| Error | Fix |
|
||||||
|
|-------|-----|
|
||||||
|
| `No module named 'circuit_synth'` | Run `uv add circuit-synth` or `pip install circuit-synth` |
|
||||||
|
| `No pyproject.toml found` | Run `uv init --bare` first, then `uv add circuit-synth` |
|
||||||
|
| `Python version too old` | Requires Python 3.12+, upgrade with pyenv or conda |
|
||||||
|
|
||||||
|
## Common Pin Naming Issues
|
||||||
|
|
||||||
|
**Most common source of errors!** When you get `Pin 'XXX' not found` errors, the error message shows available pins. Use those names.
|
||||||
|
|
||||||
|
### Quick Reference Table
|
||||||
|
|
||||||
|
| IC Family | Common Wrong Names | Correct Names | Example |
|
||||||
|
|-----------|-------------------|---------------|---------|
|
||||||
|
| 74xx Latches (373, 573) | 1D, 1Q, 2D, 2Q | D0-D7, O0-O7 | D0 for data in, O0 for output |
|
||||||
|
| 74xx Buffers (245) | DIR, OE | A->B, CE | Direction control renamed |
|
||||||
|
| 74xx Decoders (138, 139) | 1G, 1A0, 1Y0 | E, A0, O0 | Single decoder uses generic names |
|
||||||
|
| Polarized Caps | +, - | 1, 2 | Pin 1 is positive, pin 2 negative |
|
||||||
|
| Generic symbols | Named pins | 1, 2, 3... | Use pin numbers for placeholders |
|
||||||
|
|
||||||
|
**How to fix:** When you see the error, it lists available pins - use those exact names in your code.
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Error says: Available: 'D0', 'D1', ..., 'O0', 'O1', ...
|
||||||
|
# Wrong:
|
||||||
|
latch["1D"] += data_in # ❌
|
||||||
|
|
||||||
|
# Correct:
|
||||||
|
latch["D0"] += data_in # ✓
|
||||||
|
```
|
||||||
|
|
||||||
|
## Incremental Development (IMPORTANT!)
|
||||||
|
|
||||||
|
**Don't write the whole circuit at once!** Build and test incrementally to catch pin name errors early.
|
||||||
|
|
||||||
|
### Step 1: Minimal Test (1-2 components)
|
||||||
|
|
||||||
|
Start with just power and one IC:
|
||||||
|
|
||||||
|
```python
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="Test")
|
||||||
|
def test_circuit():
|
||||||
|
vcc = Net('VCC_5V')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
# Test one IC first
|
||||||
|
ic = Component(
|
||||||
|
symbol="74xx:74HC373", # Or whatever you need
|
||||||
|
ref="U1",
|
||||||
|
value="Test",
|
||||||
|
footprint="Package_DIP:DIP-20_W7.62mm"
|
||||||
|
)
|
||||||
|
|
||||||
|
ic["VCC"] += vcc
|
||||||
|
ic["GND"] += gnd
|
||||||
|
ic["D0"] += Net('DATA0') # Try connecting one pin
|
||||||
|
ic["O0"] += Net('OUT0')
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
c = test_circuit()
|
||||||
|
c.generate_kicad_project(project_name="Test")
|
||||||
|
```
|
||||||
|
|
||||||
|
Run: `uv run python circuits/test.py`
|
||||||
|
|
||||||
|
### Step 2: Fix Pin Names from Error Messages
|
||||||
|
|
||||||
|
If it fails, read the error:
|
||||||
|
```
|
||||||
|
ComponentError: Pin 'D0' not found in U1 (74xx:74HC373).
|
||||||
|
Available: 'D0', 'D1', 'D2', ...
|
||||||
|
```
|
||||||
|
|
||||||
|
Use the available names shown in the error.
|
||||||
|
|
||||||
|
### Step 3: Add More Components Gradually
|
||||||
|
|
||||||
|
Once one IC works, add 2-3 more at a time, testing after each addition.
|
||||||
|
|
||||||
|
## Where Are My Files?
|
||||||
|
|
||||||
|
After running `circuit_obj.generate_kicad_project(project_name="MyBoard")`:
|
||||||
|
|
||||||
|
```
|
||||||
|
your-project/
|
||||||
|
└── circuits/ ← **CIRCUIT FOLDER**
|
||||||
|
├── your_circuit.py ← Your Python circuit definition
|
||||||
|
└── MyBoard/ ← **GENERATED HERE**
|
||||||
|
├── MyBoard.kicad_pro ← Open this in KiCad
|
||||||
|
├── MyBoard.kicad_sch
|
||||||
|
├── MyBoard.json
|
||||||
|
└── MyBoard.net
|
||||||
|
```
|
||||||
|
|
||||||
|
**Open it:** `kicad circuits/MyBoard/MyBoard.kicad_pro`
|
||||||
|
|
||||||
|
The `circuits/` folder keeps all circuit definitions and generated KiCad projects organized together.
|
||||||
|
|
||||||
|
## Common Errors & Quick Fixes
|
||||||
|
|
||||||
|
| Error | Cause | Fix |
|
||||||
|
|-------|-------|-----|
|
||||||
|
| `Pin 'X' not found` | Wrong pin name | Use exact names from error message |
|
||||||
|
| `Symbol 'XXX' not found` | Symbol doesn't exist in KiCad libraries | Try similar symbol (74HC139→74LS139) or use generic placeholder |
|
||||||
|
| `missing 1 required positional argument: 'project_name'` | Forgot parameter | Add `project_name="YourBoard"` |
|
||||||
|
| `No module named 'circuit_synth'` | Not installed | Run `uv add circuit-synth` |
|
||||||
|
| `No pyproject.toml found` | Not in uv project | Run `uv init --bare` first |
|
||||||
|
|
||||||
|
## Placeholder-First Approach for Custom/Unknown ICs
|
||||||
|
|
||||||
|
**Fast track for reverse-engineering or using ICs without KiCad symbols:**
|
||||||
|
|
||||||
|
### 1. Use Generic Symbols as Placeholders
|
||||||
|
|
||||||
|
Don't waste time searching for exact symbols. Start with placeholders:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Unknown or custom IC? Use Device:C (capacitor) as 2-pin placeholder
|
||||||
|
custom_ic = Component(
|
||||||
|
symbol="Device:C", # Quick 2-pin placeholder
|
||||||
|
ref="U1",
|
||||||
|
value="ActualPartNumber", # Document the real part
|
||||||
|
footprint="Package_DIP:DIP-20_W7.62mm" # Use actual footprint
|
||||||
|
)
|
||||||
|
|
||||||
|
# Connect using pin numbers
|
||||||
|
custom_ic["1"] += vcc
|
||||||
|
custom_ic["2"] += gnd
|
||||||
|
|
||||||
|
# Document actual connections in comments for later
|
||||||
|
# Pin 1: VCC, Pin 2: GND, Pin 3: DATA0, ... etc
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Generate Schematic Quickly
|
||||||
|
|
||||||
|
- Get project structure in place
|
||||||
|
- See component layout
|
||||||
|
- Verify netlists work
|
||||||
|
- Don't block on symbol creation
|
||||||
|
|
||||||
|
### 3. Create Custom Symbols Later in KiCad
|
||||||
|
|
||||||
|
Once schematic is generated:
|
||||||
|
- Open KiCad Symbol Editor
|
||||||
|
- Create proper symbol with all pins
|
||||||
|
- Replace placeholder in schematic
|
||||||
|
- Update connections
|
||||||
|
|
||||||
|
**When to use this:** Reverse-engineering projects, obsolete ICs, custom hardware, any time symbol search takes >5 minutes.
|
||||||
|
|
||||||
|
## Project Creation Workflows
|
||||||
|
|
||||||
|
### Workflow 1: Add to Existing Project
|
||||||
|
|
||||||
|
**Use when**: Adding circuit design to existing firmware/hardware project
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Install circuit-synth in project: `uv add circuit-synth` or `pip install circuit-synth`
|
||||||
|
2. Optionally install reportlab: `uv add reportlab` or `pip install reportlab`
|
||||||
|
3. Create directory: `mkdir -p circuits`
|
||||||
|
4. Create initial circuit file: `circuits/main.py`
|
||||||
|
5. Add to .gitignore (if desired):
|
||||||
|
```
|
||||||
|
circuits/*/*.kicad_pro
|
||||||
|
circuits/*/*.kicad_sch
|
||||||
|
circuits/*/*.kicad_pcb
|
||||||
|
circuits/*/*.json
|
||||||
|
circuits/*/*.net
|
||||||
|
*.kicad_prl
|
||||||
|
*.kicad_sch-bak
|
||||||
|
```
|
||||||
|
6. Document in README: "Circuit schematics in `circuits/` - Python definitions and generated KiCad projects"
|
||||||
|
|
||||||
|
### Workflow 2: Quick Prototype
|
||||||
|
|
||||||
|
**Use when**: Testing a circuit idea without full project structure
|
||||||
|
|
||||||
|
**Single file approach:**
|
||||||
|
```python
|
||||||
|
# circuits/quick_test.py
|
||||||
|
import os
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="QuickTest")
|
||||||
|
def my_circuit():
|
||||||
|
# Define circuit here
|
||||||
|
pass
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
os.makedirs("circuits", exist_ok=True)
|
||||||
|
my_circuit()
|
||||||
|
```
|
||||||
|
|
||||||
|
Run: `python circuits/quick_test.py`
|
||||||
|
|
||||||
|
### Project Type Decision Table
|
||||||
|
|
||||||
|
| User Intent | Workflow | Command |
|
||||||
|
|-------------|----------|---------|
|
||||||
|
| Add to existing firmware project | Workflow 1 | Manual setup + `mkdir circuit-synth` |
|
||||||
|
| Quick test / proof of concept | Workflow 2 | Single Python file |
|
||||||
|
|
||||||
|
## Circuit Generation from Natural Language
|
||||||
|
|
||||||
|
**Quick workflow:**
|
||||||
|
1. Parse requirements (components, specs, constraints)
|
||||||
|
2. Check pattern library, use if match found
|
||||||
|
3. Search components with jlc-fast
|
||||||
|
4. Generate Python circuit definition
|
||||||
|
5. Validate and run
|
||||||
|
|
||||||
|
**Component syntax:**
|
||||||
|
```python
|
||||||
|
led = Component(symbol="Device:LED", ref="D", value="Red",
|
||||||
|
footprint="LED_SMD:LED_0805_2012Metric")
|
||||||
|
led["K"] += gnd # Connect pins to nets
|
||||||
|
```
|
||||||
|
|
||||||
|
**Buses:**
|
||||||
|
```python
|
||||||
|
data_bus = [Net(f'D{i}') for i in range(8)] # D0-D7
|
||||||
|
for i in range(8):
|
||||||
|
buffer[f'A{i}'] += data_bus[i]
|
||||||
|
```
|
||||||
|
|
||||||
|
See `reference.md` for detailed examples (LDO regulator, LED circuits, hierarchical subcircuits).
|
||||||
|
|
||||||
|
## From Documentation/Code to Circuit
|
||||||
|
|
||||||
|
Use when you have firmware code, hardware docs, pinout tables, or datasheets.
|
||||||
|
|
||||||
|
**Quick workflow:**
|
||||||
|
1. Glob/Read documentation files
|
||||||
|
2. Extract components and connections
|
||||||
|
3. Generate Python circuit definition (use placeholders for unknown ICs)
|
||||||
|
4. Run and validate
|
||||||
|
|
||||||
|
See `reference.md` for complete step-by-step workflow with examples.
|
||||||
|
|
||||||
|
```python
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="MyBoard")
|
||||||
|
def my_board():
|
||||||
|
"""Based on PINOUTS.md and code analysis."""
|
||||||
|
|
||||||
|
# Define nets from documentation
|
||||||
|
vcc, gnd = Net('VCC'), Net('GND')
|
||||||
|
data_bus = [Net(f'D{i}') for i in range(8)] # D0-D7
|
||||||
|
|
||||||
|
# Components from doc (use placeholders for unknown symbols)
|
||||||
|
ic1 = Component(
|
||||||
|
symbol="Device:C", # Placeholder if symbol unknown
|
||||||
|
ref="U1",
|
||||||
|
value="ActualPartNumber",
|
||||||
|
footprint="Package_DIP:DIP-20_W7.62mm"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Power connections
|
||||||
|
ic1["1"] += vcc # Using pin numbers for placeholder
|
||||||
|
ic1["2"] += gnd
|
||||||
|
|
||||||
|
# Add more components incrementally...
|
||||||
|
# connector = Component(...)
|
||||||
|
# other_ic = Component(...)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
c = my_board()
|
||||||
|
c.generate_kicad_project(project_name="MyBoard")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Key points:**
|
||||||
|
- Use placeholder symbols (`Device:C`) for unknown/custom ICs
|
||||||
|
- Document actual part numbers in `value` field
|
||||||
|
- Add connections incrementally, test often
|
||||||
|
- Replace placeholders with proper symbols later in KiCad
|
||||||
|
|
||||||
|
**Step 5: Generate and Test**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run python circuits/my_board.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Check generated files in `MyBoard/` directory, open in KiCad.
|
||||||
|
|
||||||
|
**Step 6: Cross-Reference**
|
||||||
|
|
||||||
|
Verify schematic against original documentation:
|
||||||
|
- Check all component connections match docs
|
||||||
|
- Verify pin numbers/names are correct
|
||||||
|
- Compare with firmware code if available
|
||||||
|
|
||||||
|
### Tips for Code-Based Projects
|
||||||
|
|
||||||
|
If working from PlatformIO or Arduino code:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Find pin definitions
|
||||||
|
grep -r "define.*PIN" src/ include/
|
||||||
|
grep -r "const.*pin" src/ include/
|
||||||
|
grep -r "GPIO" src/ include/
|
||||||
|
```
|
||||||
|
|
||||||
|
Use these to map hardware connections in your circuit.
|
||||||
595
mcpmarket-me/skills/circuit-synth/reference.md
Normal file
595
mcpmarket-me/skills/circuit-synth/reference.md
Normal file
@ -0,0 +1,595 @@
|
|||||||
|
# Circuit-Synth Quick Reference
|
||||||
|
|
||||||
|
Official docs: https://circuit-synth.readthedocs.io
|
||||||
|
GitHub: https://github.com/circuit-synth/circuit-synth
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check if installed
|
||||||
|
pip list | grep circuit-synth
|
||||||
|
|
||||||
|
# Install with uv (preferred)
|
||||||
|
uv add circuit-synth
|
||||||
|
|
||||||
|
# Install with pip
|
||||||
|
pip install circuit-synth
|
||||||
|
|
||||||
|
# Check version
|
||||||
|
python -c "import circuit_synth; print(circuit_synth.__version__)"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Requirements**: Python 3.12+
|
||||||
|
|
||||||
|
## Project Creation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# New project with prompts
|
||||||
|
uv run cs-new-project my_project
|
||||||
|
|
||||||
|
# Quick start (no prompts)
|
||||||
|
uv run cs-new-project my_project --quick
|
||||||
|
|
||||||
|
# Specific templates
|
||||||
|
uv run cs-new-project my_board --circuits STM32,USB,ESP32
|
||||||
|
|
||||||
|
# Skip AI integration
|
||||||
|
uv run cs-new-project my_board --no-agents
|
||||||
|
|
||||||
|
# Navigate and generate
|
||||||
|
cd my_project
|
||||||
|
uv run python circuit-synth/main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
**Templates available**: ESP32, STM32, USB, POWER
|
||||||
|
|
||||||
|
## Basic Circuit Template
|
||||||
|
|
||||||
|
```python
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="MyCircuit")
|
||||||
|
def my_circuit():
|
||||||
|
"""Circuit description"""
|
||||||
|
|
||||||
|
# Define nets
|
||||||
|
vcc = Net('VCC')
|
||||||
|
gnd = Net('GND')
|
||||||
|
signal = Net('SIGNAL')
|
||||||
|
|
||||||
|
# Create component
|
||||||
|
resistor = Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="10k",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Connect pins to nets
|
||||||
|
resistor[1] += vcc
|
||||||
|
resistor[2] += signal
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
my_circuit()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Component Definition
|
||||||
|
|
||||||
|
**Minimum required:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**With value:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="10k",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Full BOM data:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="10k",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric",
|
||||||
|
datasheet="https://example.com/datasheet.pdf",
|
||||||
|
manufacturer="Yageo",
|
||||||
|
mpn="RC0805FR-0710KL",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C17414",
|
||||||
|
cost="0.001"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Components
|
||||||
|
|
||||||
|
**Resistor:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="10k",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Capacitor:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:C",
|
||||||
|
ref="C",
|
||||||
|
value="10uF",
|
||||||
|
footprint="Capacitor_SMD:C_0805_2012Metric"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**LED:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Device:LED",
|
||||||
|
ref="D",
|
||||||
|
value="Red",
|
||||||
|
footprint="LED_SMD:LED_0805_2012Metric"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Voltage Regulator (LDO):**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Regulator_Linear:AMS1117-3.3",
|
||||||
|
ref="U",
|
||||||
|
value="AMS1117-3.3",
|
||||||
|
footprint="Package_TO_SOT_SMD:SOT-223-3_TabPin2"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**USB Type-C Connector:**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="Connector:USB_C_Receptacle_USB2.0",
|
||||||
|
ref="J",
|
||||||
|
value="USB-C",
|
||||||
|
footprint="Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Microcontroller (STM32):**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="MCU_ST_STM32F1:STM32F103C8Tx",
|
||||||
|
ref="U",
|
||||||
|
value="STM32F103C8T6",
|
||||||
|
footprint="Package_QFP:LQFP-48_7x7mm_P0.5mm"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Microcontroller (ESP32):**
|
||||||
|
```python
|
||||||
|
Component(
|
||||||
|
symbol="RF_Module:ESP32-WROOM-32",
|
||||||
|
ref="U",
|
||||||
|
value="ESP32-WROOM-32",
|
||||||
|
footprint="RF_Module:ESP32-WROOM-32"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Net Connections
|
||||||
|
|
||||||
|
**Connect pin to net:**
|
||||||
|
```python
|
||||||
|
led["K"] += gnd # LED cathode to ground
|
||||||
|
led["A"] += resistor[1] # LED anode to resistor pin 1
|
||||||
|
```
|
||||||
|
|
||||||
|
**Create nets:**
|
||||||
|
```python
|
||||||
|
# Individual nets
|
||||||
|
vcc = Net('VCC')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
# Multiple nets (bus)
|
||||||
|
data = [Net(f'D{i}') for i in range(8)] # D0-D7
|
||||||
|
addr = [Net(f'A{i}') for i in range(16)] # A0-A15
|
||||||
|
```
|
||||||
|
|
||||||
|
**Connect to bus:**
|
||||||
|
```python
|
||||||
|
for i in range(8):
|
||||||
|
mcu[f'PB{i}'] += data[i] # Connect MCU port B to data bus
|
||||||
|
```
|
||||||
|
|
||||||
|
## Circuit Patterns
|
||||||
|
|
||||||
|
**Import patterns:**
|
||||||
|
```python
|
||||||
|
from buck_converter import buck_converter
|
||||||
|
from boost_converter import boost_converter
|
||||||
|
from lipo_charger import lipo_charger
|
||||||
|
from resistor_divider import resistor_divider
|
||||||
|
from thermistor import thermistor
|
||||||
|
from opamp_follower import opamp_follower
|
||||||
|
from rs485 import rs485
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use buck converter:**
|
||||||
|
```python
|
||||||
|
@circuit(name="Power")
|
||||||
|
def power_supply():
|
||||||
|
vin = Net('VIN_12V')
|
||||||
|
vout = Net('VOUT_5V')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
buck_converter(vin, vout, gnd,
|
||||||
|
output_voltage="5V",
|
||||||
|
max_current="3A")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use boost converter:**
|
||||||
|
```python
|
||||||
|
boost_converter(vin, vout, gnd,
|
||||||
|
output_voltage="12V",
|
||||||
|
max_current="1A")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use LiPo charger:**
|
||||||
|
```python
|
||||||
|
lipo_charger(vin, vbat, gnd,
|
||||||
|
charge_current="500mA")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use resistor divider:**
|
||||||
|
```python
|
||||||
|
resistor_divider(vin, vout, gnd,
|
||||||
|
ratio=0.5) # 50% division
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use thermistor:**
|
||||||
|
```python
|
||||||
|
thermistor(vcc, adc_out, gnd,
|
||||||
|
thermistor_type="NTC 10k")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Hierarchical Design
|
||||||
|
|
||||||
|
**Define subcircuit:**
|
||||||
|
```python
|
||||||
|
@circuit(name="MCU_Core")
|
||||||
|
def mcu_core(vcc, gnd, tx, rx):
|
||||||
|
"""Microcontroller subcircuit"""
|
||||||
|
mcu = Component(
|
||||||
|
symbol="MCU_ST_STM32F1:STM32F103C8Tx",
|
||||||
|
ref="U",
|
||||||
|
value="STM32F103C8T6",
|
||||||
|
footprint="Package_QFP:LQFP-48_7x7mm_P0.5mm"
|
||||||
|
)
|
||||||
|
|
||||||
|
mcu["VDD"] += vcc
|
||||||
|
mcu["VSS"] += gnd
|
||||||
|
mcu["PA9"] += tx
|
||||||
|
mcu["PA10"] += rx
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use in main circuit:**
|
||||||
|
```python
|
||||||
|
@circuit(name="MainBoard")
|
||||||
|
def main_board():
|
||||||
|
vcc = Net('VCC_3V3')
|
||||||
|
gnd = Net('GND')
|
||||||
|
uart_tx = Net('UART_TX')
|
||||||
|
uart_rx = Net('UART_RX')
|
||||||
|
|
||||||
|
# Use subcircuit
|
||||||
|
mcu_core(vcc, gnd, uart_tx, uart_rx)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Manufacturing Outputs
|
||||||
|
|
||||||
|
**Generate BOM:**
|
||||||
|
```python
|
||||||
|
from circuit_synth import generate_bom
|
||||||
|
|
||||||
|
generate_bom(project_name="my_board")
|
||||||
|
# Output: my_board.csv
|
||||||
|
```
|
||||||
|
|
||||||
|
**Generate Gerbers:**
|
||||||
|
```python
|
||||||
|
from circuit_synth import generate_gerbers
|
||||||
|
|
||||||
|
generate_gerbers(project_name="my_board")
|
||||||
|
# Output: my_board/gerbers/ directory
|
||||||
|
```
|
||||||
|
|
||||||
|
**Generate PDF Schematic:**
|
||||||
|
```python
|
||||||
|
from circuit_synth import generate_pdf_schematic
|
||||||
|
|
||||||
|
generate_pdf_schematic(project_name="my_board")
|
||||||
|
# Output: my_board.pdf
|
||||||
|
```
|
||||||
|
|
||||||
|
**Generate JSON Netlist:**
|
||||||
|
```python
|
||||||
|
from circuit_synth import generate_json_netlist
|
||||||
|
|
||||||
|
generate_json_netlist(project_name="my_board")
|
||||||
|
# Output: my_board.net.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**Complete manufacturing script:**
|
||||||
|
```python
|
||||||
|
if __name__ == "__main__":
|
||||||
|
my_circuit()
|
||||||
|
|
||||||
|
# Generate all outputs
|
||||||
|
project = "MyBoard"
|
||||||
|
|
||||||
|
generate_bom(project_name=project)
|
||||||
|
generate_gerbers(project_name=project)
|
||||||
|
generate_pdf_schematic(project_name=project)
|
||||||
|
|
||||||
|
print(f"Manufacturing files ready in {project}/")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Footprints
|
||||||
|
|
||||||
|
| Component | Package | Footprint Path |
|
||||||
|
|-----------|---------|----------------|
|
||||||
|
| Resistor 0805 | 2012 Metric | `Resistor_SMD:R_0805_2012Metric` |
|
||||||
|
| Resistor 0603 | 1608 Metric | `Resistor_SMD:R_0603_1608Metric` |
|
||||||
|
| Resistor 0402 | 1005 Metric | `Resistor_SMD:R_0402_1005Metric` |
|
||||||
|
| Capacitor 0805 | 2012 Metric | `Capacitor_SMD:C_0805_2012Metric` |
|
||||||
|
| Capacitor 0603 | 1608 Metric | `Capacitor_SMD:C_0603_1608Metric` |
|
||||||
|
| Capacitor 0402 | 1005 Metric | `Capacitor_SMD:C_0402_1005Metric` |
|
||||||
|
| LED 0805 | 2012 Metric | `LED_SMD:LED_0805_2012Metric` |
|
||||||
|
| LED 0603 | 1608 Metric | `LED_SMD:LED_0603_1608Metric` |
|
||||||
|
| SOT-23 | SOT-23 | `Package_TO_SOT_SMD:SOT-23` |
|
||||||
|
| SOT-23-5 | SOT-23-5 | `Package_TO_SOT_SMD:SOT-23-5` |
|
||||||
|
| SOT-223 | SOT-223 | `Package_TO_SOT_SMD:SOT-223-3_TabPin2` |
|
||||||
|
| TSSOP-20 | TSSOP-20 | `Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm` |
|
||||||
|
| QFP-48 | LQFP-48 | `Package_QFP:LQFP-48_7x7mm_P0.5mm` |
|
||||||
|
| QFP-64 | LQFP-64 | `Package_QFP:LQFP-64_10x10mm_P0.5mm` |
|
||||||
|
| DIP-8 | DIP-8 | `Package_DIP:DIP-8_W7.62mm` |
|
||||||
|
| DIP-14 | DIP-14 | `Package_DIP:DIP-14_W7.62mm` |
|
||||||
|
| DIP-16 | DIP-16 | `Package_DIP:DIP-16_W7.62mm` |
|
||||||
|
| DIP-20 | DIP-20 | `Package_DIP:DIP-20_W7.62mm` |
|
||||||
|
|
||||||
|
## Symbol Libraries
|
||||||
|
|
||||||
|
| Component Type | Library Name |
|
||||||
|
|----------------|--------------|
|
||||||
|
| Resistor, Capacitor, LED | `Device` |
|
||||||
|
| Linear regulators | `Regulator_Linear` |
|
||||||
|
| Switching regulators | `Regulator_Switching` |
|
||||||
|
| STM32 MCUs | `MCU_ST_STM32F1`, `MCU_ST_STM32F4`, etc. |
|
||||||
|
| Generic connectors | `Connector_Generic` |
|
||||||
|
| USB connectors | `Connector` |
|
||||||
|
| RF modules (ESP32) | `RF_Module` |
|
||||||
|
| Logic gates | `74xx` |
|
||||||
|
| Op-amps | `Amplifier_Operational` |
|
||||||
|
| Transistors | `Device` |
|
||||||
|
| Diodes | `Device` or `Diode` |
|
||||||
|
|
||||||
|
## Workflow Cheat Sheet
|
||||||
|
|
||||||
|
### Create New Project
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run cs-new-project my_project
|
||||||
|
cd my_project
|
||||||
|
uv run python circuit-synth/main.py
|
||||||
|
kicad my_project.kicad_pro
|
||||||
|
```
|
||||||
|
|
||||||
|
### Generate Circuit from Description
|
||||||
|
|
||||||
|
1. Parse requirements (components, specs)
|
||||||
|
2. Search components: `jlc-fast search "part description"`
|
||||||
|
3. Write Python circuit definition
|
||||||
|
4. Run: `python circuit-synth/main.py`
|
||||||
|
5. Review in KiCad
|
||||||
|
|
||||||
|
### Convert Documentation to Circuit
|
||||||
|
|
||||||
|
1. Find docs: `glob **/*PINOUT*.md`
|
||||||
|
2. Read files: `read BOARD_PINOUTS.md`
|
||||||
|
3. Extract: IC list, connections, nets
|
||||||
|
4. Write Python with Component() and Net()
|
||||||
|
5. Map connections from tables
|
||||||
|
6. Generate and verify
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
| Error | Cause | Solution |
|
||||||
|
|-------|-------|----------|
|
||||||
|
| `ModuleNotFoundError: circuit_synth` | Not installed | `uv add circuit-synth` or `pip install circuit-synth` |
|
||||||
|
| `Command not found: cs-new-project` | Not in PATH | Use `python -m circuit_synth.cli.new_project` |
|
||||||
|
| `Symbol not found: XYZ` | Invalid KiCad symbol | Use `/find-symbol` or check library:name format |
|
||||||
|
| `Pin name 'ABC' not found` | Wrong pin name | Check datasheet, verify symbol pinout |
|
||||||
|
| `Python version too old` | Python < 3.12 | Upgrade Python to 3.12+ |
|
||||||
|
| `Net conflict: multiple drivers` | Incorrect connections | Review netlist, check for shorts |
|
||||||
|
| Missing footprint | Not specified | Add `footprint=` parameter to Component() |
|
||||||
|
|
||||||
|
## Common Symbols
|
||||||
|
|
||||||
|
| Component | Symbol Path |
|
||||||
|
|-----------|-------------|
|
||||||
|
| Resistor | `Device:R` |
|
||||||
|
| Capacitor | `Device:C` |
|
||||||
|
| LED | `Device:LED` |
|
||||||
|
| Transistor NPN | `Device:Q_NPN_BCE` |
|
||||||
|
| Transistor PNP | `Device:Q_PNP_BCE` |
|
||||||
|
| Diode | `Device:D` |
|
||||||
|
| Schottky Diode | `Device:D_Schottky` |
|
||||||
|
| Zener Diode | `Device:D_Zener` |
|
||||||
|
| LDO (AMS1117) | `Regulator_Linear:AMS1117-3.3` |
|
||||||
|
| Buck Converter (LM2596) | `Regulator_Switching:LM2596` |
|
||||||
|
| Op-Amp (LM358) | `Amplifier_Operational:LM358` |
|
||||||
|
| USB Type-C | `Connector:USB_C_Receptacle_USB2.0` |
|
||||||
|
| Pin Header 1x4 | `Connector_Generic:Conn_01x04` |
|
||||||
|
| UART (generic) | `Interface_UART:MAX232` |
|
||||||
|
|
||||||
|
## Example: Complete LED Circuit
|
||||||
|
|
||||||
|
```python
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="LED_Circuit")
|
||||||
|
def led_circuit():
|
||||||
|
"""Simple LED with current limiting resistor"""
|
||||||
|
|
||||||
|
# Define nets
|
||||||
|
vcc = Net('VCC_5V')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
# LED
|
||||||
|
led = Component(
|
||||||
|
symbol="Device:LED",
|
||||||
|
ref="D",
|
||||||
|
value="Red",
|
||||||
|
footprint="LED_SMD:LED_0805_2012Metric",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C2286" # Example JLCPCB part
|
||||||
|
)
|
||||||
|
|
||||||
|
# Current limiting resistor
|
||||||
|
# 5V - 2V (LED drop) = 3V
|
||||||
|
# 3V / 10mA = 300Ω, use 330Ω
|
||||||
|
resistor = Component(
|
||||||
|
symbol="Device:R",
|
||||||
|
ref="R",
|
||||||
|
value="330R",
|
||||||
|
footprint="Resistor_SMD:R_0805_2012Metric",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C17630"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Connect
|
||||||
|
resistor[1] += vcc
|
||||||
|
resistor[2] += led["A"] # Anode
|
||||||
|
led["K"] += gnd # Cathode
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
led_circuit()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example: Power Supply
|
||||||
|
|
||||||
|
```python
|
||||||
|
from circuit_synth import circuit, Component, Net
|
||||||
|
|
||||||
|
@circuit(name="Power_Supply_3V3")
|
||||||
|
def power_supply():
|
||||||
|
"""3.3V LDO regulator with input/output caps"""
|
||||||
|
|
||||||
|
# Nets
|
||||||
|
vin = Net('VIN_5V')
|
||||||
|
vout = Net('VOUT_3V3')
|
||||||
|
gnd = Net('GND')
|
||||||
|
|
||||||
|
# LDO Regulator
|
||||||
|
reg = Component(
|
||||||
|
symbol="Regulator_Linear:AMS1117-3.3",
|
||||||
|
ref="U",
|
||||||
|
value="AMS1117-3.3",
|
||||||
|
footprint="Package_TO_SOT_SMD:SOT-223-3_TabPin2",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C6186"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Input capacitor (10uF)
|
||||||
|
cin = Component(
|
||||||
|
symbol="Device:C",
|
||||||
|
ref="C",
|
||||||
|
value="10uF",
|
||||||
|
footprint="Capacitor_SMD:C_0805_2012Metric",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C15850"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Output capacitor (22uF)
|
||||||
|
cout = Component(
|
||||||
|
symbol="Device:C",
|
||||||
|
ref="C",
|
||||||
|
value="22uF",
|
||||||
|
footprint="Capacitor_SMD:C_0805_2012Metric",
|
||||||
|
supplier="JLCPCB",
|
||||||
|
supplier_pn="C45783"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Connect regulator
|
||||||
|
reg["VI"] += vin
|
||||||
|
reg["VO"] += vout
|
||||||
|
reg["GND"] += gnd
|
||||||
|
|
||||||
|
# Connect capacitors
|
||||||
|
cin[1] += vin
|
||||||
|
cin[2] += gnd
|
||||||
|
|
||||||
|
cout[1] += vout
|
||||||
|
cout[2] += gnd
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
power_supply()
|
||||||
|
|
||||||
|
# Generate outputs
|
||||||
|
from circuit_synth import generate_bom, generate_pdf_schematic
|
||||||
|
|
||||||
|
generate_bom(project_name="Power_Supply_3V3")
|
||||||
|
generate_pdf_schematic(project_name="Power_Supply_3V3")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tips
|
||||||
|
|
||||||
|
|
||||||
|
1. **Use meaningful net names**
|
||||||
|
- Good: `vcc_3v3`, `usb_dp`, `spi_mosi`
|
||||||
|
- Bad: `net1`, `sig`, `x`
|
||||||
|
|
||||||
|
2. **Break large circuits into subcircuits**
|
||||||
|
- Power supply
|
||||||
|
- MCU core
|
||||||
|
- Peripherals
|
||||||
|
- Communication interfaces
|
||||||
|
|
||||||
|
3. **Document assumptions in docstrings**
|
||||||
|
```python
|
||||||
|
@circuit(name="MyBoard")
|
||||||
|
def my_board():
|
||||||
|
"""
|
||||||
|
Main board circuit.
|
||||||
|
Assumes 5V USB input, generates 3.3V for logic.
|
||||||
|
Max current: 500mA from USB, 300mA available for logic.
|
||||||
|
"""
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Validate incrementally**
|
||||||
|
- Test simple circuits first
|
||||||
|
- Add complexity gradually
|
||||||
|
- Generate KiCad after each major addition
|
||||||
|
|
||||||
|
5. **Use patterns when possible**
|
||||||
|
- Pre-verified, manufacturing-ready
|
||||||
|
- Saves time and reduces errors
|
||||||
|
- Customize with parameters
|
||||||
|
|
||||||
|
6. **Cross-reference documentation**
|
||||||
|
- Link to datasheets in comments
|
||||||
|
- Reference source docs for reverse-engineered designs
|
||||||
|
- Keep Python code and docs in sync
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- **Documentation**: https://circuit-synth.readthedocs.io
|
||||||
|
- **GitHub**: https://github.com/circuit-synth/circuit-synth
|
||||||
|
- **KiCad Libraries**: https://kicad.github.io/symbols/
|
||||||
|
- **Component Search**: https://componentsearchengine.com/
|
||||||
390
mcpmarket-me/skills/pcb-layout/SKILL.md
Normal file
390
mcpmarket-me/skills/pcb-layout/SKILL.md
Normal file
@ -0,0 +1,390 @@
|
|||||||
|
---
|
||||||
|
name: pcb-layout
|
||||||
|
description: |
|
||||||
|
Use when placing footprints on a PCB, routing traces, adding vias or copper zones, deciding trace widths, or planning board layout strategy. Also use when the user asks about PCB stackup, ground planes, trace spacing, or component placement on a board.
|
||||||
|
metadata:
|
||||||
|
mcpmarket-version: 1.0.0
|
||||||
|
---
|
||||||
|
<CRITICAL-RULE>
|
||||||
|
NEVER use the Read, Write, or Edit tools on KiCad files (.kicad_sch,
|
||||||
|
.kicad_pcb, .kicad_sym, .kicad_mod, .kicad_pro, .kicad_prl). ALL
|
||||||
|
KiCad file manipulation MUST go through the kicad MCP tools. NEVER
|
||||||
|
run kicad-cli commands via Bash. If an MCP tool returns an error, try
|
||||||
|
different parameters — do NOT fall back to manual file editing.
|
||||||
|
|
||||||
|
EVERY KiCad operation has a corresponding MCP tool. Do NOT claim a
|
||||||
|
tool does not exist without first listing all available tools. Key
|
||||||
|
tools that MUST be used instead of file writes:
|
||||||
|
- `add_symbol` — create custom symbol definitions in .kicad_sym files
|
||||||
|
- `create_symbol_library` — create new .kicad_sym library files
|
||||||
|
- `create_schematic` — create new .kicad_sch files
|
||||||
|
- `create_project` — create new .kicad_pro project files
|
||||||
|
If you find yourself thinking "there's no MCP tool for this," you are
|
||||||
|
wrong. Check the tool list again.
|
||||||
|
</CRITICAL-RULE>
|
||||||
|
|
||||||
|
# KiCad PCB Layout
|
||||||
|
|
||||||
|
Place footprints and route traces to produce a manufacturable board.
|
||||||
|
This skill assumes you have a completed schematic with a netlist.
|
||||||
|
|
||||||
|
## Response Format
|
||||||
|
|
||||||
|
When this skill activates, print exactly:
|
||||||
|
|
||||||
|
> Using pcb-layout to place footprints and route traces.
|
||||||
|
|
||||||
|
Then proceed directly to the Pre-flight Checks. This is a mechanical
|
||||||
|
execution phase — do not ask the user what to do unless board size or
|
||||||
|
layer count is ambiguous and not specified in `specs/bom.md`.
|
||||||
|
|
||||||
|
Report progress at natural milestones: after footprint placement,
|
||||||
|
after critical trace routing, after autoroute, after post-route
|
||||||
|
refinement. Keep status updates to one line each.
|
||||||
|
|
||||||
|
## MCP Tools for This Skill
|
||||||
|
|
||||||
|
These are the kicad MCP tools you should be using during PCB layout:
|
||||||
|
|
||||||
|
**Reading / inspection:**
|
||||||
|
- `list_pcb_footprints` — list footprints on the board
|
||||||
|
- `list_pcb_traces` — list traces on the board
|
||||||
|
- `list_pcb_nets` — list nets on the board
|
||||||
|
- `list_pcb_zones` — list zones on the board
|
||||||
|
- `list_pcb_layers` — list layers on the board
|
||||||
|
- `list_pcb_graphic_items` — list graphic items on the board
|
||||||
|
- `get_board_info` — get board outline, layer count, design rules
|
||||||
|
- `get_footprint_pads` — get pad positions and net assignments
|
||||||
|
- `get_footprint_bounds` — get board-coordinate bounding box of a placed footprint
|
||||||
|
- `check_placement` — check if placing a footprint at (x, y) violates keepout or board edge
|
||||||
|
|
||||||
|
**Placing and moving footprints:**
|
||||||
|
- `place_footprint` — place a footprint on the board
|
||||||
|
- `move_footprint` — reposition a placed footprint (warns on keepout/edge violations)
|
||||||
|
- `remove_footprint` — delete a placed footprint
|
||||||
|
|
||||||
|
**Routing:**
|
||||||
|
- `add_trace` — add a trace segment with layer, width, coordinates
|
||||||
|
- `add_via` — add a via at a coordinate
|
||||||
|
- `autoroute_pcb` — run Freerouting autorouter (requires Java 17+, auto-downloads JAR)
|
||||||
|
|
||||||
|
**Post-routing refinement:**
|
||||||
|
- `add_copper_zone` — create a copper zone (ground plane, power fill) with polygon outline
|
||||||
|
- `add_keepout_zone` — create a keep-out zone restricting tracks, vias, pads, copper pour, or footprints
|
||||||
|
- `fill_zones` — compute copper fills for all zones (requires pcbnew)
|
||||||
|
- `set_trace_width` — change width of existing traces by net, layer, or region
|
||||||
|
- `add_thermal_vias` — add a via array under a footprint pad (QFN thermal pads)
|
||||||
|
- `remove_traces` — delete traces by net, layer, or region
|
||||||
|
- `set_net_class` — create/update net classes with design rules (requires pcbnew)
|
||||||
|
- `remove_dangling_tracks` — clean up unconnected trace stubs
|
||||||
|
|
||||||
|
**Drawing and annotation:**
|
||||||
|
- `add_pcb_text` — add silkscreen text or other layer text
|
||||||
|
- `add_pcb_line` — draw lines (board outline on Edge.Cuts, etc.)
|
||||||
|
|
||||||
|
**Verification and export:**
|
||||||
|
- `run_drc` — run design rules check
|
||||||
|
- `export_pcb` — export PCB as PDF/SVG
|
||||||
|
- `export_gerbers` — export Gerber manufacturing files
|
||||||
|
- `export_3d` — export 3D model (STEP/VRML)
|
||||||
|
- `export_positions` — export pick-and-place file
|
||||||
|
- `export_ipc2581` — export IPC-2581 data
|
||||||
|
- `export_hierarchical_netlist` — use instead of standard netlist export
|
||||||
|
for hierarchical designs with sub-sheets
|
||||||
|
|
||||||
|
**Footprint libraries:**
|
||||||
|
- `list_lib_footprints` — browse .pretty library directories
|
||||||
|
- `get_footprint_info` — check pad dimensions and pin mapping
|
||||||
|
|
||||||
|
## Pre-flight Checks
|
||||||
|
|
||||||
|
Before starting PCB layout, verify these prerequisites:
|
||||||
|
|
||||||
|
1. **ERC gate cleared:** Run `run_erc` and confirm `violation_count = 0`.
|
||||||
|
If ERC has not been run or has violations, STOP and invoke the
|
||||||
|
verification skill first.
|
||||||
|
2. **Annotation check:** Run `validate_hierarchy` on the root schematic.
|
||||||
|
Netlist import fails if references contain `?` or have duplicates
|
||||||
|
across sheets. Fix with `annotate_schematic` (pass `project_path`
|
||||||
|
for hierarchical designs) before proceeding.
|
||||||
|
3. **Footprint verification:** For each schematic component, call
|
||||||
|
`list_lib_footprints` to verify the assigned footprint exists.
|
||||||
|
4. **BOM cross-reference:** If `specs/bom.md` exists, cross-reference
|
||||||
|
footprints against the BOM's footprint column.
|
||||||
|
5. **Board size constraints:** Check board size from BOM artifact (if
|
||||||
|
present) and configure board outline accordingly.
|
||||||
|
6. **IPC design class:** If BOM specifies IPC design class, configure
|
||||||
|
design rules (trace width, spacing, annular ring) to match class
|
||||||
|
requirements:
|
||||||
|
- Class 1 (consumer): relaxed tolerances
|
||||||
|
- Class 2 (industrial): standard tolerances (default)
|
||||||
|
- Class 3 (high-rel): tightest tolerances
|
||||||
|
|
||||||
|
## Layout Process
|
||||||
|
|
||||||
|
1. **Board setup** — define board outline, layer count, design rules.
|
||||||
|
2. **Import netlist** — footprints appear in a cluster; all nets defined.
|
||||||
|
3. **Place footprints** — group by function, then optimize.
|
||||||
|
4. **Route critical traces** — power, high-speed, sensitive analog.
|
||||||
|
5. **Route remaining traces** — signal interconnects (or use `autoroute_pcb`).
|
||||||
|
6. **Post-route refinement** — review and improve routing quality:
|
||||||
|
a. Set net classes for power nets: `set_net_class` (e.g., "Power" class with 0.5mm+ width)
|
||||||
|
b. Widen power traces: `set_trace_width` on power nets (VIN, VOUT, SW, GND paths)
|
||||||
|
c. Add thermal vias: `add_thermal_vias` under QFN/exposed pads
|
||||||
|
d. Clean up: `remove_dangling_tracks` to remove autorouter stubs
|
||||||
|
e. Remove and re-route if needed: `remove_traces` + `add_trace` for problem areas
|
||||||
|
7. **Add copper zones** — `add_copper_zone` for ground planes on both layers, then `fill_zones`.
|
||||||
|
8. **Run DRC** — fix violations, re-run until clean.
|
||||||
|
9. **Export** — Gerbers, drill files, pick-and-place, BOM.
|
||||||
|
|
||||||
|
## Footprint Placement Strategy
|
||||||
|
|
||||||
|
**Group by functional stage** — keep components from each schematic
|
||||||
|
stage physically together. The schematic's block diagram maps directly
|
||||||
|
to PCB placement regions.
|
||||||
|
|
||||||
|
**Placement priority order:**
|
||||||
|
1. Connectors — fixed by mechanical constraints (edge of board)
|
||||||
|
2. ICs / active components — central to their stage
|
||||||
|
3. Decoupling caps — as close as possible to IC power pins (< 3mm)
|
||||||
|
4. Input/output passives — near their IC, following signal flow
|
||||||
|
5. Bulk caps and inductors — near but not blocking routing channels
|
||||||
|
6. Test points, mounting holes — last, fill remaining space
|
||||||
|
|
||||||
|
**Orientation conventions:**
|
||||||
|
- Align ICs with pin 1 in a consistent corner (top-left preferred)
|
||||||
|
- Polarized caps: positive toward the supply side
|
||||||
|
- Diodes: cathode band facing consistent direction per stage
|
||||||
|
- Connectors: mating face toward board edge
|
||||||
|
|
||||||
|
**Spacing minimums:**
|
||||||
|
- IC to decoupling cap: < 3mm center-to-center
|
||||||
|
- Between 0805 passives: 1.0mm edge-to-edge minimum (1.5mm comfort)
|
||||||
|
- Between ICs: 3–5mm edge-to-edge for routing channels
|
||||||
|
- Components to board edge: 1.0mm minimum (2.0mm for wave solder)
|
||||||
|
|
||||||
|
Use `place_footprint` with coordinates in mm. Use `move_footprint`
|
||||||
|
to adjust after initial placement. Use `get_footprint_pads` to check
|
||||||
|
pad locations before routing.
|
||||||
|
|
||||||
|
## Trace Routing
|
||||||
|
|
||||||
|
### Trace Width by Current
|
||||||
|
|
||||||
|
| Current (A) | Min width (mm) | Recommended (mm) | Notes |
|
||||||
|
|-------------|---------------|-------------------|-------|
|
||||||
|
| < 0.3 | 0.15 | 0.25 | Signal traces |
|
||||||
|
| 0.3–1.0 | 0.25 | 0.5 | Low power |
|
||||||
|
| 1.0–2.0 | 0.5 | 0.75 | Moderate power |
|
||||||
|
| 2.0–3.0 | 0.75 | 1.0 | Power traces |
|
||||||
|
| 3.0–5.0 | 1.0 | 1.5 | High current |
|
||||||
|
| > 5.0 | Calculate | Calculate | Use IPC-2152 |
|
||||||
|
|
||||||
|
These assume 1oz (35um) copper, 10C rise, outer layer. Inner layers
|
||||||
|
need ~2x width for the same current.
|
||||||
|
|
||||||
|
### Routing Rules
|
||||||
|
|
||||||
|
**Power traces first:**
|
||||||
|
- Route VIN, VOUT, and GND connections before signal traces.
|
||||||
|
- Use the widest trace the space allows, not the minimum.
|
||||||
|
- Keep power loops tight — short, wide traces from regulator input
|
||||||
|
cap through the IC to the output cap.
|
||||||
|
|
||||||
|
**Signal traces:**
|
||||||
|
- Default 0.25mm width for logic signals.
|
||||||
|
- Keep parallel runs short to minimize crosstalk.
|
||||||
|
- Route differential pairs together with matched length.
|
||||||
|
- Avoid 90-degree corners — use 45-degree bends or arcs.
|
||||||
|
|
||||||
|
**Return paths:**
|
||||||
|
- Every signal needs a return path. On a 2-layer board, route GND
|
||||||
|
traces alongside signal traces.
|
||||||
|
- On 4+ layer boards, use a continuous ground plane — do not split it
|
||||||
|
under signal traces.
|
||||||
|
|
||||||
|
**Sensitive traces:**
|
||||||
|
- Analog inputs: guard ring or ground trace on both sides.
|
||||||
|
- High-impedance nodes: minimize trace length, keep away from
|
||||||
|
switching signals.
|
||||||
|
- Clock/PWM lines: route away from analog sections.
|
||||||
|
|
||||||
|
Use `add_trace` with layer, width, and coordinate list. Use `add_via`
|
||||||
|
to transition between layers.
|
||||||
|
|
||||||
|
### Via Usage
|
||||||
|
|
||||||
|
- **Signal vias:** 0.3mm drill / 0.6mm annular ring (default)
|
||||||
|
- **Power vias:** 0.4mm drill / 0.8mm annular ring, use multiple
|
||||||
|
vias in parallel for high current (one via ≈ 1A for 1oz copper)
|
||||||
|
- **Thermal vias:** under thermal pads, 0.3mm drill, array of 4–9
|
||||||
|
vias connecting to ground plane
|
||||||
|
- Place vias close to pads, not in the middle of trace runs
|
||||||
|
|
||||||
|
## Post-Autoroute Refinement
|
||||||
|
|
||||||
|
After using `autoroute_pcb`, the board has connectivity but needs refinement
|
||||||
|
before it's manufacturing-ready. The autorouter uses minimum-width traces for
|
||||||
|
everything and has no concept of power integrity or thermal design.
|
||||||
|
|
||||||
|
**Step 1: Define net classes**
|
||||||
|
|
||||||
|
Use `set_net_class` to establish design rules for power nets:
|
||||||
|
- Create a "Power" class with `track_width=0.5` (or wider per current table)
|
||||||
|
for VIN, VOUT, and other power rails.
|
||||||
|
- Create a "HighCurrent" class with `track_width=1.0` for switch nodes (SW)
|
||||||
|
and high-current ground paths.
|
||||||
|
|
||||||
|
**Step 2: Widen power traces**
|
||||||
|
|
||||||
|
Use `set_trace_width` to bring power traces up to their net class width:
|
||||||
|
- `set_trace_width(width=0.5, net_name="VIN")`
|
||||||
|
- `set_trace_width(width=1.0, net_name="SW")`
|
||||||
|
- For ground nets routed as traces (before zone fill): widen to 0.5mm+
|
||||||
|
|
||||||
|
**Step 3: Add thermal vias**
|
||||||
|
|
||||||
|
Use `add_thermal_vias` for any QFN or exposed-pad IC:
|
||||||
|
- `add_thermal_vias(reference="U1", rows=3, cols=3, spacing=1.0, via_drill=0.3)`
|
||||||
|
- Thermal vias connect the exposed pad to the ground plane on the opposite
|
||||||
|
layer for heat dissipation.
|
||||||
|
|
||||||
|
**Step 4: Clean up**
|
||||||
|
|
||||||
|
Use `remove_dangling_tracks` to remove autorouter stubs — trace ends that
|
||||||
|
connect to nothing. These are cosmetic but will show as DRC warnings.
|
||||||
|
|
||||||
|
If any trace routing is unsatisfactory, use `remove_traces` to delete traces
|
||||||
|
on a specific net, then re-route manually with `add_trace`.
|
||||||
|
|
||||||
|
**Step 5: Add copper zones**
|
||||||
|
|
||||||
|
Use `add_copper_zone` on both layers:
|
||||||
|
- Ground fill on F.Cu and B.Cu (2-layer) or dedicated ground plane on In1.Cu (4-layer)
|
||||||
|
- Set clearance to match design rules (typically 0.3–0.5mm)
|
||||||
|
- Then call `fill_zones` to compute the actual copper fill
|
||||||
|
|
||||||
|
**Step 6: Final DRC**
|
||||||
|
|
||||||
|
Run `run_drc` and fix any remaining violations. Common post-refinement issues:
|
||||||
|
- Clearance violations from widened traces — may need to re-route nearby signals
|
||||||
|
- Zone fill islands — delete or connect them
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
|
||||||
|
**IMPORTANT: Use TodoWrite to create todos for EACH checklist item below.**
|
||||||
|
|
||||||
|
- [ ] Pre-flight: verify ERC = 0 violations
|
||||||
|
- [ ] Pre-flight: run `validate_hierarchy` — no unannotated/duplicate refs
|
||||||
|
- [ ] Pre-flight: verify all footprints exist
|
||||||
|
- [ ] Define board outline and design rules
|
||||||
|
- [ ] Place footprints by functional group
|
||||||
|
- [ ] Route critical traces (power, high-speed)
|
||||||
|
- [ ] Route remaining traces (or autoroute)
|
||||||
|
- [ ] Post-route: define net classes for power nets
|
||||||
|
- [ ] Post-route: widen power traces
|
||||||
|
- [ ] Post-route: add thermal vias for QFN/exposed pads
|
||||||
|
- [ ] Post-route: clean up dangling tracks
|
||||||
|
- [ ] Add copper zones (ground planes)
|
||||||
|
- [ ] Run DRC — must show zero violations
|
||||||
|
|
||||||
|
## Layer Stack
|
||||||
|
|
||||||
|
**2-layer board (default for simple designs):**
|
||||||
|
- F.Cu: signal and power traces
|
||||||
|
- B.Cu: ground fill + remaining traces
|
||||||
|
- Route most signals on top, use bottom for crossings
|
||||||
|
|
||||||
|
**4-layer board (for complex or noise-sensitive designs):**
|
||||||
|
- F.Cu: signal + power
|
||||||
|
- In1.Cu: ground plane (continuous, no splits)
|
||||||
|
- In2.Cu: power plane
|
||||||
|
- B.Cu: signal + power
|
||||||
|
|
||||||
|
Rule of thumb: if the design has > 1 switching regulator, > 20 ICs,
|
||||||
|
or any signal > 10MHz, use 4 layers.
|
||||||
|
|
||||||
|
## Copper Zones (Ground Planes)
|
||||||
|
|
||||||
|
- Add a ground zone on B.Cu for 2-layer boards, on In1.Cu for 4-layer.
|
||||||
|
- Zone clearance: 0.3mm (match design rules).
|
||||||
|
- Thermal relief on pads: 0.5mm spoke width, 4 spokes.
|
||||||
|
- Remove isolated copper islands (DRC will flag these).
|
||||||
|
- On 2-layer boards, add ground zone on F.Cu as well in unused areas
|
||||||
|
to improve shielding and reduce etching.
|
||||||
|
|
||||||
|
## Silkscreen and Fabrication
|
||||||
|
|
||||||
|
- Reference designators: 1.0mm height, 0.15mm line width minimum.
|
||||||
|
- Move refdes out of pad areas — readability over density.
|
||||||
|
- Add board name, version, date on silkscreen.
|
||||||
|
- Add polarity marks near polarized components if not in footprint.
|
||||||
|
- Add pin-1 indicators near IC footprints if ambiguous.
|
||||||
|
|
||||||
|
Use `add_pcb_text` for silkscreen annotations. Use `add_pcb_line`
|
||||||
|
for board outline on Edge.Cuts layer.
|
||||||
|
|
||||||
|
## Design Rule Defaults
|
||||||
|
|
||||||
|
Standard 2-layer PCB fab capabilities (most manufacturers):
|
||||||
|
|
||||||
|
| Parameter | Minimum | Recommended |
|
||||||
|
|-----------|---------|-------------|
|
||||||
|
| Trace width | 0.15mm | 0.25mm |
|
||||||
|
| Trace spacing | 0.15mm | 0.2mm |
|
||||||
|
| Via drill | 0.3mm | 0.3mm |
|
||||||
|
| Via annular ring | 0.15mm | 0.2mm |
|
||||||
|
| Pad to pad | 0.2mm | 0.25mm |
|
||||||
|
| Copper to edge | 0.3mm | 0.5mm |
|
||||||
|
|
||||||
|
## DRC and Export
|
||||||
|
|
||||||
|
After routing is complete:
|
||||||
|
|
||||||
|
1. Run `run_drc` — fix all violations before exporting.
|
||||||
|
2. Common DRC errors:
|
||||||
|
- **Clearance violation** — move trace or via, increase spacing.
|
||||||
|
- **Unconnected net** — route the missing connection.
|
||||||
|
- **Copper zone island** — delete the isolated island or connect it.
|
||||||
|
3. When DRC is clean, export:
|
||||||
|
- `export_gerbers` — full Gerber set for manufacturing
|
||||||
|
- `export_positions` — pick-and-place file for assembly
|
||||||
|
- `export_3d` — 3D model for mechanical fit check
|
||||||
|
|
||||||
|
**Full export deliverables (post-DRC):**
|
||||||
|
- Gerber set (copper layers, mask, silkscreen, drill, board outline)
|
||||||
|
- Drill files
|
||||||
|
- BOM export
|
||||||
|
- Pick-and-place file
|
||||||
|
- 3D model (STEP) for mechanical review
|
||||||
|
- Fabrication notes: layer stack, copper weight, finish, IPC class,
|
||||||
|
solder mask color
|
||||||
|
- Assembly drawing
|
||||||
|
|
||||||
|
**Post-export verification:** Confirm Gerber layer count matches
|
||||||
|
design, BOM export matches schematic BOM.
|
||||||
|
|
||||||
|
## Verifying Footprints in KiCad Libraries
|
||||||
|
|
||||||
|
Use `list_lib_footprints` on .pretty directories to browse available
|
||||||
|
footprints. Common libraries:
|
||||||
|
|
||||||
|
- `Resistor_SMD.pretty` — 0402, 0603, 0805, 1206, etc.
|
||||||
|
- `Capacitor_SMD.pretty` — ceramic SMD caps
|
||||||
|
- `Capacitor_THT.pretty` — electrolytic, film through-hole
|
||||||
|
- `Package_TO_SOT_SMD.pretty` — SOT-23, SOT-223, TO-263, etc.
|
||||||
|
- `Package_SO.pretty` — SOIC, SSOP, TSSOP
|
||||||
|
- `Package_QFP.pretty` — QFP, LQFP, TQFP
|
||||||
|
- `Connector_PinHeader_2.54mm.pretty` — standard pin headers
|
||||||
|
- `Diode_SMD.pretty` — SMD diodes
|
||||||
|
- `Inductor_SMD.pretty` — SMD inductors
|
||||||
|
|
||||||
|
Use `get_footprint_info` to check pad dimensions and spacing before
|
||||||
|
committing to a footprint.
|
||||||
|
|
||||||
|
## Extensibility
|
||||||
|
|
||||||
|
For complex boards (>30 components, 4+ layers, high-speed signals),
|
||||||
|
consider creating a `pcb-plan` artifact following the same pattern as
|
||||||
|
`schematic-plan`. For simpler boards, pre-flight checks and existing
|
||||||
|
placement strategy are sufficient.
|
||||||
BIN
mcpmarket-plugin-me.zip
Normal file
BIN
mcpmarket-plugin-me.zip
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user