SCD30 CO2 + temperature + humidity sensor

Summary: There are several breaking errors in this version of the part too. As well as additional cosmetic problems that should be cleaned up.

I ran the contents of that part file through FritzingCheckPart. Here is a summary of what it reported, and what I noticed doing a manual inspection and smoke test in Fritzing.

There are ‘px’ units on font-size attributes in the schematic view svg file that Fritzing is known to not handle well. The text size can change from what was intended. Fritzing wants just numbers, without units. Fritzing wants just numbers, without units. Using ‘px’ units is valid for the svg format specification, but Fritzing does not handle it.

The new convention is to use black graphics for pcb silkscreen, instead of white. Fritzing automatically converts (and so does the FritzingPartsCheck tool), but for future reference, black is preferred for the silkscreen of pcb svg files.

The fzp part definition file does not have a “fritzingVersion” attribute for the module element. The handling of some part details has changed over time (older versions of Fritzing), and the value of the version is used to choose which way certain things are interpreted. A value of “0.9.4b” should tell Fritzing to use the (currently) latest rules. Fritzing Parts Editor automatically fills in the full version number. When manually creating parts files, a shorten version is good enough.

The connectors in the part have been configured with the type set to “female”. Except for parts that act like breadboard, and some ‘shield’ or ‘hat’ parts, that is normally better as “male”. The connectors need to be “male” to all the part to be dragged onto a breadboard, and automatically connect. With “female”, other (male) parts will automatically connect to this part when the connectors line up. Without using any wires. Which way this should be implemented depends on the part (and user preferences), but using “male”, and allowing the part connectors to link to breadboard connectors is the usual expectation.

A warning is being reported about an “-inkscape-font-specification” with an invalid value. As long as the standard svg “font-family” entry also exists, the inkscape specific extension can be safely ignored.

The “breadboard” layerId specified in the fzp part definition does not exist in the matching svg image. This will “appear” to work in Fritzing, but exporting a sketch to an svg image will not include the part. The “breadboard” id should be added to the first/outer wrapper group element. Currently there is not wrapper group, so it should be created. Select all, create group, in Inkscape.

The same problem exists for the “schematic” layerId and matching schematic svg file.

The part definition shows terminalId attributes for connectors in the breadboard view, which do not actually exist in breadboard svg. If the terminalId is defined, a matching graphic element should exist in the svg.

Normally, a terminalId is not needed for breadboard view connectors. Especially when the connections are just header pins. An edge connector might need one.

The part definition shows terminalId attributes for connectors in the schematic view, which do not actually exist in schematic svg. These should exist in the svg. They are used to give Fritzing a reference point, to “snap” wires to. Without this, wires attached to the connectors will be drawn to the middle of the connector pin line, instead of to the end.

There is a graphic element at the start of the pcb svg file, that is not in any of the layerIds specified in the fzp file. It is probably intended to be part of the silkscreen. As is, it will not be included in any export of the pcb view.

The fzp definitions show both copper1 and copper0 layerIds for the pcb view. That normally indicates that the part is through hole. However, the pcb svg file only contains a copper1 layer (group). There is no ‘bottom’ copper for the connectors. So the pcb information has this as an SMD part.

FCP also complains that the pcb connectors do not have a radius, which means that no hole will be drilled. If this is really an smd part, the connectors should be drawn as filled pads. This visually look like circular holes with copper rings around them, but that is not what will be exported to gerber. If these are supposed to be through hole connectors, the “connector«n»pin” elements should be circle elements. The radius of the circle, combined with the thickness of the stroke determine the hole size. Non-circular copper rings can be create by adding additional elements, but the circle needs to exist to get a hole drilled.

The connector pin lines in the schematic view should be a standard color, not colorized by function.

All connector pins in the schematic view should align to a 0.1 inch grid. Because the terminalId elements are missing, the part is aligning to the center or the lines, instead of the ends.

Several of the connector descriptions in the fzp file seems to be overly verbose. Having details is good, but try to keep it to only enough to understand what the connector is for. Not the complete history, and how to use it.