New Part CJMCU-811 Part

I was unable to find the CJMCU version of the CCS811 breakout board so I have created my own. I was planning on using the Adafruit verison, but pins are slightly different.

https://github.com/gcoulby/FritzingParts/blob/master/CJMCU-811.fzpz

Welcome aboard! The part has a few problems (which may be from the original although I haven’t looked.) Most serious are in schematic which is missing some terminalIds which cause this (circled in blue):

the lack of a terminalId causes the wire to connect in the middle of the pin which is OK if the wire connects straight in (as is usually the case) but not if the connection is at an angle. As well the pins are not on the .1in grid (pin circled in red for instance) which makes for messy looking connections as the wires will snap to the grid. As well I prefer (you may not :slight_smile: ) that schematic match breadboard as it makes debugging easier, the wires in schematic are the same place as in breadboard, so I replaced schematic completely. Pcb has a couple of minor problems (neither deadly). From the gerber drill.txt file, the holes are 0.039945in (likely rounded up to 0.04in by the board house) where a standard .1 header has a hole of 0.038in.

old part drill.txt

; NON-PLATED HOLES START AT T1
; THROUGH (PLATED) HOLES START AT T100
M48
INCH
T100C0.039945
%
T100
X016407Y012333
X012437Y012333
X014422Y012333
X011444Y012333
X015415Y012333
X017400Y012333
X018393Y012333
X013429Y012333
T00
M30

As well there are a number of internal errors (svg scales, pin number sequence) that don’t affect part operation but are not correct. I fixed all of these in this new part (with as noted a new schematic):

CJMCU-811-improved.fzpz (6.0 KB)

This is a new part (with a new moduleId) and thus you can load it along side your original part (as I did to create the images above.)

Peter

Hi Peter,

First of all, thank you for provided constructive feedback on the work as opposed to just tearing me a new one. I really like this community for that!

It seems I still have a lot to learn about part design, though I feel its not bad for my first part. The scales are really confusing I am unsure about how to control them. I made this based on the Adafruit version and copied the pins directly so I don’t know how the scales went to pot.

Would you consider creating a pull request on github and publishing your changes to the repo I have made. I could upload it myself and replace the file in my repo with yours, but I would prefer you to get the credit for the modification. If you can’t for whatever reason, I can upload and credit you in a readme.

Thank you for the support.

Making parts is complex enough that not many do it. It is to our advantage to encourage people to make parts (over and above, tearing people a new one just seems rude :slight_smile: .) The folks that trained me (sadly no longer posting) were happy to answer questions so I’m carrying on the tradition.

True the part is functional, the errors are mostly cosmetic. These two tutorials on part making cover the current version of Fritzing (most of the rest are for older versions):

At a guess, you edited the schematic file in Illustrator. The original from Adafruit is correct (dimensioned in inches), your version is dimensioned in px at 72DPI which is why the scale problems. This is typical of Illustrator and if it is possible to convince Illustrator to use inches I don’t know how (from google searches I think it may not be possible, but if someone knows how please post!)
In any case here is how to convert the svg to something Fritzing will scale correctly using Inkscape (which is my svg editor of choice): the problem is the svg is dimensioned in px and Illustrator uses 72DPI as the px value. Inkscape used to use 90DPI and now uses 96DPI (the current CSS standard I think.) Fritzing tries to guess which DPI was used and sometimes as in this case gets it wrong. Here is the original document displayed in Inkscape:

Then the SDA pin with coords in inches:

Note the Y cood is 0.446in in the top tool bar. Then the SCL pin below it also in inches:

Note this y coord is 0.371in (not the 0.346in it should be to be on .1in centers.) To fix this, I first ungrouped the svg:

and recorded the scale (1.00000, circled in blue) for later. Note the Units (circled in red) are in px. Now make sure Scale stroke-widths (circled in blue) is enabled, and change Display Units (circled in red) to pt (points or 72DPI) to match Illustrators opinion of the DPI value. The scale (also circled in red) has changed to reflect 72DPI.

Now change the scale back to 1.000000

Note the image has gotten larger as it is rescaled. Now change the Display units back to px and the Units to inches (so we don’t have this problem again, because an inch is always an inch unlike the DPI values.)

Now we need to click Resize page to drawing to reset the viewbox to the correct coordinates but at an incorrect but consistent (i.e inches not DPI) scale.

The scale here is 0.75 but the parts file format calls for the scale to be 10.41667, so we should (but I am too lazy to do so right now :slight_smile: ) these instructions to reset the scale:

As noted if it is possible to get Illustrator to do this for itself, instructions on how to do it would be much appreciated. The discussion I’ve found seems to indicate Illustrator won’t let the user adjust the viewbox settings and I assume also the scale (although I would like to be wrong :slight_smile: .)

Sure I should be able to do that. I’m github challenged, I can get the first pull request to the main parts repo to work, but after that I have yet to figure out how to keep my cloned repo in sync (although I have some suggestions I haven’t tried yet.) but a one of I should be able to do.

Peter

1 Like