Automating PCB Migration with PCadToKiCad: Tips and WorkflowMigrating PCB projects from PCAD to KiCad can save costs, enable open-source collaboration, and unlock modern toolchains — but manual conversion of schematics, footprints, and board layouts is time-consuming and error-prone. PCadToKiCad automates large parts of this process, reducing tedious rework and preserving design intent when moving to KiCad. This article walks through a practical, end-to-end workflow, highlights pitfalls to avoid, and offers tips to make the migration reliable and repeatable.
Why migrate and when automation helps
Manual recreation of designs is reasonable for tiny, one-off boards but quickly becomes inefficient for medium-to-large projects, legacy libraries, or many similar designs. Automation shines when:
- You have many PCAD projects to migrate.
- Designs include custom footprints or complex routing.
- You want to preserve metadata (component references, attributes, net names).
- Time and consistency matter across a team.
PCadToKiCad aims to convert PCAD file formats (schematic, netlist, board) into KiCad-compatible formats (Schematic files, .kicad_pcb, footprints, and libraries), minimizing manual cleanup.
Overview of the workflow
- Inventory and preparation
- Install and test PCadToKiCad tools
- Convert schematics and netlists
- Translate footprints and symbol libraries
- Convert board layout (.brd) to .kicad_pcb
- Re-link footprints and run ERC/DRC checks
- Manual cleanup and verification
- Archive and document the migrated project
1) Inventory and preparation
Before converting, gather and document everything:
- All PCAD files: schematics, .brd, library files, custom symbol/footprint libraries.
- Bill of Materials (BOM) and mechanical drawings.
- Notes on any nonstandard symbols, custom attributes, or scripted processes (DRC macros, fabrication layers).
- KiCad version target (KiCad’s file formats evolve — choose a supported version and convert consistently).
Tip: Create a checklist per project that includes expected component counts, unique footprints, and key nets (power rails, differential pairs).
2) Install and test PCadToKiCad tools
- Install PCadToKiCad and any prerequisites (Python, supporting libraries, or specific converter binaries). Follow project README for compatible versions.
- Set up a test environment: isolated directory, sample PCAD files (small board), and a clean KiCad project folder.
- Run a quick conversion on the small sample to confirm the toolchain is working and you understand file locations and flags/options.
Tip: Use version control (git) to track converted outputs and iterative fixes.
3) Convert schematics and netlists
- Run the schematic/netlist conversion first so symbols and net mappings are available for board import.
- Verify symbol name mappings. Converters often map PCAD symbol names to KiCad symbol library names; mismatches need manual mapping files or scripts.
- Preserve attributes: refdes, values, footprints, and custom attributes (manufacturer, part numbers). If the converter supports attribute remapping, create a mapping file.
Checklist after conversion:
- Component count matches original.
- Net names and hierarchical sheets (if used) preserved.
- Special nets (power, grounds, testpoints) correctly identified.
4) Translate footprints and symbol libraries
- Export or locate PCAD footprint libraries. Converters may generate KiCad footprint (.kicad_mod) files.
- For custom footprints, verify pad sizes, drill sizes, courtyard and silkscreen extents, and layer assignments.
- Where possible, prefer KiCad’s standard footprint libraries for common parts — map PCAD footprints to KiCad equivalents to gain consistent manufacturing parameters.
Tip: Maintain a footprint mapping table (CSV) that lists PCAD footprint names → KiCad footprint names; this accelerates batch relinking.
5) Convert board layout (.brd) to .kicad_pcb
- Use PCadToKiCad board conversion utility to create a .kicad_pcb. Pay attention to:
- Layer stack mapping (signal, plane, silk, mask).
- Units and grid alignment.
- Complex constructs: zones/pours, thermal reliefs, keepouts, polygons.
- Arc and spline conversion: some converters approximate arcs as segments — check critical curves (antenna traces, RF).
- Verify copper pours and zones filled correctly; some tools export zone boundaries but not the filled state.
Checklist:
- Board outline preserved and positioned.
- Component positions and rotations match originals.
- Route topology preserved for critical nets (high-speed, RF).
6) Re-link footprints and run ERC/DRC checks
- In KiCad’s PCB editor and Schematic editor, re-associate symbols to the correct footprints using your mapping table or the automatically generated references.
- Run KiCad’s Electrical Rules Check (ERC) to find missing footprints, unconnected power flags, or net conflicts.
- Run PCB’s Design Rules Check (DRC): clearance violations, overlapping pads, or out-of-board elements.
Tip: Start with relaxed DRC rules if the layout is dense; fix obvious issues first, then tighten rules.
7) Manual cleanup and verification
Even with good automation, expect manual fixes.
Common manual tasks:
- Recreate or fix complex vias (stitching, buried/via-in-pad) if the converter altered plating/drill specs.
- Adjust silkscreen near pads or keepout violations.
- Correct footprints that lack 3D models or have different origin points.
- Replace approximated arcs or polygons where electrical performance matters.
Verification steps:
- Run ERC/DRC until clean.
- Perform a visual inspection overlaying original board images (if available).
- If possible, run a quick manufacturing CAM export and review Gerbers in a Gerber viewer.
- For sensitive designs, perform electrical simulation or continuity checks on critical nets.
8) Archive and document the migrated project
- Commit the KiCad project to version control with a migration README describing any manual adjustments, mapping tables, and known limitations.
- Keep an archive of original PCAD files together with the converted outputs for traceability.
- If you produced scripts or mapping files, store them in a central location for reuse.
Common pitfalls and how to avoid them
- Mismatched symbol ↔ footprint names: maintain a mapping table beforehand.
- Broken zone fills or plane layers: verify layer stack mapping and re-fill zones in KiCad after conversion.
- Missing custom attributes: export attributes to CSV from PCAD and merge into KiCad project via script.
- Units/grid shifts: confirm units and grid settings in converter options and check component alignment early.
- Footprint origin/anchor differences: re-anchor footprints in KiCad or update pad reference points as needed.
Automation tips for repeatable migrations
- Build a small utility to normalize PCAD filenames and attributes before conversion.
- Maintain and version-control symbol & footprint mapping CSVs for your organization.
- Automate post-conversion checks: scripts to compare component counts and nets between source and target.
- Use continuous integration (CI) to validate conversions for a batch of projects (run conversions, ERC/DRC, and report failures).
- Create a checklist template that your team follows for each migrated board.
Example minimal command sequence (illustrative)
# convert schematic/netlist pcadtoKiCad --schematic project.sch --out project_kicad_sch # convert board pcadtoKiCad --board project.brd --out project.kicad_pcb # relink footprints using mapping CSV (custom script) python relink_footprints.py project.kicad_pcb footprint_map.csv
Adjust commands to match the tool you have; refer to PCadToKiCad docs for exact flags.
When to consider partial migration or redesign
- If the board uses advanced features not well-supported by KiCad (very old PCAD-specific attributes, proprietary DRC rules), consider partial migration: import only schematics and re-layout in KiCad.
- For simple boards, full re-layout in KiCad might be faster and gives clean, modern output.
Final notes
Automated conversion with PCadToKiCad significantly reduces labor, but it’s not a substitute for careful verification. Treat the converter as the first step in a controlled migration: inventory, automate, verify, document. With mapping tables, CI checks, and a consistent workflow, migrating entire libraries and projects becomes a scalable, repeatable process — freeing engineers to focus on design improvements rather than file translation.