I’m trying to replicate a PCB design that was originally done in Altium. I have uploaded a a partial screenshot of the original schematic design that was done in Altium.
The PCB design has 2x rows of 22-pin receptable pin connectors (headers) via J5 & J6 that are soldered as through-hole components into the PCB. The LCD which is a 44-pin custom LCD has 2 rows of 22-pin male header pins that effectively push fit into both J5 & J6.
The problem I am facing is that when I create a symbol for the LCD component, the pins associated with the symbol for the LCD, have an associated set of corresponding PADs for the footprint, which is effectively duplicating the PADs of the components J5 & J6 when I transfer them to the PCB layout (see screenshot in next post). I’m not sure how the original designer who created the design in Altium overcome this issue of duplication of PADs, but any suggestions on how to overcome this issue would be very welcome.
I could remove J5 & J6 from the schematic but then it would be removed from the BOM list, which I don’t want to do as the PCB design-house may not know where to solder J5 & J6 into the PCB. Similarly, if I remove the LCD component, then the silkscreen and keep-out areas associated with the footprint will be removed from the PCB. In anycase, the original design had J5/J6 and the LCD symbol in the original schematic. I’m not sure how they avoided duplication of PADs associated with the symbols.
I have also included a partial screenshot of the PCB layout in KiCad highlighting the duplication of the PADs for J5/J6 and the LCD component. The forum would only let me include one uploaded image as a new user in the original post above.
Thanks Nick. The problem is that I created the LCD footprint which has the correct spacings between the 2 rows of pads for the LCD pins and I have a keep-out area implemented so that I don’t accidentally encroach on this area.
I’m thinking one solution is to select “do not populate” for both J5 & J6 but manually place J5 and J6 on the silkscreen alongside the two rows of pads. I’m not sure though if by selecting “do not populate” if it removes J5 & J6 from the BOM list. Maybe I’m better off creating my own BOM list in excel anyway, where I can insert links to the suppliers website.
Well, and if you remove the keep-out area of the LCD?
I do understand that the LCD is the reference of the footprint, I’d do it the same way. The LCD is placeholder for the connectors.
Then, place J5 & J6 on the vias defined by the LCD. So the manufacturer knows where to place the connectors.
Inserting the LCD into the connectors is not a job of the pick and place machine, but an additional manual step. Thus the “do not populate”.
Yes, I take your point that the LCD is not populated by the pick and place machine, but it is on the BOM list for the PCB.
What I have done for now, is click on the “do not populate” option for J5 and J6 and but it leaves a big “x” strikethrough on both components on the schematic which is not very elegant.
Also, it generates errors when I update PCB from schematic as follows:-
Error: Cannot add J5 (no footprint assigned).
Error: Cannot add J6 (no footprint assigned).
I was hoping somebody has encountered such a scenario and had a more elegant way to solve this problem.
J5 & J6 should be populated, they are soldered to the PCB so they are part of the PCBA. LCD1 should also be populated but you need to change the footprint for it to something that you can use to position it on the PCB layout (then you will be able to see it in the 3D CAD), I do something similar with jumpers . . .
You have basically the same issues with Altium. In Altium I would also take the solution of removing the pads from the LCD footprint – the footprint should only show the overall size of the LCD and its 3D model. The pads should only be on the connector/header footprints. The three footprints (2 connectors and LCD) would then be grouped together so they move as a unit.
Shortly after I posted my answer, I biked to work and my brain got some extra oxygen.
And I realized, that my “solution” will not work. It will end up with two holes at the same place (several times) and I bet the PCB-manufacturer will complain about that. If the bore is slightly offset, the drill will break. So my guess is, that they will reject that board. Even if it works on your side.
I have a symbol for the LCD component in the schematic, which has the pins labelled. When I create the footprint for the LCD then it has to have a corresponding set of PADs for the footprint. I’m not sure how to deal with having a sets of labelled pins on a symbol for the LCD without a set of corresponding pads on its’ footprint?
Instead of using generic connector symbols in the schematic, make custom symbols that have the exact pinout of the LCD module as the pin names
The LCD symbol in the schematic should have no pins (just like its footprint has no pads). The only purpose of the LCD symbol is to show up as a line item on the BOM, and to drive the footprint to the PCB. That footprint’s responsibility is to show the LCD shape and position for relevant things like the silkscreen and 3D model of the board. It has nothing to do with the connectivity of the design, as it has no pads.
I understand your point, but I still don’t understand how the original designer dealt with this (original image in this post) as he had the pins labelled on the LCD symbol. This is a PCB that was developed by Microchip that I’m trying to replicate.
One thing I was thinking is to overlay the pads on top of eachother for J5/J6 and the LCD. I would assume this is a dangerous thing to do if the PADs are slightly misaligned and I’m sure it would create all sorts of DRC issues with PADs overlapping eachother.
Probably the LCD symbol was not mapped to any footprint on the board in the original design. I don’t think the original design was done in a very good way.
I do not recommend overlaying the pads from multiple footprints.