Skip to content

2. How to order the manufacturing

Viktor Nikolov edited this page Oct 9, 2023 · 47 revisions

Designed for manufacture and assembly at JLCPCB

I designed the board from the very beginning with the intention to manufacture it using JLCPCB Manufacturing and Assembly. (I'm not affiliated with JLCPCB in any way. I'm just their customer. 😃). The production files in this repository are ready for ordering manufacturing and assembly from JLCPCB.

Manufacture of this board is not exactly cheap. Production of the final revision of the board (2 assembled boards + 3 spare PCBs) cost me $194 + shipping costs. (However you can save $33 if you exclude the 50 MHz oscillator X1 from the assembly.)

My selection of parts was dictated by the availability of suitable parts in the JLCPCB Assembly Parts Library as of August 2023.

See the list of all parts used in the design (also provided as an Excel file).

"Big connectors" with 2.54 mm pitch (J2 .. J7, screw terminal) are intended for DIY soldering. They are not included in BOM for the production.

Configuring parts and generating production files

A KiCad plugin Fabrication toolkit exists, which generates production files ready for JLCPCB Manufacturing and Assembly. Please follow the installation and usage instructions in the bennymeg/JLC-Plugin-for-KiCad repository.

For the plugin to work, you need to have a data field "LCSC Part #" (or "LCSC") in the symbol properties of each part, which is to be assembled by JLCPCB. Value of the field is JLCPCB part number as given by the JLCPCB Assembly Parts Library.

  • KiCad settings allow you to add the field "LCSC Part #" (or "LCSC") to all symbols: File | Schematic Setup | General | Field Name Templates.

To generate the production files, click on the Fabrication Toolkit button on the top tool box inside the KiCad PCB editor (the icon shall be on the far right side).

  • ⚠️ Do not forget to fill all zones before generating production files.

The Fabrication Tookit creates a folder "production" in the KiCad project directory and in the "production" folder it creates a folder for each run of the Fabrication Toolkit and the generated files are saved there.

The Fabrication Toolkit generates the following files:

  1. A .zip file containing all needed Gerber files and drill files for PCB manufacturing.

  2. "bom.csv", which is a bill of material needed for ordering the PCB assembly.

  3. "positions.csv", which defines positions and rotations of footprints for all parts listed in bom.csv.

  4. "designators.csv", which contains the list of all designators (e.g. "C7", "R12") used in the project. Number of occurrences of each designator is listed in the file. This file is not needed for ordering PCB assembly at JLCPCB, but it's helpful in checking that you don't have duplicate designators in the design.

  5. "netlist.ipc", which provides a list of nets. This file is not needed for ordering PCB assembly at JLCPCB.

⚠️WARNING

The rotation of components in KiCad footprints does not always match the orientation in the JLCPCB library because KiCad and JLCPCB use different variations of the same standard.

The "JLCPCB Rotation Offset" field can be added to the symbol properties of a component that JLCPCB rotates wrongly. See details in the Fabrication Toolkit repository.

I had to set Rotation Offset for several components in the project (for example all components having SOT-23 footprint).

Ordering PCB manufacture

After you upload the .zip file with the generated Gerber files to the JLCPCB ordering form, the form will recognize that it's a 6-layer board. You can leave PCB Specification settings to their default values.

I recommend that you do the following settings in the High-specs Options:

  • Set the Impedance Control to Yes.

  • Select the JLC06161H-3313 Layer Stackup. In the design, I set widths of the impedance-controlled traces according to the JLCPCB Impedance Calculator, which is based on 3313 stackup for 6-layer board.

  • I recommend setting the Confirm Production file to Yes.

  • Set the Remove Order Number to "Specify a location". I placed the label "JLCJLCJLCJLC" on the silkscreen on the board (under the MicroZed). JLCPCB will place the Order Number at this location.

In the PCB Assembly section, select the desired quantity of PCBs to be assembled (PCBA Qty).

I recommend setting the Confirm Parts Placement to Yes.

Click the Confirm button in the PCB Assembly section.

You will be asked to upload the BOM file (which is bom.csv) and CPL File (which is positions.csv).

JLCPCB analyzes the files and displays the processed Bill of Material. This is where things get "interesting". Hopefully, you will see that most parts in the BOM are in stock for purchase from JLCPCB.

However it's likely that some parts won't be in stock. You will have to go to JLCPCB Assembly Parts Library and purchase the parts. Purchased parts, when delivered, will go into your private parts library ("My Parts Lib"). Then, you repeat the PCB Assembly order.

In the screenshot below you can see that several parts were sourced from "My Parts", because I purchased them beforehand.

The worst case scenario is that a part is not available for purchase in the JLCPCB Library. Then you have to find a different part of the same properties and replace it in the design (i.e. set "LCSC" in the Symbol Properties of given part to a new value in schematics editor, run Tools | Update PCB from Schematics in the PCB editor and generate new production files). This should be easy for passive components. Replacing an active component may require a change in the design.

The next step is to review the placement of the components on the PCB. JLCPCB renders an interactive model of PCB, which allows you to change the rotation of components. This is the moment you verify that components fit their soldering pads and that the rotation is correct. In the board design, I ensured that the position of pin No. 1 of active components and the polarity of diodes were marked on the silkscreen.

Some components may be missing in the displayed model of the PCB. In my case, it's oscillator X1, LED 5V and others (see the following screenshot). I guess that JLCPCB doesn't have all 3D component models readily available. After you submit the order, a JLCPCB employee will place component models manually and share the final PCB model with you to confirm the placement of the components.