A graphical user interface for converting LCSC/JLCPCB component libraries to KiCad format. This project builds upon and combines two excellent projects:
- JLC2KiCad_lib by TousstNicolas
- lcsc2kicad by DasBasti
- User-friendly graphical interface
- Easy component management:
- Add components with or without 'C' prefix
- Add comments to components
- Delete individual components
- Clear entire list
- Save/Load component lists (JSON format)
- Generate KiCad libraries including:
- Symbols (.kicad_sym)
- Footprints (.pretty)
- 3D Models (STEP format)
- Progress tracking and error logging
- Clone the repository:
git clone https://github.com/YourUsername/lcsc2kicad-gui
cd lcsc2kicad-gui- Install dependencies:
pip install requests lxml pillow svg2mod semantic-version KicadModTree PySide6Run the GUI application:
python gui.py-
Enter LCSC part number in the input field:
- Can enter with or without 'C' prefix (e.g., "C2931873" or "2931873")
- Press Enter or click "Add Part"
-
Add comments (optional):
- Select a component from the list
- Enter comment in the comment field
- Press Enter or click "Update Comment"
- Save List: Save your current component list with comments to a JSON file
- Load List: Load a previously saved component list
- Delete Selected: Remove selected component from the list
- Clear All: Remove all components from the list
- Select output directory using "Browse"
- Set symbol library name (default: "components")
- Choose whether to include 3D models (STEP format)
- Click "Convert" to start the conversion process
The converter will create the following directory structure:
output_directory/
├── footprint.pretty/ # Footprint library
│ ├── packages3d/ # 3D models
│ │ ├── component1.step
│ │ └── component2.step
│ ├── component1.kicad_mod
│ └── component2.kicad_mod
└── symbol/
└── components.kicad_sym
-
Symbol Library:
- Preferences → Manage Symbol Libraries
- Add existing library
- Select
symbol/components.kicad_sym
-
Footprint Library:
- Preferences → Manage Footprint Libraries
- Add existing library
- Select the
.prettyfolder
-
3D Models:
- Automatically linked if directory structure is maintained
This project combines and builds upon two excellent LCSC/JLCPCB to KiCad converters:
- Original Repository: JLC2KiCad_lib by TousstNicolas
- Features used:
- Core conversion functionality
- Symbol generation
- Footprint creation
- 3D model handling
- License: MIT
- Original Repository: lcsc2kicad by DasBasti
- Features used:
- Initial inspiration
- LCSC component handling approach
- Project structure influence
- License: MIT
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is released under the MIT License, matching the licenses of both original projects it builds upon.
-
Component Not Found
- Verify the LCSC part number is correct
- Check if the component exists on JLCPCB's website
- Make sure to use the correct format (with or without 'C' prefix)
-
Conversion Errors
- Check the log output for specific error messages
- Verify all dependencies are installed correctly
- Ensure you have write permissions in the output directory
-
Import Issues
- Make sure KiCad paths are set correctly
- Verify the library files are in the expected locations
- Check if all necessary files were generated
-
Saving Lists
- Lists are saved in JSON format
- Include any relevant comments for future reference
- Use meaningful filenames for easy identification
-
Loading Lists
- Make sure the JSON file is properly formatted
- All component numbers should be valid
- Comments will be preserved when loading
-
Adding Components
- You can paste part numbers directly from JLCPCB website
- Use comments to track component purposes
- The GUI automatically handles 'C' prefix normalization
-
Batch Processing
- Save commonly used component lists for quick access
- Use clear comments to identify component purposes
- Check the log output for conversion progress
-
Library Organization
- Keep related components in separate list files
- Use meaningful comments for better organization
- Maintain a consistent naming scheme for saved lists