KiKit is a Python CLI tool, library, and KiCAD plugin for automating PCB panelization and fabrication output. It takes KiCAD board files (S-expression format) and produces panelized PCBs with v-cuts, mouse bites, tooling holes, fiducials, and frames. It also exports manufacturing files (Gerbers, drill, assembly data) tailored to popular fab houses (JLCPCB, PCBWay, OSH Park), generates 3D-printable solder paste stencils, performs DRC checks, and creates presentation pages for boards. The architecture is modular: core geometric operations use Shapely, interval algebra, and a custom S-expression parser; an extensible plugin system allows custom layout, tab, and cut strategies. The tool integrates deeply with KiCADβs pcbnew API and supports multiple KiCAD versions (6β9) through version-specific adapters. While primarily a production tool for hardware engineers, its clean separation of parsing, geometry, and CLI makes several components reusable in other PCB-adjacent projects.
This is a KiCad plugin that integrates with JLCPCB assembly services. It provides a wxPython GUI within KiCad (pcbnew) for assigning LCSC part numbers to footprints, managing rotation/offset corrections, and generating fabrication files (Gerber, Excellon, BOM, CPL) ready for JLCPCB ordering. It also includes a parts database builder that fetches component data from LCSC APIs, a searchable parts catalog with FTS5, and an assembly cost estimator. The architecture is monolithic as a KiCad ActionPlugin, with a separate standalone mode for testing. Key external dependencies are KiCad, wxPython, and SQLite, with the `packaging` library vendored. The codebase demonstrates strong engineering practices: extensive unit tests (many mocking KiCad/wx), transactional correction storage with validation, event-driven UI separation, and reusable utility components. However, it has some coupling to KiCad API version specifics and hardcoded pricing data that may drift over time.