Positioning the Arduino headers on a PCB board


#1

Hi; I am designing a PCB board to accept an Arduino - the board is larger than a std shield. I have added my 6,8 and 10 pin headers and locked them in place. Putting a shield over them - seems to indicate that they are (visually) correctly placed.
However - when I look at the inspector and the positions reported - I am concerned that they are misaligned. Example The 10 pin header shows a location of 2.218 and -0.022 and the adjacent 8 pin header shows a location of 3.180 and 0.078.
I would have thought the y position must match exactly and the x position must account for the normal 0.1 spacing plus the extra 0.05 spacing between these two headers

What am I missing?
thx


#2

Your best bet is to upload the .fzpz file of your part so we can look at the actual part and comment. Right click on the part and select export part to write out the .fzpz file, 7th icon on the left on the reply menu to upload it.

Peter


#3

Peter,
thanks for prompt reply. Sorry to be dumb…
I’m looking at my pcb view - if i right click on the pcb board I get no export option, likewise if i just click on the screen. Going to file export - gives me the usual - but no sign of fzpz

obviously I am missing a step ?


#4

Not dumb, just new to Fritzing (which is sometimes complex) :slight_smile: . Your part should be in one of the parts bins in the right hand window, probably the mine parts bin. That is what you need to click on to get the export part menu. That will write an fzpz file to the filesystem suitable for upload.

Edit:

It looks like you can do the same thing by clicking on parts->export part in the top menu bar. I’ve never used it before, but it look like it is the same as clicking on the part in the mine parts bin and works from a view which can be easier than finding the part.

Peter


#5

Thanks again. But what do you need me to export from the parts bin? I
have created (so far) 2 headers with the pinouts labeled - a 10 pin and an
8 pin.

I was thinking you wanted my pcb board layout - the x,y co-ords I was
quoting are on the board layout - i.e the positions of the two headers. My
assumption was that the y position of the two should be identical and I
should be able to calculate the x position difference to be sure I get the
0.150 spacing from the 8 pin to the 10 pin.

I do lots of 3-d cad work - this is my first fritzing project. I’ve taken
the pcb board all the way thru - but realised I had not allowed for 12v in
and so have started again - this time trying to make sure I clean up all
issues as I go…
thx
Mike


#6

Ah! my mistake then, I figured you already had edited a part (which is what you will need to do to make a shield part). Your life just got a lot more complicated because you are descending in to parts creation hell :slight_smile: . It is poorly documented and complex, but several of us are happy to help. Which Arduino are you targeting, because we already have shield templates for some of them? In fact if you type shield in to the parts search (the magnifying glass on the parts bin in the right hand window) they will all come up (along with a lot of non relevant parts because search is more than a bit odd :slight_smile: ). There are templates for the uno and mega there and maybe others. The icons with pcb traces are usually the shield templates. Here are a couple of tutorials (that apply to the current fritzing version which most do not) on parts making. You probably want Old_grey’s video series, it is more complete and more recently updated them mine.

Peter


#7

Are you saying that you have positioned parts in the PCB view, if it is then upload the sketch, ie the .fzz.


#8

OK - here is the .fzz

I have not used the std arduino shield as I am running a ton of traces thru the two IC’s and on to 4 Ethernet plugs going to the leds I am driving.

I will be supplying external 12v to the UNO and the regulated 5v to the two IC’s. there are a total of 8 sets of 3 leds and only one led in each set will be on at any time.

To repeat - my issue right now is to be sure the headers for the UNO that I have positioned on the new PCB are in the exact correct place to plug into the UNO & my reading of the Jx position would tell me that the headers (might) be off by a few thousandths (??)
PCB-Arduino shield base - V9 Power bus.fzz (30.0 KB)

thx


#9

They look pretty close - I can see slight non concentricity -, but it should be fine because the tolerance of the holes will allow for some movement. The double check is to print out the gerber and see if the part fits exactly on it.

The usual way to do this is to use an actual UNO and leave it there.

On a side note you might want to brush up on bendpoint junctions. If you click on Pin8 on U3 you will see pin8 on U1 doesn’t turn yellow, so they are not connected. What you do is grab a wire and move it and put it back, and that creates a bendpoint. Then run a wire to that BP, or hold ALT and click on the BP and run a wire to the pin. You can also right-click on a wire and make a BP. Basically things touching doesn’t means they are connected, but using BP junctions can tell you they are connected.


#10

Thx

I’m surprised I cannot use the location of each header to precisely position the parts - ? I would have thought a set of 4 co-ordinates for each of the required headers would ensure no problems.

I have positioned them by placing an Arduino shield (sent to back) and visually checking like you have done. Then deleting it.

I’ll be interested to see what Peter has to say about suing co-ordinates.

thanks for your help - I just fixed the power traces - good deal.


#11

I think the coords in FZ only has a 4 or 6 thou resolution, hence why it jumps when you enter numbers.

Everybody usually leaves the Arduino on the board even though it’s not part of a shied.

EDIT - Actually if you know how to edit parts at the svg level you can remove the silkscreen of the UNO.


#12

Old_Grey is a better bet on board issues than me. I rarely do boards. My normal method of setting coords is to edit the underlying svg file rather than using Fritzing. As Old_Grey noted the real test is to create the gerber files (yet another conversion inside of Fritzing) and check the position there with a viewer such as gerbv. The gerber output is what the board house will use to produce the boards and is thus the final answer to position questions. As suggested I’d print a copy of the gerber output at 1 to 1 scale on to a transparent sheet used to make projector slides and place it over your Arduino. If those holes match up you are golden.

Peter


#13

OK - all good points. I will try the gerber files and proceed from there.

appreciate the help