LM317 with correct outputs

After much frustration I modified the Adjustable regulator to work in Fritzing.
Voltage Regulator.fzpz (6.4 KB)

A couple of problems (not unusual, parts creation is complex!) The part on the left is a sparkfun LM317 the one on the right is your new part.

FritzingCheckPart.py (which checks for errors in parts) flags these errors (among others, these are the important ones here)

Error 77: File
‘svg.schematic.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_schematic.svg.bak’
At line 19

terminalId connector1terminal can’t be a path as it won’t work.

Modified 2: File
‘svg.schematic.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_schematic.svg.bak’
At line 27

Connector connector0terminal had a zero width, set to 10
Check the alignment of this pin in the svg!

Error 77: File
‘svg.schematic.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_schematic.svg.bak’
At line 51

terminalId connector2terminal can’t be a path as it won’t work.

Error 66: File
svg.pcb.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_pcb.svg.bak
At line 13

the error indicates that it will affect Fritzing operation (which as we see it does!) The fix is fairly simple. Edit the schematic svg in Inkscape and we see that connector0terminal while present is a path which won’t work. As a result the wire connection is in the center of the pin and thus offset 0.05in from the grid which is incorrect.

connector0terminal is correctly a rectangle but has a zero width (circled in red) and thus neither Inkscape nor Fritzing will accept it.

connector2terminal is a path again and thus doesn’t work. To fix this I added a stroke (set to none) and a stroke-width of 0 to the rectangle, then set the height and width to 0.01in in the tool bar at the top. That creates a rectangle of the same width as the pin. Then I moved its x and y coords to be the end of the pin. Now duplicate that rectangle, and move it to the other two terminalIds that are paths, set the correct x/y coods to the end of the pin and rename the rectangle to the correct terminalId and the problem is fixed.

do the same for the last terminalId

Save the svg as a plain svg and recreate the part and it should work. Now for the errors in pcb.

Error 66: File
svg.pcb.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_pcb.svg.bak
At line 15

Connector connector2pad is a duplicate (and should be unique)

Error 66: File
svg.pcb.prefix0000LM317A_9e3c2406a5af192c0c2f6ece196bf3bc_1_pcb.svg.bak
At line 16

Connector connector1pad is a duplicate (and should be unique)

they may not matter much because they will probably be ignored, but it is better to fix them.

I’m not sure why it is reporting a duplicate because it doesn’t appear to be, but it is an older format that should be updated. Currently copper0 should be a child of copper1 and the connections should be in copper0 like this:

So save the pcb svg and remake the part. Run it through FritzingCheckPart.py and it has some warnings but no errors so try the new part and see.

and indeed things are now correct.

Here is the fixed part (I didn’t change the moduleId so you will need to delete the original part from your mine parts bin to load this one!)

Voltage Regulator-fixed.fzpz (6.8 KB)

Everything I did here and a reference to FritzingCheckPart.py is available in this tutorial set:

Hope this helps! If not feel free to ask for clarification.

Peter

Hi Peter
Yes I am less than a novice when it comes to both Fritzing and Inkscape. Although I have done 5 design projects in Fritzing and find it relatively easy to use. I think there has been some confusion here, I loaded the Voltage regulator fixed into Fritzing and discovered it was a regulator 3 terminal regulator. My frustration has been that even the Sparkfun LM317 is wrong and I couldn’t find a correct one no matter how much I googled. So I modified the Sparkfun one (albeit with errors) attached is the correct pinout for the LM317. It may not work for all aspects of a Fritzing sketch but it is sufficient for making a PCB. Thanks for your comprehensive and patient reply. I will reference it and try to muddle my way through fixing my current LM317 and post it when done, although it may be a while. After deleting the parts from My Parts Bin I tried to reload my LM317 but it said it was already loaded and it in not of course. Also attached is my LM317 in case I sent the wrong one before, also the warning message maybe there is a workaround for that without reinstalling Fritzing.
Cheers
Graham
LM317A_e4de6c40542abbf35c9d6787af96b996_4_pcb.fzpz (10.4 KB)


Fritzing warning

For the “there is already a part” error message, in Fritzing try this:

the search criteria should pick up your first part (your latest part has a problem and won’t load for me.) You may have been bitten by a Fritzing quirk. If when you exit Fritzing you answer yes to one of the save questions but no to the other your part won’t be saved in the mine parts bin but will be saved (and show up in the search above where it can be deleted!) I’ll see if I remember how to reproduce this

click the exit fritzing tab in the top right corner then say yes to save part.

answer no to the next two questions

this is the important one, it doesn’t save the mine parts bin data!

at this point Fritzing will exit, the new part is not in the mine parts bin but is present in Friztzing and will be found by a search. So restart Fritzing (or in your case just start Fritzing because you look to have done the above steps!) My parts is empty in my case (if the same is true in your case the fix is easy!)

but a search will find the voltage regulator part (but not let you delete it!)

right click on the parts in the search window and this screen comes up

note the “remove part” option is greyed out and not active. If the only thing you have in your mine parts bin is the regulator, just clearing the user directories will fix this (reloading Fritzing will not as the reload does not delete the user directories to preserve your custom parts. The instructions for all operating systems supported are here:

kill corrupt files:

There are two user directories (with your parts and the parts database) which don’t get touched during an install (to not affect your sketches during upgrades). On Windows they are in

c:\users\username\AppData\Fritzing\roaming\Fritzing (which is a hidden directory so you need to enable hidden directories in explorer) and

c:\Users\username\My Documents\Fritzing (where username is your windows id)

If you don’t have any parts or sketches you want to keep you can just delete those two directories and Fritzing will recreate them, or you can move them aside by renaming them if you want to keep something in them.

linux

~/Documents/Fritzing/parts
~/.config/Fritzing

Mac

/Users/username/Documents/Fritzing/parts
~/.config/Fritzing

If you have other loaded parts that you want to keep things are more complex. The first thing to do (in case of error!) is to copy all of the above user directories to a back up location so you can reload them if you screw up! Then you need to find the file name Fritzing is complaining about in this directory (this is Win10, so you need to use the appropriate directory for your OS if it isn’t windows.)

replace the “owner” in this with your user name. You want to delete the .fzp file that matches the error message file name about the part already exists. That should delete the offending part and allow you to load the new one.
Now on to your new part. I don’t immediately see why this won’t load. I will need to poke at it more I expect. Hopefully the above will help you while I figure out what is wrong with the latest version and load it.

edit:

OK figured out what is wrong with your .fzpz file, it is in directory format rather than .fzpz format:

the files in a .fzpz file need a prepended part. for the fzp file and a prepended svg.viewname. for the svg files. Your fzp file doesn’t have them and thus the part won’t load as it can’t find the part.xxx.fzp file.

capture10

this part loads but has the same schematic problems as the original

I also changed a variety of things while trying to figure out what was wrong (but they won’t affect anything much.)

Peter