OpenPnP Footprint Manager - Introduction

6 views
Skip to first unread message

Marshall S. (Alakuu)

unread,
5:24 PM (3 hours ago) 5:24 PM
to OpenPnP
Hi everyone,

Marshall here! I've developed a tool to help automate importing LCSC/EasyEDA footprints into OpenPnP. This has been a time-consuming manual process for many of us, so I wanted to share this solution with the community.

What it does:
The program reads your BOM file (CSV or Excel), identifies parts that need footprints, fetches the footprint data directly from LCSC/EasyEDA, and writes them into your OpenPnP configuration files (packages.xml and parts.xml). It handles the full workflow including part height assignment, nozzle tip selection, and creating proper backups before making any changes.

Key features:
- Automatic BOM parsing with support for CSV and Excel formats
- Direct integration with LCSC/EasyEDA API to fetch accurate footprint data
- Visual footprint preview before confirming
- Per-part height and nozzle tip configuration
- Automatic backup system with restore capability
- Handles shared footprints intelligently (one R0402 footprint used by multiple resistor values)
- Dark mode support
- BOM template export to help structure your files correctly

How it works:
The program follows OpenPnP's default naming scheme: "footprint-value" (e.g., R0402-10K, C0402-100nF). This matches the standard convention OpenPnP uses when you manually import parts. It processes your BOM, presents each unique footprint for confirmation, lets you adjust parameters, and then writes everything to your OpenPnP config in one batch.

Important limitations:
- Only works with parts that have LCSC part numbers in your BOM
- Parts without LCSC numbers are skipped automatically
- Requires OpenPnP to be closed during the write operation
- Currently tested only on Windows 10/11

The tool includes comprehensive backup functionality. Before making any changes to your OpenPnP configuration, it creates timestamped backups that you can restore from within the program. I recommend verifying everything works in OpenPnP after import before deleting backups.

Testers needed:
I've developed and tested this on Windows, but the code is cross-platform Python/PyQt6. I'm looking for volunteers willing to test on Linux and macOS to verify everything works correctly on those platforms. The Python script should work fine, but I want to make sure there are no platform-specific issues with file paths or OpenPnP config detection.

Technical details:
- Written in Python with PyQt6 for the GUI
- Uses httpx for LCSC API communication
- Parses OpenPnP XML files with lxml
- Available as Python source or Windows executable

I'll have the tool on GitHub very soon!

GitHub: https://github.com/SkreeCustomKeyboards/Openpnp-LSCS-Footprint-Tool

I've been using it for my own projects and it's saved me hours of manual footprint entry. Hoping it helps others in the community as well.

Looking forward to any feedback, bug reports, or feature requests.

Side note I made a rambling video that shows the whole process and then branch off into my ideal end goal with this and some other in the works projects at the end.
https://www.youtube.com/watch?v=1eg0B8x1NP4

Thanks,
Marshall Somerville
Skree LLC

Reply all
Reply to author
Forward
0 new messages