Eagle to Fritzing

Hello,

My self Mithun. I am working on a fritzing conversion project which is eagle pcb file to fritzing file.
I could convert the eagle pcb file to svg files which include breadboard, schematic& pcb. May i know how do i connect all these files to frizting and how do i connect them without any manual efforts( i mean creating connectors , metadata & selecting the graphics manually) to fritzing.
Also I am confused that what will be the output file.is it .fzpz file or .fzp file?

Good morning.
I guess your best choice is to build a very simple PCB in fritzing and save it. It will be a fzz file that you can open with your favourite file compresion software (i use 7zip)
There you will find several archives thay you can open with a text editor (i like notepad++)
The main problem i see here, is that depending the type of part (core or imported) fritzing will generate aditional archives or not. If you do a simple PCB with 2 resistors, there will be no aditional files, but if you use, i.e. a custom arduino module, you will have at least 3 aditional files for breadboard, schematic and PCB views.
Conections are made with labels IDs inside svgs. If you spend some time analyzing the files you will find correspondences quickly.

Good luck.

1 Like

There already is such a program called Eagle2Fritzing. It requires that you have a development environment for Fritzing up and working to build Eagle2Fritzing. You then run Eagle2Frtizing against the .brd file and it will (with some work) generate a Fritzing part. The original code is on the Fritzing site, but you are probably better to use the fork on Adafruit as has been worked on more recently.

Peter

1 Like

The part file itself will be .fzpz. That is actually a renamed .zip file which contains several .svg files and a single .fzp file. The .fzp file is the metadata.

For the details of what goes into the .fzp file, see “FZP Format” in Part File Format. Some is required, some optional.

Eagle2Fritzing can create functional fzpz files, but it is a good idea to do some testing. FritzingCheckPart is a python based tool that can also help verify some of the technical details.

If you are trying to convert an Eaglecad drawing to a Fritzing sketch, that is a (much) bigger job. All of the “parts” in the eagle document would need to be converted (or mapped) to Fritzing parts first, then combined back together into a .fzz file. .fzz is another .zip file containing the actual .fz sketch, plus all of the part information for anything that is not included in the core parts. I have not seen documentation for how a .fz file is put together. It (like .fzp) is an xml document, but the content structure seems to be only in the Fritzing code.

Thank You so much for the detailed reply

Thank You so much for the detailed reply.
I would like to ask one more query

After creating the fritzing file how do i create a separate tab for my company in fritzing software where anyone can use our company fritzing files?

For “anyone” to use it, a pull request will be needed for the core parts library repository, to add a company_name.fzb file with (optionally) an associated png icon files. See files in fritzing-parts/bins/more for samples.

For your own use, to create a bin for your self, the “Parts” window has a dropdown menu with an option to create a new bin. That bin can be exported. The exported bin could be published in the forum (or elsewhere) for anyone to download and import. To work, the parts in the bin also need to exist either in the core parts library, or loaded from fzpz files.

So the parts need to be created, added to a bin file, and either published or merged into the core parts. See downloading the Fritzing library from github and links from there for how AdaFruit has done it.

Not all of the company specific parts need to be in the fzb file. Parts in the same family can be used by adding any one of them to a sketch, then using inspector to switch to other parts in the same family. Assuming the parts have matching properties with different values.

Eagle2Fritzing only does about half the job, it requires a lot of (undocumented as far as I know) editing to get to a usable part. I’d suggest doing a first part and post the part (the .fzpz file) here and one or more of us will check it out for you. As well this part tutorial series may help since it points you at the part standards documentation as well as modifies the part via editing the files (which is required to use Eagle2Fritzing successfully.)

Peter

Hello Merlin,

I am almost created my fzb file which includes 5 projects. Now i want to publish in to fritzing so that any outsider can download our fritzing files.
May i know the standard flow or process how to do that?
I also want to add my company logo in fritzing

Please help me to add our fritzing files with fritzing.

If you publish the .fzpz files for your 5 projects one of us will look them over and point out problems. When the files are uploaded here they are available to the general public for download. To get your parts (and your bin) added to core parts in Fritzing you need to make a pull request against the frtizing-parts repository on github at which point if the parts meet the QA standards they will be added to core parts.

Peter

I have not explored this, but I believe it is also possible to upload a .fzb file that others can download and import to get the whole bin in their local environment. That is one of the ways to use the Adafruit parts.

As Peter says, in all cases, the parts should be run through some quality control before being widely distributed. There are several situations where parts look good in Fritzing, seem to work just fine, but then break in specific cases. A common problem is not exporting properly as an svg file.

Thank you all for the detailed information. now i got some idea how fritzing works.

I have one query which is…
If there are multiple grounds (GND pins) in the schematic view how to assign graphics for each pins?
when i try to give select graphics for second GND pins it will disable the first GND pin i have assigned.

I assume this is parts editor? I rarely use it because it isn’t completed and has a lot of limitations. You likely need to edit the schematic svg with Inkscape (or another svg editor) and assign the pins and terminalIds there. Grounds are usually part of a bus, and a bus can only have a single connection in schematic. So the usual answer to bused pins is to create them on top of one another in schematic so there is only one ground pin. It is also possible (which I do sometimes) to make individual pins for each ground (for instance when schematic matches the layout of breadboard which I often do.) Then you need to remember the limitation because schematic won’t let you make a second connection to an already connected part (the wire won’t connect when you drag it.)

Peter

Or (initially) assign the extras as GND1, GND2, etc. Then create a bus entry to tie them together in the fzp file. While in the fzp file, you could also edit the descriptions for the connectors. There can be multiple connectors with a description of “GND”, though the names are “supposed” to be unique. A sample I saw awhile back prompted some testing, so duplicate names “SEEM” to work (in version 0.9.4), even if parts editor rejects it.

Thank You peter and merlin

Another query

suppose I save my svgs and fzpz file as for example “Mithundesign” while I start my project. and once I completed and do the zip format to get the fzp file , I get something different naming’s.
may I know the reason or is that ok to continue?

“Mithundesign” this is my fzpz file naming exported from fritzing, and once i zip it
to get fzp file i get the files namings as

part.Mithundesign_f06aeb558af50aed7822ebbd80a8ec0d_2.fzp &

svg.Mithundesign_24736778611e8948b0d90294299418fc_2_breadboard.svg

The parts editor is adding the “f06aeb558af50aed7822ebbd80a8ec0d” to make the file name unique (it is based partly on time as I recall.) All files in the parts repository must have unique names (even imported ones) and this ensures that is true. You can manually edit the files to remove this (which is usually done by the parts maintainer when the part is added to core parts) as long as you ensure the filename is unique in the Fritzing-parts repository.

Peter

Thank you Peter.

Is there any way to edit the connector ID in fritzing tool.
I have copied an existing one and edited but now its show like the connector ID is started from 28 instead of 1. I could not edit it in the tool.
anyway to edit it or update it without effecting my project?

I assume you are using parts editor, which tends to do things like this (I don’t normally use it.) As well connectors should start from 0 (not 1) although parts editor may do that conversion internally. I don’t know that you can fix it from parts editor but you can edit the .fzp file and change the xml . This is a connector entry in the fzp file.

<connector id="connector0" name="pin1" type="male">
  <description>OUT</description>
  <views>
    <breadboardView>
      <p layer="breadboard" svgId="connector0pin" terminalId="connector0terminal"/>
    </breadboardView>
    <schematicView>
      <p layer="schematic" svgId="connector0pin" terminalId="connector0terminal"/>
    </schematicView>
    <pcbView>
      <p layer="copper0" svgId="connector0pin"/>
      <p layer="copper1" svgId="connector0pin"/>
    </pcbView>
  </views>
</connector>

To change the pin number you need to change all instances of “connector0” to the new pin number. You then need to change the pin numbers in each of the svg files as well, since the fzp pin number needs to match the pin in the fzp file (I assume that parts editor can and probably did, edit both of them.) Hopefully someone that uses parts editor regularly will have an answer that works in parts editor.

Peter

Thank You

Actually i am spending lots of time in lnkscape for schematic view for arranging the connectors and connector terminals and texts. because there are lots of unwanted connectors are appeared during the conversion.
What i have done was converted the eagle brd files to svg files.

how do i overcome this. because i dont want to spend lots time in editing the schematic svg.