Calliope 3 als Bauteil nach Fritzing

Guten Abend,
ich hoffe, dass es kein Problem ist, wenn ich in deutsch schreibe.

Ich möchte den neuen Calliope 3 als Bauteil in Fritzing einbinden. Ich hatte das schon mal für den Calliope 1.3 gemacht. Damals habe ich von den Entwicklern aber eine Eagle-Datei bekommen. Mitlerweile arbeiten sie mit KiCad.

Gibt es für KiCad auch ein Skript, welches die nötigen svg-Dateien erzeugt?

Gruß Harald!

German isn’t a problem, we have google translate :slight_smile:

Eagle2Fritzing will do so if you can share the Eagle brd file either by uploading it or via a private message. It isn’t particularly easy to use but I have a copy and helped do the Fritzing part for the Caliope 1.3 and can do this one for you if you like.

Peter

via google translate

Deutsch ist kein Problem, wir haben Google Translate :slight_smile:

Eagle2Fritzing wird das tun, wenn Sie die Eagle-brd-Datei entweder durch Hochladen oder per privater Nachricht freigeben können. Es ist nicht besonders einfach zu verwenden, aber ich habe eine Kopie und habe beim Fritzing-Teil für Caliope 1.3 geholfen und kann das hier für Sie machen, wenn Sie möchten.

I know you helped me a lot. That was great…
The problem is that the developers don’t have the Eagle file. They’re working with KiCad now.
Is that OK? I don’t think so.
I have the KiCad Project-File
Greetings Harald Rau!

You are correct AFAIK there isn’t a Kicad converter to Fritzing that I know of. It is possible (if more work) to make a part without Eagle files though I would basically need The physical size of the board (unless it is identical to the 1.3 version) and the connectors pinout which seems to be available on the web site here if I select version 3:

The KiCad project file should give me the dimensions of the board and the placement of the parts. I don’t know of any JADAC parts for Fritzing yet though but the connectors can certainly be added easily enough.

Peter

I have two files, one I exported from KiCad and the other was sent to me. They both look strange though. I’ll attach them.
Oh, and the component editor doesn’t accept the file either.

I’m sending the files as a zip, can I do that?

Here the file as download:

https://berater-medien.de/calliopemini3.svg

https://berater-medien.de/miniv3-B_Cu.svg

I don’t think JacDac is the problem, or are there already JacDac parts in Fritzing.
It’s also a Microsoft standard - not very nice.

File upload won’t (I don’t think!) accept zip files, but if you rename it to .fzpz (which is a zip file) it will upload it fine (upload is 7th icon from the left in the reply menu.)

edit:

Actually the svg file that you uploaded should do the job I can figure out the size by setting the headers to 0.1in and that should scale the svg.

Peter

If you did that, I would try to include both files in the component editor and save the component as NEW.

This part should do what you want. Pcb view has been suppressed as not useful and I am unsure that the battery connector is correct as I can’t find any information on which pin is positive or negative (the connector is keyed so you can’t connect it wrong but there are no pictures I can find with the cable connected.)

calliope-mini-3.fzpz (34.2 KB)

Peter

Thank you very much!
I will check the connections again, I can communicate with the Calliope developers about this.
I will also try to create the pcb view. I will read the instructions on Fritzing carefully.
I need the pcb view if I want to develop a shield for the Calliope. I have already done that with the excellent production service from Fritzing.
I will let you know when I have a result. But that may take longer than the weekend. I am a bit older and can’t work to night like you.
Thank you very much!
Harald!

Good morning,
I made two changes.
The battery connection had to be replaced. I checked it on the original board with a measuring device.
The VCC connection (PIN 52) has an internal connection with the Bat+ connection (PIN 46).
Greetings Harald!
Calliope_mini_3_V_1.fzpz (105,7 KB)

So, I’ve made some progress. I have removed empty groups from the PCB file and added the groups “copper0” and “copper1.” I used your old file as a model for this. I noticed that the file from Calliope 3 still has an error.

All the connections are solid yellow circles with a solid white circle inside. In your file, it’s a circle with a thick line. I will change that this afternoon and then test it. I’ll send you the file for checking afterward.

Best regards, Harald!

Hello,

I have now tried to adjust the PCB file. Unfortunately, the component editor does not accept it. It only shows purple areas for the connectors. It probably needs to be scaled, and I couldn’t manage that. Can you take a look at it?

It always recognizes the file as svg, no matter what extension

Calliope_mini_3_PCB_2_i.svg

Gruß Harald.

While I can’t access the svg in Calliope_mini_3_PCB_2_i.svg, it won’t render in Firefox, and won’t appear on a right click to save the svg (probably because the svg hasn’t been loaded!) That said I expect the problem is that the .fzp file needs to change to add back in the pcb definitions and Parts editor can’t do that. I took your Calliope_mini_3_V_1.fzpz post and made the necessary changes there (and will explain them here!) to make this new part. I replace the header connectors in pcb with circles sized for 0.1in headers (0.038in) and replaced the paths for the larger circles with circles because Fritzing gerber processing has troubles with paths in pcb usually to create this new part:

Calliope_mini_3_V_2.fzpz (44.6 KB)

As well here is my test sketch which the following images are from:

Calliope_mini_3_V_2.fzz (67.3 KB)

breadboard and schematic don’t change, but pcb now exists except the various connectors are disabled in pcb like this

the connectors that are suppressed in pcb are circled in red here

in pcb the header exists, but there is no connector on the Calliope and no connection from the header.

That needed to happen in the .fzp file (which as noted the parts editor AFAIK can’t change) is this

original here the pcb definition has been replaced with the breadboard svg to suppress pcb view (Fritzing needs a renderer in pcb or it is unhappy, but will use but not display the breadboard svg!)

      <layers image="schematic/calliope-mini-3_1_schematic.svg">
        <layer layerId="schematic"/>
      </layers>
    </schematicView>
    <pcbView>
      <layers image="breadboard/calliope mini-3_1_breadboard.svg">
        <layer layerId="breadboard"/>
      </layers>
    </pcbView>

In the new part this has been replaced by this (a standard .fzp file!)

    <schematicView>
      <layers image="schematic/calliope-mini-3_2_1_schematic.svg">
        <layer layerId="schematic"/>
      </layers>
    </schematicView>
    <pcbView>
      <layers image="pcb/calliope-mini-3_2_1_pcb.svg">
        <layer layerId="silkscreen"/>
        <layer layerId="copper0"/>
        <layer layerId="copper1"/>
      </layers>
    </pcbView>

Then in the pin definitions I needed to add back in the pcb definitions and only remove them for the pins that don’t appear in pcb (basically the connectors)

original file has no pcb definitions for any of the connectors

  <connectors>
    <connector id="connector0" type="male" name="Pin 1">
      <description>GND</description>
      <views>
        <breadboardView>
          <p svgId="connector0pin" layer="breadboard"/>
        </breadboardView>
        <schematicView>
          <p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
        </schematicView>
      </views>
    </connector>
    <connector id="connector1" type="male" name="Pin 2">
      <description>GND</description>
      <views>
        <breadboardView>
          <p svgId="connector1pin" layer="breadboard"/>
        </breadboardView>
        <schematicView>
          <p svgId="connector1pin" layer="schematic" terminalId="connector1terminal"/>
        </schematicView>
      </views>
    </connector>

the new .fzp file has pcb definitions for the pins that will appear in pcb (connector0) but not for ones that don’t (connector1)

  <connectors>
    <connector id="connector0" type="male" name="Pin 1">
      <description>GND</description>
      <views>
        <breadboardView>
          <p svgId="connector0pin" layer="breadboard"/>
        </breadboardView>
        <schematicView>
          <p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
        </schematicView>
        <pcbView>
          <p svgId="connector0pin" layer="copper0"/>
          <p svgId="connector0pin" layer="copper1"/>
        </pcbView>
      </views>
    </connector>
    <connector id="connector1" type="male" name="Pin 2">
      <description>GND</description>
      <views>
        <breadboardView>
          <p svgId="connector1pin" layer="breadboard"/>
        </breadboardView>
        <schematicView>
          <p svgId="connector1pin" layer="schematic" terminalId="connector1terminal"/>
        </schematicView>
      </views>
    </connector>

So this new part should do what you want and allow a shield to be made that attaches to the edge connectors on the Calliope. You can make a shield template from the pcb svg in this part. Hope this helps, ask if anything is unclear!

edit:

I managed to download the svg file finally. It has a few problems though

The paths circled in red will appear on the top of the board because they the are in copper1 group but not copper0 (where they would appear on the bottom of the board!) They are also defined as connectors in pcb which is incorrect as they are not through hole. It would be best to delete them all as unneeded like this

after that the connector numbers need to match the pin definition in the .fzp file. The pad circled in green is defined as connector6pin, but according to the original .fzp file it should be connector0pin, and connector1pin should be the left and down pad not the one on the right. As I said I think the original problem was likely the lack of pcb layer definitions in the .fzp file but incorrect pin numbering will also cause problems.

Peter

Sure! Here is the simplified English translation of your message:


Hello Peter,

This is perfect work. I’m very pleased. Now I can introduce Fritzing in my teacher training sessions for Calliope mini 3. I think it’s very important for primary school students to be exposed to this technology. In secondary school, they can then use Fritzing and the Calliope Mini 3 to create real small projects.

I made two more changes:

  • Calliope GmbH wanted their logo on the board, which was not included in this version of the file.
  • I added the SoC data to the metadata.

Will you copy the component to the develop branch, or should I make the component available for download?

Again, a thousand thanks. I will pay €20 instead of just €8 for the next version download.

Calliope_mini_3.fzpz (57,3 KB)

Best regards, Harald!

The new version looks fine. Feel free to make a pull request on github at

https://github.com/fritzing/fritzing-parts/pulls

to get it added to core parts (I believe parts are only be updated on code releases at present.)

Peter

Hello Peter,

I just forked fritzing/fritzing-parts and wanted to add the files for the Calliope 3. However, I noticed something about the file naming conventions. The file calliope-mini-3_2.fzp is named part.calliope-mini-3_2.fzp, and all the other files have the prefix svg.

In the fritzing-parts/core folder, the file should be named calliope-mini-3_2.fzp. In the XML file, there was no svg prefix for the other files:

xml-code:
<layers image="breadboard/calliope-mini-3_2_1_breadboard.svg">

i must type:

mv svg.breadboard.calliope-mini-3_2_1_breadboard.svg breadboard.calliope-mini-3_2_1_breadboard.svg

is this right?

Sorry! I tend to forget not everyone knows about the two different formats for parts. For the parts repository you need to change from fzpz format (part.xx.fzp, svg.breadboard.xx.breadboard.svg, etc) to repository format which is different. For the repository the fzp goes in core/xx.fzp (the part being removed) and the svgs go in svg/core/breadboard/xx.breadboard.svg (removing the leading svg.breadboard. which tells the Fritzing loader how to change the file name to the appropriate repository file name), and you need to add a copy of the breadboard svg to the icon directory as svg/core/icon/xx.breadboard.svg for the icon file (the loader automatically copies the svg but the repository won’t AFAIK), svg/core/schematic/xx_schematic.svg and finally svg/core/pcb/xx_pcb.svg. There has been discussion about allowing .fzpz files in the repository but I don’t think it has been implemented yet so you still need to do the translation manually.

Peter

Thank you, that’s what I thought.

I have already renamed the files. I will upload them and request a pull.

Gruß Harald!

…but I think I need to change the path to the icon in the XML file. It currently says:

<layers image="breadboard/calliope-mini-3_2_1_breadboard.svg">

Shouldn’t it be:

<layers image="icon/calliope-mini-3_2_1_breadboard.svg">

Best regards,
Harald!

In the fzp file the path “icon/” is telling the loader to load the svg in to the svg/core/icon directory. In repository format calliope-mini-3_2_1_breadboard.svg needs to be in the icon directory as calliope-mini-3_2_1_breadboard.svg, it doesn’t need the directory prefix as it is already in the directory and not going through the loader.

Peter