1ae49dc1bb
- Update PCB to 8HP format (40x100mm) with v2 component placement - Add automated routing scripts (autoroute.py runs full pipeline headlessly) - Update panel spec and SVG for 8HP dimensions - Board routes in <1 second with 0 unconnected pads Scripts: - autoroute.py: Full CLI pipeline (place → export → route → import → DRC) - autoroute_full.py: Same pipeline for KiCad scripting console - place_8hp.py: Component placement only - route.sh/freeroute.sh: Routing helpers
274 lines
4.3 KiB
Plaintext
274 lines
4.3 KiB
Plaintext
(footprint "RP2040-Zero"
|
|
(version 20241229)
|
|
(generator "pcbnew")
|
|
(layer "F.Cu")
|
|
(descr "Waveshare RP2040-Zero module, 2x9 pin headers, 2.54mm pitch")
|
|
(tags "RP2040 Pico Zero Waveshare")
|
|
(property "Reference" "MOD"
|
|
(at 0 -13 0)
|
|
(layer "F.SilkS")
|
|
(effects
|
|
(font
|
|
(size 1 1)
|
|
(thickness 0.15)
|
|
)
|
|
)
|
|
)
|
|
(property "Value" "RP2040-Zero"
|
|
(at 0 13 0)
|
|
(layer "F.Fab")
|
|
(effects
|
|
(font
|
|
(size 1 1)
|
|
(thickness 0.15)
|
|
)
|
|
)
|
|
)
|
|
(attr through_hole)
|
|
(fp_line
|
|
(start -9.5 -12.25)
|
|
(end 9.5 -12.25)
|
|
(stroke
|
|
(width 0.12)
|
|
(type solid)
|
|
)
|
|
(layer "F.SilkS")
|
|
)
|
|
(fp_line
|
|
(start 9.5 -12.25)
|
|
(end 9.5 12.25)
|
|
(stroke
|
|
(width 0.12)
|
|
(type solid)
|
|
)
|
|
(layer "F.SilkS")
|
|
)
|
|
(fp_line
|
|
(start 9.5 12.25)
|
|
(end -9.5 12.25)
|
|
(stroke
|
|
(width 0.12)
|
|
(type solid)
|
|
)
|
|
(layer "F.SilkS")
|
|
)
|
|
(fp_line
|
|
(start -9.5 12.25)
|
|
(end -9.5 -12.25)
|
|
(stroke
|
|
(width 0.12)
|
|
(type solid)
|
|
)
|
|
(layer "F.SilkS")
|
|
)
|
|
(fp_line
|
|
(start -10.5 -13)
|
|
(end 10.5 -13)
|
|
(stroke
|
|
(width 0.05)
|
|
(type solid)
|
|
)
|
|
(layer "F.CrtYd")
|
|
)
|
|
(fp_line
|
|
(start 10.5 -13)
|
|
(end 10.5 13)
|
|
(stroke
|
|
(width 0.05)
|
|
(type solid)
|
|
)
|
|
(layer "F.CrtYd")
|
|
)
|
|
(fp_line
|
|
(start 10.5 13)
|
|
(end -10.5 13)
|
|
(stroke
|
|
(width 0.05)
|
|
(type solid)
|
|
)
|
|
(layer "F.CrtYd")
|
|
)
|
|
(fp_line
|
|
(start -10.5 13)
|
|
(end -10.5 -13)
|
|
(stroke
|
|
(width 0.05)
|
|
(type solid)
|
|
)
|
|
(layer "F.CrtYd")
|
|
)
|
|
(fp_line
|
|
(start -9 -11.75)
|
|
(end 9 -11.75)
|
|
(stroke
|
|
(width 0.1)
|
|
(type solid)
|
|
)
|
|
(layer "F.Fab")
|
|
)
|
|
(fp_line
|
|
(start 9 -11.75)
|
|
(end 9 11.75)
|
|
(stroke
|
|
(width 0.1)
|
|
(type solid)
|
|
)
|
|
(layer "F.Fab")
|
|
)
|
|
(fp_line
|
|
(start 9 11.75)
|
|
(end -9 11.75)
|
|
(stroke
|
|
(width 0.1)
|
|
(type solid)
|
|
)
|
|
(layer "F.Fab")
|
|
)
|
|
(fp_line
|
|
(start -9 11.75)
|
|
(end -9 -11.75)
|
|
(stroke
|
|
(width 0.1)
|
|
(type solid)
|
|
)
|
|
(layer "F.Fab")
|
|
)
|
|
(fp_text user "${REFERENCE}"
|
|
(at 0 0 0)
|
|
(layer "F.Fab")
|
|
(effects
|
|
(font
|
|
(size 1 1)
|
|
(thickness 0.15)
|
|
)
|
|
)
|
|
)
|
|
(pad "1" thru_hole rect
|
|
(at -7.62 -10.16)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "2" thru_hole circle
|
|
(at -7.62 -7.62)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "3" thru_hole circle
|
|
(at -7.62 -5.08)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "4" thru_hole circle
|
|
(at -7.62 -2.54)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "5" thru_hole circle
|
|
(at -7.62 0)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "6" thru_hole circle
|
|
(at -7.62 2.54)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "7" thru_hole circle
|
|
(at -7.62 5.08)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "8" thru_hole circle
|
|
(at -7.62 7.62)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "9" thru_hole circle
|
|
(at -7.62 10.16)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "10" thru_hole circle
|
|
(at 7.62 -10.16)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "11" thru_hole circle
|
|
(at 7.62 -7.62)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "12" thru_hole circle
|
|
(at 7.62 -5.08)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "13" thru_hole circle
|
|
(at 7.62 -2.54)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "14" thru_hole circle
|
|
(at 7.62 0)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "15" thru_hole circle
|
|
(at 7.62 2.54)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "16" thru_hole circle
|
|
(at 7.62 5.08)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "17" thru_hole circle
|
|
(at 7.62 7.62)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(pad "18" thru_hole circle
|
|
(at 7.62 10.16)
|
|
(size 1.7 1.7)
|
|
(drill 1)
|
|
(layers "*.Cu" "*.Mask")
|
|
(remove_unused_layers no)
|
|
)
|
|
(embedded_fonts no)
|
|
)
|