Files
kicad-mcp-server/python/templates/template_with_symbols_expanded.kicad_sch
Tom ce78fb4111 fix: update templates to KiCAD 9 format + remove corrupt _TEMPLATE_ blocks
Verified by live test: created a fresh schematic via MCP, result shows
format version 20250114, 0 _TEMPLATE_ hits, 0 (lib_id -100) hits, 24
real components placed cleanly.

--- Format version bump (20230121 KiCAD 7 -> 20250114 KiCAD 9) ---
Files: python/templates/*.kicad_sch, python/commands/project.py,
       python/commands/schematic.py

Root cause: the MCP server targets KiCAD 9 exclusively - pcbnew.pyd is
compiled for KiCAD 9.0 / Python 3.11.5, and server.ts explicitly selects
the KiCAD 9 bundled Python on Windows. Generating new schematics with a
2-year-old format tag caused a spurious 'This file was created with an
older KiCAD version' warning on every newly created schematic.

--- Remove corrupt _TEMPLATE_* placed-symbol blocks ---
File: python/templates/template_with_symbols_expanded.kicad_sch

Root cause: the expanded template was generated by the old sexpdata
serializer (same corruption PR #40 fixed for DynamicSymbolLoader add-path).
The serializer converted the string 'Device:R' to integer -100, producing
(lib_id -100) instead of (lib_id Device:R). KiCAD cannot resolve an
integer as a library reference and crashes with a null-pointer when the
user attempts to select these symbols. They appeared as grey _TEMPLATE_R?,
_TEMPLATE_C?, _TEMPLATE_U_REG? etc. ~5000mm off-sheet - invisible during
normal work but triggering a crash on accidental box-select.

Discovered via live testing on a real JLCPCB/KiCAD 9 project.
2026-02-28 14:40:32 +01:00

742 lines
23 KiB
Plaintext

(kicad_sch (version 20250114) (generator "KiCAD-MCP-Server")
(uuid 00000000-0000-0000-0000-000000000000)
(paper "A4")
(lib_symbols
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (at 2.032 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R" (at 0 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at -1.778 0 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R_0_1"
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.27)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 1.27)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C" (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0.9652 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "C_0_1"
(polyline
(pts
(xy -2.032 -0.762)
(xy 2.032 -0.762)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.032 0.762)
(xy 2.032 0.762)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
)
(symbol "C_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:L" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "L" (at -1.27 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "L" (at 1.905 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "L_0_1"
(arc (start 0 -2.54) (mid 0.635 -1.905) (end 0 -1.27)
(stroke (width 0) (type default))
(fill (type none))
)
(arc (start 0 -1.27) (mid 0.635 -0.635) (end 0 0)
(stroke (width 0) (type default))
(fill (type none))
)
(arc (start 0 0) (mid 0.635 0.635) (end 0 1.27)
(stroke (width 0) (type default))
(fill (type none))
)
(arc (start 0 1.27) (mid 0.635 1.905) (end 0 2.54)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "L_1_1"
(pin passive line (at 0 3.81 270) (length 1.27)
(name "1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 1.27)
(name "2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:Crystal" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "Y" (at 0 3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Crystal" (at 0 -3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Crystal_0_1"
(rectangle (start -1.143 2.54) (end 1.143 -2.54)
(stroke (width 0.3048) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 0)
(xy -1.905 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.905 -1.27)
(xy -1.905 1.27)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.905 -1.27)
(xy 1.905 1.27)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 0)
(xy 1.905 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "Crystal_1_1"
(pin passive line (at -3.81 0 0) (length 1.27)
(name "1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 3.81 0 180) (length 1.27)
(name "2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:D" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "D" (at 0 2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "D" (at 0 -2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "D_0_1"
(polyline
(pts
(xy -1.27 1.27)
(xy -1.27 -1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 0)
(xy -1.27 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 1.27)
(xy 1.27 -1.27)
(xy -1.27 0)
(xy 1.27 1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "D_1_1"
(pin passive line (at -3.81 0 0) (length 2.54)
(name "K" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 3.81 0 180) (length 2.54)
(name "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "D" (at 0 2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 0 -2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "LED_0_1"
(polyline
(pts
(xy -1.27 -1.27)
(xy -1.27 1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.27 0)
(xy 1.27 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 -1.27)
(xy 1.27 1.27)
(xy -1.27 0)
(xy 1.27 -1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "LED_1_1"
(pin passive line (at -3.81 0 0) (length 2.54)
(name "K" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 3.81 0 180) (length 2.54)
(name "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:Q_NPN_BCE" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "Q" (at 5.08 1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "Q_NPN_BCE" (at 5.08 -1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Q_NPN_BCE_0_1"
(polyline
(pts
(xy 0.635 0.635)
(xy 2.54 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 -0.635)
(xy 2.54 -2.54)
(xy 2.54 -2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 1.905)
(xy 0.635 -1.905)
(xy 0.635 -1.905)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 -1.778)
(xy 1.778 -1.27)
(xy 2.286 -2.286)
(xy 1.27 -1.778)
(xy 1.27 -1.778)
)
(stroke (width 0) (type default))
(fill (type outline))
)
(circle (center 1.27 0) (radius 2.8194)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "Q_NPN_BCE_1_1"
(pin input line (at -5.08 0 0) (length 5.715)
(name "B" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "C" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "E" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:Q_NMOS_GSD" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "Q" (at 5.08 1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "Q_NMOS_GSD" (at 5.08 -1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Q_NMOS_GSD_0_1"
(polyline
(pts
(xy 0.254 0)
(xy -2.54 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.254 1.905)
(xy 0.254 -1.905)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.762 -1.27)
(xy 0.762 -2.286)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.762 0.508)
(xy 0.762 -0.508)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.762 2.286)
(xy 0.762 1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 2.54)
(xy 2.54 1.778)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 -2.54)
(xy 2.54 0)
(xy 0.762 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.762 -1.778)
(xy 3.302 -1.778)
(xy 3.302 1.778)
(xy 0.762 1.778)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.016 0)
(xy 2.032 0.381)
(xy 2.032 -0.381)
(xy 1.016 0)
)
(stroke (width 0) (type default))
(fill (type outline))
)
(polyline
(pts
(xy 2.794 0.508)
(xy 2.921 0.381)
(xy 3.683 0.381)
(xy 3.81 0.254)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 3.302 0.381)
(xy 2.921 -0.254)
(xy 3.683 -0.254)
(xy 3.302 0.381)
)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.651 0) (radius 2.794)
(stroke (width 0.254) (type default))
(fill (type none))
)
(circle (center 2.54 -1.778) (radius 0.254)
(stroke (width 0) (type default))
(fill (type outline))
)
(circle (center 2.54 1.778) (radius 0.254)
(stroke (width 0) (type default))
(fill (type outline))
)
)
(symbol "Q_NMOS_GSD_1_1"
(pin input line (at -5.08 0 0) (length 2.54)
(name "G" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "S" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "D" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Amplifier_Operational:LM358" (pin_names (offset 0.127)) (in_bom yes) (on_board yes)
(property "Reference" "U" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "LM358" (at 0 -5.08 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "LM358_0_1"
(polyline
(pts
(xy -5.08 5.08)
(xy 5.08 0)
(xy -5.08 -5.08)
(xy -5.08 5.08)
)
(stroke (width 0.254) (type default))
(fill (type background))
)
)
(symbol "LM358_1_1"
(pin input line (at -7.62 2.54 0) (length 2.54)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin input line (at -7.62 -2.54 0) (length 2.54)
(name "+" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin output line (at 7.62 0 180) (length 2.54)
(name "~" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -2.54 -7.62 90) (length 3.81)
(name "V-" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -2.54 7.62 270) (length 3.81)
(name "V+" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Connector_Generic:Conn_01x02" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Conn_01x02" (at 0 -5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Conn_01x02_1_1"
(rectangle (start -1.27 -2.413) (end 0 -2.667)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 0.127) (end 0 -0.127)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 1.27) (end 1.27 -3.81)
(stroke (width 0.254) (type default))
(fill (type background))
)
(pin passive line (at -5.08 0 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -2.54 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Connector_Generic:Conn_01x04" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Conn_01x04" (at 0 -7.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Conn_01x04_1_1"
(rectangle (start -1.27 -4.953) (end 0 -5.207)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 -2.413) (end 0 -2.667)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 0.127) (end 0 -0.127)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 2.667) (end 0 2.413)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 3.81) (end 1.27 -6.35)
(stroke (width 0.254) (type default))
(fill (type background))
)
(pin passive line (at -5.08 2.54 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 0 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -2.54 0) (length 3.81)
(name "Pin_3" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -5.08 0) (length 3.81)
(name "Pin_4" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Regulator_Linear:AMS1117-3.3" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "U" (at -3.81 3.175 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "AMS1117-3.3" (at 0 3.175 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 2.54 -6.35 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "AMS1117-3.3_0_1"
(rectangle (start -5.08 1.905) (end 5.08 -5.08)
(stroke (width 0.254) (type default))
(fill (type background))
)
)
(symbol "AMS1117-3.3_1_1"
(pin power_in line (at 0 -7.62 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 7.62 0 180) (length 2.54)
(name "VO" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -7.62 0 0) (length 2.54)
(name "VI" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Switch:SW_Push" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "SW" (at 1.27 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "SW_Push" (at 0 -1.524 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "SW_Push_0_1"
(circle (center -2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.27)
(xy 0 3.048)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 1.27)
(xy -2.54 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(pin passive line (at -5.08 0 0) (length 2.54)
(name "1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 5.08 0 180) (length 2.54)
(name "2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
)
(sheet_instances
(path "/" (page "1"))
)
)