Wrong components alignment for JLCPCB (no clue if due to KiCad or due to script)

Yes in agreement with my collaborator we decided to leave the diodes as THT instead of as SMD. It’s a kit that it will be distributed to ppl that like to assemble stuff but they are not so familiar with SMD ad these components, are under risk of some failure for bad use.
Hence they are easier to be replaced by these ppl.

yes I know what JLCPCB will correct them manually (they do very well), although I’m still wondering why the plugin/KiCad cannot be already aligned.
In one of your posts you mentioned PCBWay, but for them another different script is used.
The one mentioned by me, is the one used for JLCPCB only, and I use it very intensively.

I do not (or have not yet) used a script for PCBWay. If you want to use THT that’s fine. My point was there may be standards issues with THT resistor reels as there are with SMT. Since I only do low volume production (< 100) at a time) I usually solder my own connectors and other THT parts. Well I have somebody local do it for me.

Also, consider this. Resistor leads are very long and cut to length and formed before placement (see below). In case you haven’t noticed the resistor (and other similar) footprints in Kicad come in different lead spacing pitches. How exactly is that supposed to be communicated to the manufacturer? I suppose they could automatically parse the position file and figure it out. Then transfer that information to the lead forming machine. [EDIT] Thats probably wrong. It could be figured our from the footprint name in some cases but if I had to guess they measure it from the gerbers.

Essentially you have to figure out he quirks of each manufacturer and create your own workflow that is repeatable and predictable.

Though this does beg the question of hand assembly vs automatic placement for THT. From what I understand JLC hand solders all THT. No wave or selective soldering. So what about the placement?

I’ve toured a local PCBA factory. Yes they still exist in Nort America. Are very expensive. But have their uses. First the resistors need to be lead formed and trimmed to the correct length. There are machines for that. After that I’m don’t remember about their pick n place. If I had to guess I would say they hand soldered. Can the modern pick n place SMT machines handle THT? Even if they can for low volume assembly its probably cheaper for JLC to do it all mostly by hand. Don’t forget they charge extra for THT amongst almost everything else not “basic” for good reason.

As for wave soldering THT I could be wrong but I believe selective soldering is preferred now. BTW its a marvel to see in action. Imagine automatic soldering THT connectors on an already populated double sided SMT board.

So machine cost and setup is probably another reason why they do all THT by hand. Especially considering most parts are available in SMT. I do prefer THT for mechanical stability though.

I used to design telephones to be made with a single sided THT production line, using Panasert machines. This required slightly larger holes than you would expect and relatively long leads before the bend, much greater pitch than the OP posts.

Yes on the plugin GitHub page they suggested to try the direct output form KiCad.
And ok, it’s not the plugin, but I think it’s just the way you told: the different references by JLC.
In the screenshot the misalignments.
image

Did you try using a different plugin for exporting to JLCPCB?
This seems to be the most used: GitHub - Bouni/kicad-jlcpcb-tools: Plugin to generate BOM + CPL files for JLCPCB, assigning LCSC part numbers directly from the plugin, query the JLCPCB parts database, lookup datasheets and much more.

2 Likes

Alternatively try this JLCPCB tool which uses the same component orientation database as the plugin:

Thank you for the hint.

i will try them. i was not aware because they aren’t into the list of the available plugins into the plugin manager. If effective, they should be available one day soon.

EDIT: the first one is fantastic because there is also the link to the database of JLCPCB for the catalogue and names/order the file sin more proper way. At the moment the orientation of the components still wrong. BUT diodes. Those are placed ok:

image

First plugin the winner.
For who doesn’t know, because into the read.MD file is not clearly expressed, once activated, click on ROTATATION then click on UPDATE … magically it works!

Thank you you have made my day :slight_smile:
image

3 Likes

I encountered a similar problem, wrong orientation or wrong position (component shifted).

In my case, nothing was wrong with the software. The component footprint in the KiCad library used a different origin and/or a different orientation than the component in the JLCPCB library.

I adjusted my footprint to match the JLCPCB library, no more problem.

1 Like

The above plugin suggestd, adjusts the parameters without the need to edit each time the CSV and remembering what’s the offset for ICs and transistors and also to try to move diodes :slight_smile: just one button and it does the job.

1 Like

I don’t understand all that fuss about the orientations with JLCPCB.
I have ordered countless PCBAs with JLC, never bothered to fix the rotations and every single PCB came out fine. You just have to make sure to have a proper polarity mark (pin 1, cathode, +) on the PCB and they’ll fix it.
Why bother with modifying orientation or placement shift yourself? Did anyone ever receive an incorrectly assembled PCBA?

The underlying problem is (as I understand it) that there is no standard for specifying placement or orientation of a component and for that reason every assembler does this manually. With JLC the 0° orientation is the way the component sits in the tape, which is completely random.

2 Likes

Well not quite, it has to be consistent for a particular part number which is why their preview can show it, right or wrong.

It’s true that JLCPCB will probably take responsibility and fix the orientation. However if they get it wrong they will probably have to redo the job (and not tell you) so there may be an additional delay which you may not notice if you are using cheap shipping. Or there may be another round of emailing with you to confirm.

Of course this is why we have so many standards: to make life interesting. :rofl:

2 Likes

I have read that KiCad and JLCPCB manufacturing are inherently incompatible because of different standards used to represent part positioning and orientation. This explains why my parts look like this in their viewer.

Is there any easy solution with this in KiCad 7 that I am not aware of? I’m using KiCad 7.0.7 currently.

I moved your post to this thread because it’s a known issue and you can see some solutions above. For example there is at least one plugin that allows you to correct the orientation and then remembers the correction for future use with that part number.

thanks @retiredfeline I also read in this thread that someone else just ignores these issues and submits and JLCPCB fixes it on their end? I wonder how reliable that is?

This is actually quite frustrating and surprising. The way I understand this is it is a lack of standards. KiCad uses one standard and JLCPCB uses another and there is no easy way to get from one to the other without installing more plugins or python scripts. In fact, there is a very nice plugin in the KiCad official library called Fabrication Toolkit for JLCPCB, does in fact produce all the correct files with proper headers for the position and bom file but, amazingly, when send over to JLCPCB, the orientation are all wrong on most components. Baffling.

Or too many standards. Manufacturers decide to do something different for their tape.

The plugin you mention is I believe by JLCPCB themselves. Perhaps you should ask them to incorporate orientation correction.

It’s just one of those things in life.

Not sure it’s relevant, but I just submitted a board for fabrication by JLCPCB layed out using Eagle 7.7.0. After generating the Gerbers using the JLCPCB-supplied Eagle CAM job, I tried to view the board with KiCad’s Gerbview (7.0.7). The holes it displayed didn’t line up with the pads, which concerned me. Checking JLCPCB’s support notes, I found that they generate drill files with 5 digits of precision, which causes trouble with many Gerber viewers. Gerbv showed the board properly.

Could this be related to the assembly problem described in this discussion?

1 Like

I think yours is a different issue. People generally see rotation discrepancies of the part body.

With this plugin under KiCAD I solved my issues forever.
I dropped the “official” plugin.

1 Like