Sketch review - USB connector and mounting holes


I think you’re right Peter, I should get some with a PCB drawing to make sure they fit.

I found a local retailer that sells the connectors with datasheet (including PCB drawing), but at a steep price. So I just ordered these from eBay, also with PCB drawing (note htat the first picture is off; the others are correct with the dimensional drawing):

I might give it a try myself, but I think it’s a lot safer if you could make the part, Peter…
(I should learn how to do it with a simple part first maybe)

@Old_Grey thanks for the tip too. I want to go for micro USB though.


The slots for the mounting pads are a problem. Fritzing doesn’t do slots as far as I know. They can be done as a 1mm plated through hole which would let you solder the mounting tabs down (but be too wide by .35 mm on the small edge). I’ll have to guess at the size of the two square pads as well as there size nor position isn’t specified but they don’t appear to be vital for anything anyway. I’ll do a footprint and let you decide.



I think PCB manufactures don’t like overlaping holes because it breaks drills, so it’s probably better finding a SMD version.


Try this one. As noted the mounting tabs are a hole (0.035in same as an IC) so if you have a board with ICs see if the mounting tab will fit in one before ordering a board. The ground pads are a guess because there location isn’t specified but I expect they will be close enough.

micro-USB-connector.fzpz (9.8 KB)


You might also try this one, which has the mounting pads on the bottom of the board as well (the one above is a real SMD part and only has pads on top). This one will not work correctly if you select bottom of the board though and may screw up at other times as well (if it manages to confuse fritzing which it may). This is a new part so it will load along side the first one. It appears to corrupt the first one as well however so neither of them (and possibly other SMD parts) will work as bottom of board.

micro USB connector-pads-on-bottom.fzpz (10.5 KB)



Never figured this small little connector would bring so much issues.

@Old_Grey: Good point there. I checked Eurocircuits requirements; besides slots being more complicated, they need to be defined as slots in the drill layer and not as overlapping holes. If Fritzing does not support slots, the only other options is oversized holes.

@Peter: thanks for attempting to draw it. Following @Old_Grey’s comment, this might not be the best option though, sorry…

After some more research I did find that there is some kind of standard for USB connectors layout. The standard SMD footprint is MK5P, which has two small holes near the connections (PCB drawing). These connectors are widely available online.
I checked the dimensions, it this is nearly identical to the Sparkfun part in Fritzing. Just the pad width should be 0.40 instead of 0.35 mm and two pads and the two holes are missing. I took a shot at modifying the part, but the Part’s Editor and I aren’t good friends yet.
Could you update this part maybe? (and again, where’s the button to buy you a beer?!!)

Adafruit also sells micro B connectors for an acceptable price with a datasheet, but again the through-holes requires slots - so a no-go.


AFAIK FZ can only do round holes, so slots are a problem. All I can think of is looking at a set of gerbers made by another program and see how they do it, and then mod FZ drill.txt file - the file gives hole size and cords -.

The 2 small holes are for pins protruding from the USB part and they locate and provide strain relief when cables are plugged in out.

FZ edit can’t do drawing changes, so it’s more complicated than that.


Assuming this footprint works, this has been a useful exercise in that we should end up with a verified Fritzing friendly microb USB connector which we didn’t have before. Try this one. Note it has a line to indicate where the board edge should be. If positioned correctly at the edge of the board the text on the silkscreen will be truncated as being off board.

micro-USB-connector-MK5P.fzpz (10.6 KB)



Thanks a lot again, Peter!
I think I have the final design then! :smiley: Time to print and see if everything fits!

Edit: after checking the etching files, I think the mounting holes for the ZS-042 are not added. Should I add holes for this manually?
Edit 2: I checked the drill file with a Gerber viewer, also the mounting holes for the ZS-042 are there. So I can continue to check PCB with the actual parts.

Watchwinder_shield_20190404.fzz (108.8 KB)


The mounting holes are showing correctly in both Fritzing and the gerber output for me. I notice if you were really doing USB you probably need a keepout area between the pins and the 4 square pads on the connector to keep the fill out of there but for power it doesn’t matter. Otherwise looks fine.



I saw indeed, the holes worked out just fine :slight_smile:

The usb will be used for usb-purposes; there will be a cable from the usb header pins to the Arduino miniUSB, to feed it with power but also enable me to still program it. Why and how should I design the keepout area for the pads then? In the current drawing the four mounting pads are already separatared, right?


Most USB connectors I have seen (this particular footprint did not) indicate no copper or traces near the USB signal pins presumably for signal integrity reasons (perhaps only on USB3). That may or may not affect you. I don’'t know how you specify a keepout area on fills, perhaps one of our pcb folks will chime in.



I understand what you mean. I double-checked the PCB design rules for USB 3.0 and USB 2.0. The former has quite strict rules about trace width, distance, length matching, etc. USB 2.0 is less fussy about this, the only advice I found is to keep the data traces relatively close and parallel, and not to use over 4" of trace length.
I also noticed that almost all USB 2.0 boards have no copper fill around the signal lines. I removed those from my sketch as well now.

The usb connectors will arrive in a week or so, then I can verify this last but crucial part of the board before ordering. Looking forward to receiving my very first PCB!


This project has been on-hold for some time. Last week I finally had the time to review the PCB. Unfortunately the holes for the ZS-042 RTC module are slightly off.

Any chance I can ask you again to modify the part? The dimensions as I measured them are attached below.
Apart from that, it looked very nice.



Sure I can fix up the part easily enough, but the file doesn’t seem to have uploaded correctly. It looks like it should be a jpg or png file but it won’t save as such and a right click gets me an html file rather than an image file.



Something seems to have gone wrong after editing my post indeed, my apologies.
Here’s the correct file.


OK here is a part modified to move the mounting holes to the new positions in breadboard and pcb. ModuleId is the same as the one above so you will need to remove that one from Fritzing before you can load this one.

ZS-042 RTC Module.fzpz (16.0 KB)



It works like a charm, thanks a lot!

Now I can with the parts editor again to only keep the 4 pins :smiley: (Do not want the 6-pin connector on my breadboard).


If parts editor bites you (a usual occurrence for me :slight_smile: ) feel free to post and I’ll edit out the unwanted bits from the underlying files. Its easy to do in the files, I suspect less easy in parts editor.



Thanks for the offer, but I managed! :slight_smile:
I simply removed the connections from the Connectors tab in the Parts Editor, and then removed the holes from the pcb’s svg with Inkscape. (For some reason Illustrator completely messed up the drawing.)

Just printed the copper layer and can test the footprints today or tomorrow. One step closer to finishing this project!

Question though about the Parts Editor: I opened the original file first, and saved a copy by ‘Save As’. Now if I edit my custom part again and try to save it, the filename prefix pops up noting that it will also automatically add a unique suffix - though it already has this. On every save, it wants to save a new copy again, cluttering up the library with multiple revisions of the same part.


I’m a bad one to ask about parts editor because I rarely use it. As well it was not finished when development stopped, and is not complete, and I wasn’t involved in Fritzing til after development stopped so don’t know much of what was intended. That said, I suspect the idea is because the prefix is unique and I think probably partially time stamp based, that provides a way to keep generations of a part (much the same as git). I usually find parts editor annoying and edit the underlying files.