My custom part causing Fritzing to crash on PCB check


#1

I created this custom part which uses 1.27mm pitch connectors. I customized the solder pads.

Anyhow, I have done something wrong as it crashes fritzing when doing a PCB rules check, auto routing and doing a ground fill.

Any tips on how to fix. Thanks.

Microbit Connector 13 pins.fzpz (12.3 KB)


#2

I am sure this has been brought up many times in the past but I just was not sure how to search for the answer as to what is allowed. Of course, unusual footprints should not crash the software.

Basically, I am after a solder footprint similar to this… see graphic.

My view is that if you have a pitch less than or equal to 1.27mm (0.05") for through-hole then this is necessary. So, how do you do it?


#3

How does it crash Fritzing? Does Fritzing close on its own or does it become unresponsive?


#4

I like big oblong contact pads and have made several parts with them.
I started by understanding how the part called ‘Header1’ was constructed (used it to create a new part and hacked it using Inkscape). It was the key to making oblong pads.

Basically, it amounts to having a circular pad and an oblong pad-graphic as well as the hole. The Header1 part provides the info as the solution.

I did not have problems with Fritzing crashing and it worked great for chemical etched pcb’s but, because I machine PCB’s on a cnc mill, the pads took too much computing time (in gcode software) as they become comprised of many, many fine-pitched Path lines (thus very large gcode files and computing time).

FYI - I no longer bother with oblong pads in Fritzing - rather, I create them in the software I use for creating the gcode (CopperCam - it has a one-click tool to do it).

[ADDED] I should have mentioned: you can use any part, such as and DIP, that has a Square pad for the Vin. Just hack the square into an oblong and make the quantity for the other pads you want.

screenshot of the Fritzing part called “Header” and a machined pcb…


#5

I attached the part so you can test / see for yourself. Of course if it does not crash your fritzing then I would be interested to know that.


#6

I have no interest in importing a file that could corrupt my install so that is why I asked for the information to try and help. If you do not want to explain what happens in the hope of getting help that is your choice.


#7

I only used that part and 3 resistors but it worked fine, ie no crashes, and none of the problems you had with PCB rules check, auto routing, or ground fill. It’s probably something else in the sketch.

Not that I’m an expert - the only XML expert left - , but do you want to post it.


#8

Could you maybe explain how a part could corrupt an install as that potentially creates a problem for all users with parts submitted on the forum, as not all parts are verified beforehand to be working perfectly?


#9

Thanks that’s good to know. Your feedback is very helpful indeed.


#10

We do not know the exact mechanism that causes it but it happens all the time. Something in the parts file can corrupt the entire parts database and the only way to fix it is to delete your entire parts library and reinstall Fritizing. When this happens it will often stop Fritzing from loading or causes the parts update to fail.

As for parts submitted on the forum they are often broken and as you say unverified. If a part is submitted to the github parts repo and gets excepted that means it has passed testing to be compliant with Fritzings internal standards but it does not get verified as being an accurate footprint or correctly labled etc. It just get verified as being compatible with Fritzing.

Fritzing can be very slow at doing certain things and will become unresponsive for very long periods of time. This is not a sign it has crashed or that something is wrong. You often have to walk away for long periods of time (30minutes+) to let it do its thing and finish. If it is closing on its own then that is a problem but you have not explained how it fails for you.


#11

One cause of this is a bug in Fritzing where loading an invalid part isn’t correctly dealt with which hangs Fritzing and corrupts the parts database. I have what I think is a fix for this, but need to get bask to working on being able to build Fritzing for Windows (the fix works on Linux) to test it more.

I downloaded and tried your part (I keep backup copies of the database files in case of corruption :slight_smile: ) and had no problems. The default drc rules complain about clearances and your part isn’t correct (the holes don’t get drilled in the gerber output probably because the pads aren’t defined correctly though I haven’t looked), but it does not crash Fritzing for me (9.3.b on Win7). If you like I can correct the pcb svg so if will generate correct gerber output. As Old_Grey said if you upload the fzz file for the sketch one of us can see if we can figure out why Fritzing crashes, assuming it does for us.

Peter