# Exporting EasyEDA Pro Projects to KiCad **Document ID:** SE-HW-GUIDE-001 **Version:** 1.0 **Date:** 2026-05-10 **Audience:** Hardware Team --- ## 1. Overview This guide covers exporting a full EasyEDA Pro project (schematics + PCB) to KiCad 8.x format for version control in `savearth-hw-project/kicad/`. --- ## 2. Prerequisites | Tool | Version | Notes | |------|---------|-------| | **EasyEDA Pro** | Latest (Web or Desktop) | Desktop app recommended for large projects | | **KiCad** | 8.0+ | Install from [kicad.org](https://www.kicad.org/download/) | | **easyeda2kicad** (optional) | Latest | Python CLI for component library conversion | Install the Python converter (for component libraries): ```bash pip install easyeda2kicad ``` --- ## 3. Method A: Native EasyEDA Pro Export (Recommended) EasyEDA Pro has built-in KiCad export since late 2024. ### 3.1 Export Schematic 1. Open your project in **EasyEDA Pro** 2. Go to **File → Export → KiCad...** 3. In the export dialog: - **Format:** KiCad 8 (`.kicad_sch`) - **Include:** ☑ Schematics ☑ Symbols - **Output directory:** Choose a temporary folder 4. Click **Export** 5. You will get: - `*.kicad_sch` — Schematic file(s) - `*.kicad_sym` — Symbol library ### 3.2 Export PCB Layout 1. Open the **PCB editor** in EasyEDA Pro 2. Go to **File → Export → KiCad...** 3. In the export dialog: - **Format:** KiCad 8 (`.kicad_pcb`) - **Include:** ☑ PCB ☑ Footprints ☑ 3D Models - **Output directory:** Same temporary folder 4. Click **Export** 5. You will get: - `*.kicad_pcb` — PCB layout - `*.kicad_mod` — Footprint library - `*.step` / `*.wrl` — 3D models (if available) ### 3.3 Create KiCad Project 1. Open **KiCad 8** 2. **File → New Project...** 3. Navigate to `savearth-hw-project/kicad/` 4. Name: `savearth-ssm-01` 5. This creates: - `savearth-ssm-01.kicad_pro` — Project file - `savearth-ssm-01.kicad_sch` — Empty schematic - `savearth-ssm-01.kicad_pcb` — Empty PCB 6. **Replace** the empty `.kicad_sch` and `.kicad_pcb` with the exported files 7. Copy symbol and footprint libraries to `savearth-hw-project/kicad/libs/` ### 3.4 Verify Import 1. Open the project in KiCad 2. **Check schematic:** - All components should be present - Net names should be preserved - Run ERC (Electrical Rule Check) 3. **Check PCB:** - All footprints placed correctly - Copper traces intact - Run DRC (Design Rule Check) - Verify layer mapping (see Section 5) --- ## 4. Method B: JSON Intermediate Format If the native export has issues, use the JSON intermediate format: ### 4.1 Export from EasyEDA Pro as JSON 1. In EasyEDA Pro, go to **File → Export → EasyEDA...** 2. Export as `.json` format (EasyEDA native format) 3. Save the JSON file(s) ### 4.2 Convert JSON to KiCad Use the community `easyeda2kicad` tool: ```bash # Convert component library (symbols + footprints) easyeda2kicad --full \ --lcsc_id C2296507 \ --output ./kicad/libs/ # For a full project, you may need to convert each component's # LCSC part number individually ``` > [!WARNING] > The `easyeda2kicad` tool converts **individual components** (by LCSC part number), not full projects. For full project conversion, Method A (native export) is strongly recommended. ### 4.3 Alternative: LCSC Component Converter For individual components that fail to export: ```bash # Export a specific component by LCSC number easyeda2kicad --full --lcsc_id C12345 --output ./kicad/libs/ # This creates: # ./kicad/libs/C12345.kicad_sym (symbol) # ./kicad/libs/C12345.kicad_mod (footprint) # ./kicad/libs/C12345.step (3D model, if available) ``` --- ## 5. Layer Mapping (EasyEDA Pro → KiCad) EasyEDA Pro and KiCad use different layer names. Verify these mappings after import: | EasyEDA Pro Layer | KiCad Layer | Notes | |-------------------|-------------|-------| | TopLayer | F.Cu | Front copper | | BottomLayer | B.Cu | Back copper | | Inner1 | In1.Cu | Inner copper 1 | | Inner2 | In2.Cu | Inner copper 2 | | TopSilkLayer | F.SilkS | Front silkscreen | | BottomSilkLayer | B.SilkS | Back silkscreen | | TopPasteSolderLayer | F.Paste | Front solder paste | | BottomPasteSolderLayer | B.Paste | Back solder paste | | TopSolderMaskLayer | F.Mask | Front solder mask | | BottomSolderMaskLayer | B.Mask | Back solder mask | | BoardOutLine | Edge.Cuts | Board outline | | Multi-Layer | *.Cu | All copper layers (vias) | | Document | Cmts.User | Comments / documentation | | Mechanical | User.1 | Mechanical outlines | --- ## 6. Common Issues & Fixes ### 6.1 Missing Footprints **Symptom:** PCB opens but some footprints show as "not found" **Fix:** 1. Ensure the exported `.kicad_mod` library is in `kicad/libs/` 2. In KiCad: **Preferences → Manage Footprint Libraries...** 3. Add the library path: `${KIPRJMOD}/libs/savearth.pretty` ### 6.2 Net Name Mismatches **Symptom:** DRC shows unconnected nets that should be connected **Fix:** 1. Compare net names in schematic vs PCB 2. EasyEDA sometimes uses `NetLabel_X` format 3. Manually rename in KiCad schematic editor if needed 4. Run **Tools → Update PCB from Schematic** to re-sync ### 6.3 Copper Fill / Ground Pour Issues **Symptom:** Ground pour zones don't render correctly **Fix:** 1. Select the zone in KiCad PCB editor 2. **Edit → Edit Zone Properties...** 3. Set correct net (usually `GND`) 4. **Edit → Fill All Zones** (press `B`) ### 6.4 Component Values Not Imported **Symptom:** Resistors/capacitors show generic values **Fix:** 1. Open schematic in KiCad 2. **Edit → Edit Symbol Fields...** 3. Cross-reference with the EasyEDA Pro BOM 4. Update `Value` field for each component ### 6.5 3D Models Not Loading **Symptom:** 3D viewer shows missing models **Fix:** 1. Copy `.step` and `.wrl` files to `kicad/libs/3d/` 2. In Footprint Editor: **Edit Footprint Properties → 3D Models** 3. Update path to: `${KIPRJMOD}/libs/3d/component_name.step` --- ## 7. Post-Import Checklist After importing into KiCad, verify: - [ ] All components present in schematic (compare component count with EasyEDA) - [ ] All nets correctly named - [ ] ERC passes with 0 errors (warnings acceptable) - [ ] PCB footprints match schematic (run **Update PCB from Schematic**) - [ ] DRC passes with 0 errors - [ ] Board outline (Edge.Cuts) is correct - [ ] Drill files can be generated (plot test) - [ ] BOM can be exported from KiCad - [ ] 3D model renders correctly in 3D Viewer --- ## 8. Repository Structure After export, the `savearth-hw-project/kicad/` directory should look like: ``` kicad/ ├── savearth-ssm-01.kicad_pro # KiCad project file ├── savearth-ssm-01.kicad_sch # Schematic ├── savearth-ssm-01.kicad_pcb # PCB layout ├── libs/ │ ├── savearth.kicad_sym # Symbol library │ ├── savearth.pretty/ # Footprint library │ │ ├── ESP32-S3-WROOM.kicad_mod │ │ ├── USB-C-Connector.kicad_mod │ │ └── ... │ └── 3d/ # 3D models │ ├── ESP32-S3-WROOM.step │ └── ... ├── gerber/ # Generated Gerber files (for fab) └── bom/ # Bill of Materials exports ``` --- ## 9. Git Configuration for KiCad Add to `savearth-hw-project/.gitattributes`: ``` # KiCad files — treat as text for better diffs *.kicad_sch text *.kicad_pcb text *.kicad_pro text *.kicad_sym text *.kicad_mod text # Binary files *.step binary *.wrl binary ``` > [!TIP] > KiCad 8 uses S-expression text format for all design files, making them diff-friendly in Git. Always commit after meaningful design changes with descriptive messages. --- *This guide is maintained in `savearth-hw-project/docs/`. Updated as EasyEDA Pro export features evolve.*