halfmarble / hm-panelizer

a simple PCB panelizer
MIT License
122 stars 14 forks source link

hm-panelizer

icon

A GUI based PCB gerber file viewer and panelizer written in python

This tool would not have been possible without the following projects:

hm-panelizer is released under MIT license, Copyright 2021,2022 HalfMarble LLC (www.halfmarble.com)

Please note that I forked pcb-tools and pcb-tools-extension, made significant modifications, and included them as part of this tool.

Why did I create hm-panelizer?

There are a couple of open source tools out there that will help you panelize your Pcb, for example http://blog.thisisnotrocketscience.nl/projects/pcb-panelizer/ , https://github.com/sej7278/kicad-panelizer and www.github.com/yaqwsx/KiKit, however, I wanted a GUI based app, which I could run (easily) on a macOS based machine, so here we are.

It also gave me an opportunity to learn python (it is my first python app, so it is most certainly not optimally implemented) and gain some insight into the mysterious world of gerber files.

! WARNING !

I hope that you will find hm-panelizer useful, however, I offer no guarantee that it will work in your case - always verify with other tools, before you order your Pcb panels!

How to run

hm-panelizer is a python app, so you will need python version 3.6.x or higher (we use 3.9.12) and install kivy, pygame and pycairo python packages. Here is an example of steps I had to perform on my own macOS machine:

Once you have python and the required python packages installed, you can run hm-panelizer via command line (i.e. terminal) by cd'ing into the hm-panelizer folder, then issuing python3 main.py command.

Screenshots:

Main view

screenshot

Main view (outline verification)

screenshot3

Panel view

screenshot2

Will hm-panelizer work with my Pcb?

It might. The gerber viewer part should almost certainly work, but the panelizer feature is another story.

I personally use KiCad 6.x and wanted to panelize my own Pcb, so that's what I mostly tested. I did try a few other Pcbs created with other software and I am eager to hear your experience.

Please keep in mind, however, that hm-panelizer was just a side project for me. I am releasing it as open source in hopes that the community will contribute to it. If you find a bug and can fix it, then please help!

Having said that, here are requirements to create a Pcb that should make it suitable for hm-panelizer:

Limitations:

Here are the KiCad settings I personally use to export my Pcbs:

KiCad plot settings

KiCad plot settings

KiCad drill settings

KiCad drill settings

TODO

Here is a list of wish features that I personally would like to add when I have the time:

Need help?

Visit my Discord channel https://discord.gg/7mf5qqBMEF

Please consider supporting hm-panelizer if you want to see more features!

ko-fi