JLCPCB & DipTrace Pick+Place / BOM - file formats - Page 1
Forum section: electronics / general

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 03, 2020, 11:56:38 pm
content: The DipTrace- exported gerber and drill files seem to be eaten with no problems by the JLCPCB upload site.In fact in the past I had a couple small projects made, but hand-populated by me.This time I want to try their board population service.I found Excel table examples on their site for pick+place and BOM files, and mentioning that CSV is also supported.Now "CSV" is a vague concept and almost no one using such a format actually seperates things by comma.So I export that, too, from diptrace, and, for a test, change the whole thing in an editor by hand to what I can gather from their descriptions.The upload site complains about the files having errors, though - alas not which of them and what is wrong.I tried ; as well as tabs for separating columns. After the support person claimed "there are no separators, only space", I also tried space to no avail.I asked JLCPCB directly via their support mail.They were very nice and all, but the person I had some back and forth conversation with clearly has no idea how computer files work and that Excel files are in fact not the same as CSV files even though they look the same on her screen after importing a CSV file that's correctly formatted into Excel... CSV which DipTrace exports (and I can modify to obey a certain rule set they require)... when I asked about things like needed column separator character and other things. Excel files and CSV files are not the same byte streams...I don't feel further conversation will be fruitful, more like frustrating and wasting time...Has anyone here managed to properly convert CSV BOM and pick+place files from DipTrace to use by JLCPCB's board population service,and could say how their files really nead to be constructed?Then I could write myself a converter script DipTrace -> JLCPCB and be done with it for future projects.I asked them explicitly for a exact spec for their CSV files - did apparently not understand what that is.I quickly looked how EasyEDA BOM etc export looks - totally different than what they described for their import. Would have thought that would be close to that as they seem to be close (EasyEDA and JLCPCB), but that's then of no help.

author: retiredfeline
author_rank: Frequent Contributor
timestamp: November 04, 2020, 12:09:08 am
content: This JLCPCB tute is for KiCad but maybe it explains the changes they want, which are not to do with the separator, but with the header line:https://support.jlcpcb.com/article/84-how-to-generate-the-bom-and-centroid-file-from-kicad

author: SMdude
author_rank: Frequent Contributor
timestamp: November 04, 2020, 11:34:54 am
content: Well the funny thing is CSV stands for comma separated values and everything I have ever exported or imported as csv has a comma separating the values!Openpnp accepted Diptrace csv's no problem and so does my Juki with a little editing.Have you tried sending them a csv with commas and the same column headings as shown in the example spreadsheet?Also try and avoid spaces(use underscore_instead) in the values as this can sometimes cause issues with csv importers. Though it looks like spaces are fine in the header line, eg "Mid X"

author: phil from seattle
author_rank: Super Contributor
timestamp: November 04, 2020, 05:25:31 pm
content: My experience is they don't want anything but commas.The column header names need to be exact, too.

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 04, 2020, 07:47:27 pm
content: This is now obsolete. See next post!--------------Quote from: SMdude on November 04, 2020, 11:34:54 amI know what it stands for. It's just not what I've seen it used in reality - even when they call it that. YMMV.I did try comma, though, just didn't mention it here.My header also looks to be exactly matching what they state in their examples.It would be so nice if their importer said which of the files has an (or the first) error in what line of the file.Instead, you must upload 2 differently formatted files (pick place and BOM) before it gets checked, and then it gives you the most useless but also most popular answer ever: "it doesn't work".The header examples clearly show spaces, but I guess I'll try to remove spaces everywhere else on the weekend.As for the KiCad examples - as long as all they show is spreadsheet screencaps, it's useless. Those are not format specs for text files. Much of the essential info is absent.

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 04, 2020, 08:27:19 pm
content: Okay!I just had a quick stab at it,went for the commas again,AND nowreplaced all spaces in names with underscore"_"That's it! Argh!Thanks all for the suggestions.

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 04, 2020, 09:25:55 pm
content: Is that common that all those nice parts carefully searched from LCSC are then not available for population at JLCPCB even as "extended part"?Now I can search again & re-layout, or order the parts elsewhere and solder them myself, which kinda defeats the purpose of this whole excercise...

author: phil from seattle
author_rank: Super Contributor
timestamp: November 05, 2020, 12:21:43 am
content: Quote from: TinkeringSteve on November 04, 2020, 09:25:55 pmSearch through JLCPCB's library, not LCSC's.https://jlcpcb.com/parts

author: atommann
author_rank: Newbie
timestamp: November 05, 2020, 07:37:13 am
content: Quote from: TinkeringSteve on November 03, 2020, 11:56:38 pmJLCPCB SMT service needs a specific format of BOM and Pick and Place files.But EDA softwares output their own format, so a bridge ( like the script you mentioned) is needed.Some softwares support scripting, like Eagle. Several days ago, I finished the below tutorial for eagle for how to generate SMT files for JLCPCB.https://support.jlcpcb.com/article/132-how-to-generate-bom-and-cpl-from-eagle-cad-automaticallyIn the near future, we need to support more EDA software like Diptrace.If you have a script, we'll be glad to add it to our Diptrace tutorial.--AtommannTechnical Writer/Layout Engineer from JLCPCB

author: sleemanj
author_rank: Super Contributor
timestamp: November 07, 2020, 03:04:39 am
content: Quote from: phil from seattle on November 05, 2020, 12:21:43 amA better parametric search for JLC parts is athttps://yaqwsx.github.io/jlcparts/

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 10, 2020, 08:08:45 pm
content: My browser / laptop had severe digestion issues with that alternate search site, it didn't work at all.Also thanks @ JLCPCB staff member who commented here, if he/she sees it.What about when one item is "stock 0" - can one expect to wait a week or so and it will be available again?Like currently USB power distribution switch "mic2090" and "mic2091" - th eonly ones on JLC I found so far with lower than the fully spec'd 500mA. I'm making a custom device that can deliver only less, but the devices connected to it will also draw less.

author: phil from seattle
author_rank: Super Contributor
timestamp: November 10, 2020, 08:26:38 pm
content: Quote from: sleemanj on November 07, 2020, 03:04:39 amYeah, good point. I should have mentioned that. I use it about 90% of the time and only go to the actual site when all else fails.

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 10, 2020, 09:08:46 pm
content: Quote from: phil from seattle on November 10, 2020, 08:26:38 pmJust tried it again today.If I click on any component category, a new tab opens which remains blank and nothing happens.Anyone got experience w.r.t. items currently 0 stock? Are those likely to be replenished?

author: phil from seattle
author_rank: Super Contributor
timestamp: November 11, 2020, 01:40:12 am
content: Quote from: TinkeringSteve on November 10, 2020, 09:08:46 pmNot sure what you mean. The interface is a little confusing but click on any entry and you have selections at the bottom of thepage. For example, click on Analog Comparators in the top left box and then scroll own to the bottom of the page you should see some selection criteria boxes with a number of selections below that. Should be pretty clear after that.And as to the stock refilling question - it's anyone's guess. But this is nothing new. The electronics industry supply chains have been feast or famine from the very start. Production is batch oriented.

author: sleemanj
author_rank: Super Contributor
timestamp: November 11, 2020, 02:20:32 am
content: Quote from: TinkeringSteve on November 10, 2020, 09:08:46 pmDoes that for me using quite old Chromium, in my (up to date) Chrome it works.

author: TinkeringSteve
author_rank: Frequent Contributor
timestamp: November 11, 2020, 11:34:16 am
content: Quote from: sleemanj on November 11, 2020, 02:20:32 amOk, on that laptop at home the chromium might be older, I'll try updating. At work with another browser it works.

author: yaqwsx
author_rank: Contributor
timestamp: November 12, 2020, 07:30:27 am
content: Quote from: sleemanj on November 11, 2020, 02:20:32 amHi, I am the author of the page you mention. The catalog requires that the browser supports IndexedDB (check the support onhttps://caniuse.com/indexeddb). Unfortunatelly, there is no check that the support is present in the browser, so the page doesn't die gracefully and does not show proper error message. I will fix it.

author: yaqwsx
author_rank: Contributor
timestamp: November 12, 2020, 07:35:40 am
content: If you use KiCAD, you can use a tool for the job I wrote a while ago: Kikit (https://github.com/yaqwsx/KiKit). Just follow the documentation (https://github.com/yaqwsx/KiKit/blob/master/doc/fabrication/jlcpcb.md)In short, you are expected to create a component field with LCSC number and then you callkikit fab jlcpcb --assembly --schematics yourSchematics.sch yourBoard.kicad_pcb outputDirectory. In the outputDirectory you will find files "gerbers.zip", "bom.csv" and "pos.csv" you can directly upload to JLCPCB and have your board manufactured.

author: phil from seattle
author_rank: Super Contributor
timestamp: November 12, 2020, 04:57:08 pm
content: Quote from: yaqwsx on November 12, 2020, 07:30:27 amThanks again. I use it quite a lot. Makes finding components a lot faster.Some suggestions:- the JLCPCB component group names are clipped and often not very meaningful. Maybe make the group boxes wider? Or have hover text?- have a button that allows one to get the start of the matched components list without having to scroll. "See Results"? I do a LOT of scrolling down to find them.

author: yaqwsx
author_rank: Contributor
timestamp: January 10, 2021, 02:56:40 pm
content: The requested feature for quick-navigation buttons was just implemented: seehttps://yaqwsx.github.io/jlcparts/

author: phil from seattle
author_rank: Super Contributor
timestamp: January 11, 2021, 04:49:57 am
content: Quote from: yaqwsx on January 10, 2021, 02:56:40 pmJust used it, nice job. Thanks for keep this going. Way useful. I'd like to give you a donation but I'm not sure I trust github sponsor having my paypal info. Direct paypal seems safer to me.

author: atommann
author_rank: Newbie
timestamp: January 12, 2021, 05:59:23 am
content: A tutorial for how to prepare the files for JLCPCB SMT in DipTrace is available:How to Generate BOM and Pick and Place File in DipTracehttps://support.jlcpcb.com/article/140-how-to-generate-bom-and-pick-and-place-file-in-diptraceBut the script which can convert the file automatically is still missing.