I’m laying out a shield to sit atop an “Arduino compatible” board (the Nordic 400150). I’m using the Modules:Arduino_UNO_R3 footprint from the standard library as the basis for the shield.
When I open pcbnew, the Arduino footprint is flipped from what I need: Looking at it from the top (component side), the six pin analog header is on the upper right – I need it to be on the lower right.
So my question is simple: is it legit to simply flip the footprint in pcbnew? Or do I have to do some other coordinate transformation before sending the board off for fabrication?
I think it’s perfectly fine to flip the footprint. It’s hard to visualize from your description but I assume that it is the only problem. I usually print out the board and test it by measuring it and putting the UNO to make sure it fits…
I am not sure i fully understand what you mean.
In kicad terminology, flipping a footprint puts it on the other side of the board. (It will appear to be mirrored)
If your footprint is a tht component you can of course mount it on the wrong side of the pcb to get a mirrored pin layout. But it is a bit of a dirty hack.
The silk artwork will be on the wrong side. In addition to that the courtyard and fab drawings are also moved to the other side.
The better solution would be to create a new footprint with the correct pin layout.
Yeah, it’s a bit difficult to understand what you want. The placements of the pin holes are fixed because the Uno is what it is, you can’t just move one pin header. Do you want to design a board which has the component side in the bottom compared to the current footprint, so that when it’s put on top of the Uno the components are on top? (I think the footprint has been made so that the shield is located in the bottom side of the Uno and the components are not facing the Uno.) In that case you can edit the footprint in the footprint editor, select everything and mirror it. Then, after saving it to your personal library, placing it into the board and rotating it, it has the six-pin header in the bottom right corner and the power connector in the left.
Let’s see. Here’s the top view (i.e. component side) of an vanilla Arduino board. Notice the six pin header in the lower left – it has the analog signals labeled A0 - A5, and A5 is in the lower right corner.
I initially assumed that this was also the top view / component side of the board. But note that the six pin connector is on the UPPER right. This makes me think this is the “bottom view” of the board. Everything seems okay if I flip it, at least I hope so, since I just spent a chunk of time laying things out with the flipped footprint.
That’s the basis of my question. FWIW, all the flavors of the Arduino UNO share this trait.
The reason that particular board is done that way is probably because the designer wanted to make a sandwitch of the “arduino” and the extra pcb. If you put all the components on the “top” side of the board, and then flip the board and stick it on the “arduino”, then you are being mooned by the backside, which probably has no components on it, and you have a compact sandwitch with all the components protected on the inside.
If I would design an AVR board myself, I would also put the AVR on it. No need for a 2 PCB sandwitch.
I guess that all makes sense, though I’ve never built one that way.
True that, but I’m building proof-of-concept analog circuitry to be driven by the Nordic NRF52. I’m willing to test the analog circuitry OR to test RF layout with printed antennas (etc), but not both at the same time! Thus I’m making a shield for the first generation.
If this footprint is mirrored shouldn’t it’s name reflect that?
Also, it’s name says it is R2 but it has an 8 pin connector like the R3 where the R2 has a 6 but it has an 8 pin connector where the R3 has a 10. It seems like a bit of mix or R2 and R3.
I think we where all confused by the original phrasing of the question. We assumed (at least i did) that OP noticed that he needs it mirrored. (As flipping a part to the bottom is a normal thing to do, not worth thinking about it.)
The footprint does not look mirrored to me. As the silk design is on the top side of the footprint it is expected that from that perspective the arduino board will then be on top of that.
As it is hard to describe with words here a series of photos that might show what i mean.
The upper “board” represents the footprint (the one with the green pin headers) The lower the arduino board. (Build to simulate the screenshots in post number 5)
Both are currently in the orientation as shown in the upper screenshots.
So sorry for misunderstanding the question and getting everyone confused. I was wrong to assume op wants to do some dirty bodge job.
@fearless
The footprint can be flipped if you want the top side in kicad to be the “yellow” side of my prop. (or in other words if you want the green connectors on the bottom side in kicad.)
Right, I think the footprint was intended to be used on a larger board, and then the Arduino would be attached face-down onto that larger board.
What the OP wants to do is create a shield (which will go on top of the Arduino). Therefore, assuming the shield is to have the component side up (as most shields do), then this footprint would need to go on the bottom side of the shield. (Therefore, it does need to be “flipped”.)
Really, for making a shield, a template would probably be the better way to go, rather than a footprint. I don’t know if there’s a template for Arduino shields out there, but probably someone has made one. (Just like how there is a long thread on the forum about various templates for making a Raspberry Pi HAT.)
Right, and I think in this case, the OP was correct to want to flip it. If you don’t flip it, then the component side of the shield will end up facing the component side of the Arduino. (Which would work, as long as the components aren’t too tall. But it’s not the typical way Arduino shields are done.)
Hiyas fearless!
Unless you want it to “look” like an Arduino shield, I would not use the outiside dimensions of the Arduino. The Fab house may well charge you for the extra square inches of board space.
The only reason I’d use this footprint would be to get the spacing of the headers correct. Then I’d make the board as small as possible to complete the circuit I wanted on it.
Note: I don’t know that I have the pin headers on the proper side of the board in the 3D view. I also have some SMD parts on the back side of the board; which I did check for clearance of the MC on the Arduino Uno board.
With all the SMD devices, with a fairly simple circuit design, I decided to just have the board fabbed instead of soldering the parts to breadboard modules and breadboarding the entire circuit. Breadboard connections can sometimes be flakey for many different reasons.
In the end, I’m pleased with doing it this way. I used OSH Park for fab, I have no connection with them other then as a satisfied customer, and I got the board back in a reasonable amount of time for fairly cheap. I will be doing other small SMD circuits this way again in the future.
Thank you @Rene_Poschl for illustrating the obvious, and +1 for the pictures.
However, the footprint is named “Modules:Arduino_UNO_R3” although the text on the board says “Arduino_UNO_R2” but it is neither of them. Regardless of the orientation of the text, it is a mirror image of the Arduino UNO R2/3 although it doesn’t have the same number of pins as either the R2 or R3. Therefore the name does not reflect what the footprint actually is, otherwise we wouldn’t be having this discussion.
Of course the board could be used to make a face-to-face shield (component side facing component side) as you have illustrated but that would not be a typical shield.
Therefore the footprint can’t actually be used to make a Arduino UNO R2/3 clone or a typical shield.
Good practice, to make small steps and build on that.
Have you thought about putting the NRF52 footprint (& support circuitry) on the board, but not populate it untill you have got the intitial version with the arduino working?
I mistakenly thought the footprint labeled “Arduino” was for creating a shield. Instead, I now understand it’s to be used as a receptacle for an Arduino board.
I agree with @Sprig that designing a custom, trimmed down board is always better, unless for some reason you really need the identical form factor of an Arduino.
I believe @ppelleti is correct that a template would be a better way to go. (Now I need to go learn about templates!)
…and tip of the hat to @Rene_Poschl for making the time for good visualizations.
Having said as much, the library footprint was helpful in getting the placement of the headers right: I overlaid my own 6-, 8- and 10-pin headers over the footprint, used the measuring tool to verify they were in the right locations according to the mechanical dimensions given here, then deleted the Arduino footprint. All happy.
Have you thought about putting the NRF52 footprint (& support circuitry) on the board…?
@paulvdh: That’s a sensible idea, but there’s a reason for my approach:
I’m doing a quick proof-of-concept demo for a client; the fastest path to a working demo is to piggyback on the NRF52.
The final product will have stringent size and packaging requirements, so it doesn’t make sense to put all the other circuitry in place until the client produces a complete spec.