CPL and BOM files

Making PCB Layouts, Manual routing, Auto-routing, Copper pouring, Updating from Schematic, Manufacturing Output
Post Reply
Message
Author
Qrper
Posts: 42
Joined: 30 Jul 2015, 19:34

CPL and BOM files

#1 Post by Qrper » 23 Dec 2020, 05:56

gang...

I've been toying with the idea of having some small pcbs with SMD parts assembled by JCLPCB.

I generated the BOM and CPL files

however, they robot at JCLPCB says' invalid format"
the files are .cvs

what's wrong?

charlesR
Posts: 8
Joined: 04 Jan 2021, 16:09

Re: CPL and BOM files

#2 Post by charlesR » 04 Jan 2021, 18:08

I just completed an SMD order from JLCPCB and had the same error. I had problems with both files (BOM and CPL). Here is how I was able to get the robot to "accept" my files:

1) For CPL file, modify your Excel column headers to EXACTLY MATCH the names they use in their example Excel file. For CPL file there are 4 headers: "Designator, Mid X, Mid Y, Layer, Rotation". Diptrace exports these by default as "RefDes,X (in),Y (in), Rotate". For some reason the robot did not like these headers names from Diptrace. I just manually edited the Excel .csv file so they matched up perfectly.

2) For BOM file, do the same thing as Step 1 above, modify column headers to "Comment, Designator, Footprint, LCSC Part #"

3) In Diptrace Layout, before you export the CPL file (pick and place), change the units to "mm" because "in" and "mil" did not work for me. Apparently their robot only accepts metric units.

It's probably a good idea to delete any components listed in your BOM and CPL that will not be populated by JLCPCB but will be soldered later by you. For example, JLCPCB does not carry USB connectors so you can delete this part from the BOM and CPL file if a USB connector is part of your board.

This was my first SMD order with JLCPCB. It is a replica of a miniaturized Arduino MEGA2560, so we will see how it turns out once it arrives in a couple of days. Pricing was much higher than I expected (about $20 USD per board just for SMD work only). Almost all parts expect capacitors, inductors or diodes are priced as "Extended Part" and carry's a $3 to $5 US dollar charge each. They did offer me a one-time $8 off coupon which I gladly accepted.

Good luck!
Charles

Qrper
Posts: 42
Joined: 30 Jul 2015, 19:34

Re: CPL and BOM files

#3 Post by Qrper » 05 Jan 2021, 10:53

Thanks...
I have a small pcb with a dozen or so parts. Common as salt, but haven't been able to get pass the robot file checker. I'll give it a try. The parts are 99% resistors in the 1206 size. One transistor and two LEDs.I was hoping to see a few bucks per board.

Thanks.

Mike

charlesR
Posts: 8
Joined: 04 Jan 2021, 16:09

Re: CPL and BOM files

#4 Post by charlesR » 05 Jan 2021, 16:18

Your very welcome. I just looked at my JLCPCB BOM and noticed I had about 25 resistors, diodes and capacitors which totaled up to $2.50 per board (basic parts were 0.10 cents to 0.12 cents each which is super reasonable!). So your estimate of $2.00 per board for SMD work sounds exactly right for JLCPCB if only populating resistors and such.

My board was 72mm x 42mm photo attached. Most of the resistors, LEDs and other small parts were sized 0602. That push-button, tactile switch cost me $3.03 dollars per board which is way too expensive...but that was entirely my fault because it was a very low-volume run of N=5 and I was in big hurry to spin this board.

If you have "extended parts" like I did (1 CPU, 1 USB FTDI Chip, 16 MHZ crystal, tactile switch...4 total extended's in all), then costs quickly jump sky-high to $4 to $10 for *each* of these "extended parts" for low volume runs (N=5), and depending on the part.

I think your idea is probably the best approach:
  • Have JLCPCB populate only the capacitors, resistors, and other basic parts sized 1206, 0602 or smaller which are annoying to solder anyway
  • You can save big money by hand-soldering 3 to 4 "extended parts" by at home or work for prototype/low volume
  • Or if it's high volume commercial PCB layout... then Panelizing would cut down those "extended part" charges to almost nothing
Attachments
MEGA2560_minature copy.jpg
MEGA2560_minature copy.jpg (244.49 KiB) Viewed 1398 times
Charles

Alex
Technical Support
Posts: 3894
Joined: 13 Jun 2010, 23:43

Re: CPL and BOM files

#5 Post by Alex » 05 Jan 2021, 21:49

Could you request examples of BOM and PickNPlace files that JLCPCB robot accepts. Then we may adapt our exports if necessary.

charlesR
Posts: 8
Joined: 04 Jan 2021, 16:09

Re: CPL and BOM files

#6 Post by charlesR » 06 Jan 2021, 07:53

Absolutely Alex,

Attached are 2 examples that were successfully accepted by JLCPCB robot on 28-Dec-2020 using Diptrace Version 4.0.0.4

Both Excel files (CSV format) are attached below: 1 BOM and 1 CPL (PickNPlace).

For the CPL, I could only get the robot to accept this file when dimensions were in mm. inch and mil were rejected by the robot for some reason, I am not sure why.

Also for BOM, the JLCPCB template includes a column in the excel file titled "LCSC Part #" which is optional. I populated this column manually by editing the Excel CSV before uploading, but of course it might be possible to configure an "additional field" in Schematic, and Diptrace layout would automatically populate CPL file with the LCSC Part #. The robot happily accepted the LCSC Part #'s which I obtained manually from suppliers website: https://lcsc.com/

If one were to leave the BOM column empty for "LCSC Part#", then I imagine JLCPCB robot would attempt to "guess" which LCSC part number was necessary by examining the 3 other fields: Comment, Designator, Footprint. If robot cannot guess which part matches these fields, then I assume it would either fail to accept the file, or alternatively it would accept the file but flag it for human review by JLCPCB staff members.
Attachments
CPL_JLCPCB_example.csv
(819 Bytes) Downloaded 108 times
BOM_JLCPCB_example.csv
(563 Bytes) Downloaded 89 times
Charles

Qrper
Posts: 42
Joined: 30 Jul 2015, 19:34

Re: CPL and BOM files

#7 Post by Qrper » 06 Jan 2021, 09:28

Since I wasn't, so far, able to get past the robot, how does one find out that the JCSC part numbers are?

mike

charlesR
Posts: 8
Joined: 04 Jan 2021, 16:09

Re: CPL and BOM files

#8 Post by charlesR » 09 Jan 2021, 20:16

Qrper wrote: 06 Jan 2021, 09:28 Since I wasn't, so far, able to get past the robot, how does one find out that the JCSC part numbers are?

mike
Hi Mike,

Finding the LCSC Part numbers can be very tricky. They do not have the same type of search functions like you will find on Digikey and Mouser unfortunately. I use 2 different methods, the first method is the easiest for me:

1. Use MS Excel [My preferred method]: Download their entire inventory using Excel (link is here: https://jlcpcb.com/componentSearch/uploadComponentInfo). Note, Excel file size is 20+ megabytes so I was not able to attach it to the Diptrace forum but you can click the link and download it.

Within Excel file, apply filters to the following columns in the spreadsheet: D (Manufacturer's Part Number), E (Pattern Size), I (Description), H (Basic Part vs. Extended Part), and L (Quantity in Stock). I attached a much smaller version of the Excel file to help you, and I filtered to show only capacitors and resistors so you can see what I mean by using the Excel data filters. To me, the Excel filters are super easy to use.

You will notice that their selection of "basic parts" very limited, but you should be able to find common values for resistors and capacitors especially if part size is 0402, 0603, 0805. They have very few size 1206. You will also see they only have N=686 "Basic parts", the remaining N=48,400 parts are "Extended Parts" which have an extra charge for changing reels or feeder tubes on pick n place machines. So only about 1% of their inventory are classified as "Basic Parts".

Also be sure and check inventory levels before you order, because if there is zero inventory or if they are running low then your order could be delayed for 1 week or more while JLCPCB orders replacement inventory from LCSC.

2. Use LCSC Search Tool: Click on the following link https://jlcpcb.com/parts. You can either browse by category, or type a manufacturer's part number in the search box. The search box is not very smart and sometimes has trouble finding simple parts so I don't use it unless I know the exact LCSC part number.

If you are still having trouble with the robot after entering in LCSC Part Numbers, then I recommend reading the following article from JLCPCB's website that specifically provides a tutorial on how to generate BOM and CPL files using Diptrace ( link https://support.jlcpcb.com/article/140- ... n-diptrace ) It's very well written and includes some additional tips and that I forgot to mention in my earlier posts but might help you with your uploads.

Gook luck and let us know how things turn out.

Charles
Attachments
JLCPCB SMT Parts Library(20210110)_resistors_caps.xlsx
(55.92 KiB) Downloaded 51 times
Charles

jejump
Posts: 1
Joined: 11 May 2019, 02:36

Re: CPL and BOM files

#9 Post by jejump » 03 Jul 2022, 14:49

Hi all!

I'm a newbie when it comes to PCB assembly, so forgive me if I appear a little naive. I recently created a PCB in Diptrace 2.4 that's almost all SMT devices and after seeing the massive amount of little components my circuit is going to require, I decided to see what MOQ and pricing for assembly from JLCPCB.com would be. Much to my surprise, MOQ is just two boards and they have 90% of the components my PCB will require. Since my design would use a fair amount of tiny resistors and caps, I decided to opt for this assembly service instead of me doing the painstaking soldering work, which historically, has always been the method for me and also using through hole components, as I am old enough to not see the tiny stuff very well. :geek: This will be my first go commissioning PCB assembly ever, as well as use of mostly SMT/SMD.

I did run into the "file format incorrect" error on their site that the OP spells out and I discovered this was because Diptrace outputs the Pick And Place .csv file in a manner that JLCPCB doesn't play nicely with. I created a conversion tool written in an old DOS programming language and it works well for me to make the CPL conversion. Just wondering what are some other ways people do this conversion in mid 2022? I imagine if one were good with Excel, you could generate whatever formulas or maybe a VB script of some kind to change the fields to what JLCPCB says it requires (see here):

https://support.jlcpcb.com/article/79-p ... t-assembly

My little program converts the Diptrace output to what they show there exactly, and didn't require much time to write the code. If anyone would like a Google drive link to my program with QBASIC source, PM me and let me know, but I suspect there's probably a more commonly understood way of getting the conversion accomplished.


John

Post Reply