An open-source desktop application for optimizing PCB panelization for manufacturing. Given a PCB size, spacing, rail widths, and a supplier's panel dimensions, the optimizer calculates the best array configurations ranked by panel utilization.
- Calculate optimal PCB-to-array-to-panel configurations
- Support for rotation options at both PCB and array levels
- Multi-unit support (Imperial/Metric) with appropriate precision
- Configurable panel size templates for different PCB manufacturers
- Top results ranked by area utilization
- Interactive visualization popup (double-click a result row)
- PDF export with array graphic and detailed specifications
- Persistent user preferences (unit system, selected supplier panel)
- Cross-platform standalone executables (Linux & Windows)
Pre-built executables are available from the Releases page — no Python installation required.
- Python 3.10+
- pip
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python pcb_optimizer.py
# Run tests
pip install -r requirements-dev.txt
pytestpip install pyinstaller
# Linux
pyinstaller pcb_optimizer_linux.spec --clean
# Windows
pyinstaller pcb_optimizer_windows.spec --cleanExecutables are output to the dist/ directory.
MIT License