Now testing .kicad_pcb uploads to OSH Park!

Relative : With Drill, Place and Grid Origins set to lower left corner of board area.

Absolute : With Drill, Place and Grid Origins set to 0,0

Don’t use “rounded rectangle” as SMD pad shape. Doesn’t work yet & the error message is not conclusive.

1 Like

Thanks Anool! I got this fixed up, and will be pushing live later today. Looks like the scripting API honors the Aux axis for gerbers, but not drills. I’ve configured things to just use absolute on our end.

1 Like

This is fantastic news. It will reduce the stress of ordering boards (I won’t have to consider if I got all the settings in the plot dialogs just right). Thank you for doing this!

Updating of fill zones is a very good idea. I got bitten by this once.

Hi Dan,

Just tried with a board. It seems that I need to reset my aux_axis_origin to (0,0) even if useauxorigin is set to false, otherwise the drills are always offset.

A couple of messages to tidy you may be aware of already:

Rendered from “”
Warning: Removed empty file “RAMPS-FD.kicad_pcb”.

BTW, I should mention this was a board produced using the old stable KiCad version BZR4022. There are differences in file format between that version and the latest stable releases (v4.x.x).

Hey bob! We just pushed an update to fix the aux_axis thing 2 minutes ago. Can you try now?

Yeah, aware of the “Removing empty file” thingy. We’ll get that taken care of.

Great! The rest is just thinking out loud…

Just to clarify what the functionality is… The customer submits a .kicad_pcb file instead of an archive of Gerbers. You will read the plot dialog settings (last values) from the .kicad_pcb file, override some of them to meet your fab’s requirements, then plot Gerbers for fabrication. Otherwise your ordering process will be the same (continuing to preview the layers), possibly with warnings about settings you have overwritten.

You should make it clear that the customer must plot Gerbers to make sure the settings are correct (is that true? and probably they do that anyway to check the Gerbers visually). Also, you might say that if the customer, subsequent to ordering, plots and changes the settings, their own .kicad_pcb file won’t reflect what they ordered, i.e. to freeze a design requires also not touching the plot settings. Also, you might say that the customer should plot just before ordering, to check that the settings are correct. (Maybe they most recently plotted only the paste mask layer when ordering a stencil.)

Will you override the ‘Merge PTH and NPTH’ drills setting?

You will keep the old ordering process for non-KiCad users? Also in case KiCad changes and the user has an old version that you don’t support?

Yep! Part of the “test phase” here is to figure out what settings we should honor versus override before we finalize our documentation and processing. The main one I’m curious about is “plot invisible values/references”. I suspect the right thing is to always disable that option on our end, as if someone forces it it’s likely for assembly/debugging, not production.

As far as I know, this is the only way to “save” plot settings. From what I can tell though, it’s only via tenting, footprint values, footprint references that are real options. Everything else is either mandatory for the board to work, or already being done on our end anyway.

This part is set by our end. We’ll plot all manufacturing layers, even if the last plot was never performed, or only for certain layers. Between Kicad’s defaults and ours, a board that’s never been plotted will work as expected, give or take a silkscreen or soldermask preference.

Yep. We do this anyway, as it’s simply part of our processing.

Absolutely! We actually just made some improvements to our Kicad gerber handling to better detect the filenames. We now should correctly ID all kicad gerber exports from 2012 to present, regardless of whether they were generated with Protel filenames or merged drills.

I’m not worried about old versions though. I’ve seen Kicad 4 load up ancient pcb files from 2011 without issue. The devs seem very keen on maintaining full backward compatibility, which is admirable. It’s the new development versions that are the most likely to cause trouble, as Madworm found out.

I just ordered two set of boards and the NPTH came back as plated. Not a big deal for this project but wanted to let you know. Order number #rqWRYBwK.

Did you send a " *.kicad_pcb " native file, or did you send Gerber and Excelon files?

If you sent a native KiCAD file and the hole was properly defined as NPTH, it looks like they have a bug in their CAM system.

If you sent the traditional group of fab files, make sure you followed their instructions for submitting drill files. Some vendors want PTH and NPTH in separate files, while others want a consolidated file.

Dale

That’s definitely odd. I’ll check things out to see what went awry.

That was definitely a bug! Looks like the scripting engine set a different default than the UI with regard to putting copper pads on non-plated holes. I’ve gotten that corrected, and should go live shortly. Thanks a ton for reporting it.

1 Like

Thanks for fixing it. I understand how hard it is to catch everything.

I just put my first kicad board thru directly as a kicad_pcb file and it just came back and it appears to have come back exactly as it should. Only had the chance to test the connections are all correct, but it looks perfect and given its my very first complete board with kicad i’m impressed with the result.

2 Likes

Nice! Looking pretty good. Glad to hear the NPTH issue didn’t affect your boards. :slight_smile:

Only thing I see that you might want to note is C8 and C7. Looks like the mask expansion was set pretty high, and those two exposed the nearby ground plane. You can see the little gold sliver there. Won’t be a problem if you’re careful with your solder when assembly, and just do a quick probe test after putting it together. Looks like all the other pads worked out fine, but probably worth checking the power planes before plugging things in, just in case.

If it’s helpful, I have an old post about getting this fixed up, and details this a bit better.

@takigama
My 2 cents… your M.2 connector misses Pin 1 mark.
And you should get rid of the silkscreen print for U2 as it’s not needed and due to positional errors looks bad.
Oh, and when you do mousebites (did you make them or did OSHpark make them?) I’d make sure they sit deeper so you don’t have those spikey things left sticking out but being recessed to the overall edge where they can’t do harm.

@tekdemo
The copper plane around those pads doesn’t look exposed to me? Those are thermal spokes…

R4 on the other hand has got a track going by too close for those soldermask clearances and positional errors and the track get’s uncovered partly:

Also the routing of that connection between pad 72 & 74 of the M.2 connector looks a bit odd to me (as pad 72 is extended it must be connected to something like the copper pour there?):

Overall I would say the soldermask clearance setting is a bit on the high side for the positional error being shown here and could have been dialed down somewhat (0.05 mm instead of 0.1 mm).

All of those are actually “as per the original design from kicad”… some of it is “my bad” some of it is freerouting oddities, but it has indeed printed exactly as it is in kicad:

C8:

Just a little too deep…

Freerouting doing some funky routing:

The clearance was something i was a little unsure about while i was doing the board it did feel too large everywhere, but being my first board i was loath to change it from the defaults, plus I wanted to get this printed mostly to see how the m.2 and pci connectors came out compared to the kicad layouts… There are one or two problems with the board which arent fatal

2 Likes

Good news everyone! Everything is FINALLY official. :slight_smile: From here on out, you’ll see Kicad cheerfully mentioned when placing an order, and we’ll commit to supporting the latest stable version.

Thanks so much to Anool, Madworm, and Andrew_Sowa, for the bug reports, and everyone else who tested things looking for problems. Certainly wouldn’t be as comfortable with full support had you not stepped up and given us a good stress test.

6 Likes

I have tried, and i love it! good job!

when will osh-park supported plated slots ?

biggest issue IMHO