Recently ordered some boards from JLCPCB - first time getting boards made using gerbers from kicad nightly rather than kicad stable. The plotted gerbers appear fine in gerbview, ucamco reference viewer, and on the preview on the jlc website.
However, I checked back at the JLC website once they had processed the data for production, and the assembly preview showed strange pad shape. I assumed it was probably a bug with the web preview and downloaded the production data file from the order page, and examined the processed gerber files - unfortunately the problem is there as well, and presumably that means that my actual boards will have this issue.
The issue is that some rounded corners on pads have become a sharp concave corner:
Looking at the gerbers from kicad, it seems that the rounded rectangle pads are using aperture macros now in nightly:
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3,0*
1,1,$1+$1,$4,$5,0*
1,1,$1+$1,$6,$7,0*
1,1,$1+$1,$8,$9,0*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
%AMOutline5P*
Something at JLC is breaking that macro, unfortunately. It’s as if some of the corner circles just go missing.
To be sure this was related to a change in nightly, I checked the gerbers for the previous revision of my board, which was done with stable kicad and made properly by JLC, and they do not appear to use aperture macros for the rounded rectangle pads.
I also note that the gerbers from stable kicad don’t show any warnings or errors when loaded in the ucamco reference viewer. But, when I load in my new gerbers from nightly, I get a big pile of warnings and one error. I don’t think these are actually related to this issue though. The warnings are all “Standard attribute ‘%TO.C’ is invalid, continuing”. The error was on one of the copper layers: “Invalid coincident draw, continuing without cleanup”. Note that this JLC rounding issue occurs on all layers where rounded rectangle pads exist - copper, mask, paste.
Overall I’m fairly sure this is a bug in whatever software JLC are using, not a kicad issue. But it is something that folks should be aware of.