Files
SN-L00/hardware/kicad/SN-L00.pretty/RP2040-Zero.kicad_mod
T
florian.berthold 36a732f767 Add custom KiCad libraries for RP2040-Zero and OLED
Symbol library (SN-L00.lib/):
- RP2040-Zero: 18-pin module symbol with all GPIO labels
- OLED_128x32_I2C: 4-pin I2C display symbol

Footprint library (SN-L00.pretty/):
- RP2040-Zero: 2x9 through-hole, 15.24mm spacing, with pin labels
- OLED_128x32_I2C: 38x12mm module outline, 4-pin header

Auto-loading via fp-lib-table and sym-lib-table.
2026-01-23 03:59:48 +01:00

361 lines
7.4 KiB
Plaintext

(footprint "RP2040-Zero"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(descr "Waveshare RP2040-Zero module, 2x9 pin headers, 2.54mm pitch")
(tags "RP2040 Pico Zero Waveshare")
(attr through_hole)
;; RP2040-Zero dimensions:
;; Board: 23.5mm x 18mm
;; Pin rows: 2.54mm pitch, 9 pins each side
;; Row spacing: 15.24mm (600mil) center to center
;; USB-C on top edge
;; Reference and value
(property "Reference" "MOD1"
(at 0 -13 0)
(layer "F.SilkS")
(uuid "ref-text")
(effects
(font (size 1 1) (thickness 0.15))
)
)
(property "Value" "RP2040-Zero"
(at 0 13 0)
(layer "F.Fab")
(uuid "val-text")
(effects
(font (size 1 1) (thickness 0.15))
)
)
;; Board outline on Fab layer
(fp_rect
(start -9 -11.75)
(end 9 11.75)
(stroke (width 0.1) (type solid))
(fill none)
(layer "F.Fab")
(uuid "board-outline")
)
;; Silkscreen outline (slightly larger)
(fp_rect
(start -9.5 -12.25)
(end 9.5 12.25)
(stroke (width 0.12) (type solid))
(fill none)
(layer "F.SilkS")
(uuid "silk-outline")
)
;; USB-C indicator on top
(fp_rect
(start -4.5 -11.75)
(end 4.5 -9.5)
(stroke (width 0.12) (type solid))
(fill none)
(layer "F.SilkS")
(uuid "usb-indicator")
)
(fp_text user "USB-C"
(at 0 -10.5 0)
(layer "F.SilkS")
(uuid "usb-text")
(effects
(font (size 0.8 0.8) (thickness 0.12))
)
)
;; Pin 1 indicator
(fp_circle
(center -8.5 -8.5)
(end -8 -8.5)
(stroke (width 0.12) (type solid))
(fill solid)
(layer "F.SilkS")
(uuid "pin1-dot")
)
;; Courtyard
(fp_rect
(start -10.5 -13)
(end 10.5 13)
(stroke (width 0.05) (type solid))
(fill none)
(layer "F.CrtYd")
(uuid "courtyard")
)
;; Left column pins (active low Y, starting from top)
;; Pin spacing: 2.54mm, 9 pins = 8 gaps = 20.32mm total
;; Center at Y=0, so pins go from Y=-10.16 to Y=+10.16
;; Left column (X = -7.62mm = -300mil from center)
;; Pin 1: 5V
(pad "1" thru_hole rect
(at -7.62 -10.16)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-1")
)
;; Pin 2: GND
(pad "2" thru_hole oval
(at -7.62 -7.62)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-2")
)
;; Pin 3: 3V3
(pad "3" thru_hole oval
(at -7.62 -5.08)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-3")
)
;; Pin 4: GP29
(pad "4" thru_hole oval
(at -7.62 -2.54)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-4")
)
;; Pin 5: GP28
(pad "5" thru_hole oval
(at -7.62 0)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-5")
)
;; Pin 6: GP27
(pad "6" thru_hole oval
(at -7.62 2.54)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-6")
)
;; Pin 7: GP26
(pad "7" thru_hole oval
(at -7.62 5.08)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-7")
)
;; Pin 8: GP15
(pad "8" thru_hole oval
(at -7.62 7.62)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-8")
)
;; Pin 9: GP14
(pad "9" thru_hole oval
(at -7.62 10.16)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-9")
)
;; Right column (X = +7.62mm = +300mil from center)
;; Pin 10: 3V3
(pad "10" thru_hole oval
(at 7.62 -10.16)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-10")
)
;; Pin 11: GND
(pad "11" thru_hole oval
(at 7.62 -7.62)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-11")
)
;; Pin 12: GP0 (I2C SDA)
(pad "12" thru_hole oval
(at 7.62 -5.08)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-12")
)
;; Pin 13: GP1 (I2C SCL)
(pad "13" thru_hole oval
(at 7.62 -2.54)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-13")
)
;; Pin 14: GP2 (TRIG OUT)
(pad "14" thru_hole oval
(at 7.62 0)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-14")
)
;; Pin 15: GP3 (RETURN IN)
(pad "15" thru_hole oval
(at 7.62 2.54)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-15")
)
;; Pin 16: GP4 (BTN)
(pad "16" thru_hole oval
(at 7.62 5.08)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-16")
)
;; Pin 17: GP5
(pad "17" thru_hole oval
(at 7.62 7.62)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-17")
)
;; Pin 18: GND
(pad "18" thru_hole oval
(at 7.62 10.16)
(size 1.7 1.7)
(drill 1.0)
(layers "*.Cu" "*.Mask")
(uuid "pad-18")
)
;; Pin labels on Fab layer
(fp_text user "5V"
(at -5 -10.16 0)
(layer "F.Fab")
(uuid "lbl-1")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GND"
(at -5 -7.62 0)
(layer "F.Fab")
(uuid "lbl-2")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "3V3"
(at -5 -5.08 0)
(layer "F.Fab")
(uuid "lbl-3")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP29"
(at -4.5 -2.54 0)
(layer "F.Fab")
(uuid "lbl-4")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP28"
(at -4.5 0 0)
(layer "F.Fab")
(uuid "lbl-5")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP27"
(at -4.5 2.54 0)
(layer "F.Fab")
(uuid "lbl-6")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP26"
(at -4.5 5.08 0)
(layer "F.Fab")
(uuid "lbl-7")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP15"
(at -4.5 7.62 0)
(layer "F.Fab")
(uuid "lbl-8")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP14"
(at -4.5 10.16 0)
(layer "F.Fab")
(uuid "lbl-9")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "3V3"
(at 5 -10.16 0)
(layer "F.Fab")
(uuid "lbl-10")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GND"
(at 5 -7.62 0)
(layer "F.Fab")
(uuid "lbl-11")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP0"
(at 4.5 -5.08 0)
(layer "F.Fab")
(uuid "lbl-12")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP1"
(at 4.5 -2.54 0)
(layer "F.Fab")
(uuid "lbl-13")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP2"
(at 4.5 0 0)
(layer "F.Fab")
(uuid "lbl-14")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP3"
(at 4.5 2.54 0)
(layer "F.Fab")
(uuid "lbl-15")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP4"
(at 4.5 5.08 0)
(layer "F.Fab")
(uuid "lbl-16")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GP5"
(at 4.5 7.62 0)
(layer "F.Fab")
(uuid "lbl-17")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
(fp_text user "GND"
(at 5 10.16 0)
(layer "F.Fab")
(uuid "lbl-18")
(effects (font (size 0.6 0.6) (thickness 0.1)))
)
;; 3D model reference (optional)
(model "${KIPRJMOD}/3dmodels/RP2040-Zero.step"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)