Skip to main content

Tips for JLCPCB for PCB manufacturing and SMT assembly

JLCPCB is an offshore (Chinese) low cost quick turn PCB manufacturer that can also perform PCB assembly (SMT components only).

I've had a half dozen or so boards built by them so far and their SMT assembly service has saved me countless hours of populating SMT passives (resistors, capacitors, inductors) under the microscope.

Here are some things I've learned while using jlcpcb that will likely save you a TON of time and effort.

#1. JLCPCB's parts library is NOT the same as LCSC's

JLCPCB (PCB fab + assembly) is related or owned by the same company that owns LCSC (parts supplier, think DigiKey, Mouser, Arrow) BUT JLCPCB's parts library is only a relatively small subset of LCSC parts.

You'll want to search JLCPCB's parts catalog for parts, these are the only ones that JLCPCB can populate on your PCBs.

Don't do what I've done and put together a BOM for a PCB using LCSC parts and then find out that 90% of these parts aren't available for JLCPCB assembly.

#2. Select primary component attributes first to work around JLCPCB's meh parts search

Values are ordered by their alphabetic order, for example, you might get a list of currents like "100mA", then "1A", then "150mA", then "1.5A". This stinks when you'd like to find all parts that can do >=1A.

JLCPCB could use to copy DigiKey's approach as imo they have the best parts search of any online parts supplier, hands down.

With such limited search you'll end up having to look through parts manually. To help keep the number of parts down to a reasonable count you'll want to do things like select the most critical features first, such as the component size. By cutting down the parts to manually review you'll be able to quickly see if you can find a matching component or if you'll have to change a component size or type in order to find a part in the JLCPCB parts catalog.

#3. Parts selection process

The process I'd recommend for parts selection is:

  1. Iterate on design and use DigiKey for initial parts selection
  2. Confirm the part/size can work for you in your layout
  3. Find the JLCPCB component
  4. If no component can be found adjust its size/type and repeat, or fall back to knowing you'll have to hand populate this part.

On a recent board design I had to make a number of parts size/type changes to improve JLCPCB assembly coverage. In other cases I fell back to hand populating the components that couldn't be adjusted.

#4. JLCPCB can NOT DO 0201 do 0201 but has a limited set of passive sizes

edit: JLCPCB let me order a board with 0201 parts on it but kicked it back a few days later after doing their internal design review. Ended up having to adjust 0201 parts up to 0402. It surprised me that they can't do 0201 in 2021 but I wouldn't be surprised if this was something they started doing in 2022, 0201 components are very common on high density boards.

For a recent design I'm trying to fit a ton of stuff into a small board area. Selecting 0201 footprints made the rough layout look pretty good but then came finding parts in the JLCPCB parts catalog...

JLCPCB's catalog has a number of 0201 components but not nearly as many as you'd expect. I ended up having to adjust a number of parts from 0201 up to 0402, and some 0402 components up to 0603. This turned out to be ok as there was extra space on this prototype board, but it did mean a handful of hours both in finding alternative passives with the appropriate specs and in shifting components around to make room.

Keep in mind that it was easy to find almost all capacitors, resistors, and inductors in 0201 size on DigiKey and even LCSC, so this wasn't a case of looking for a magical 100uF 0201 capacitor, JLCPCB has few enough 0201 components that you'll struggle to go 0201 across a board with even a modest part count.

#5. JLCPCB only supports single sided SMT assembly

As JLCPCB only does single side assembly, you'll have to hand assemble through hole components or components you place on the back side of your PCB.

One technique I used for a recent prototype board was to 'unfold' the layout to turn a front/back two sided design into a single sided design.

This approach has some obvious downsides. Your layout and signal routing won't match your production system, and of course via locations are almost certain to change as you won't have to worry about components, signals or vias from the back layer.

Comments

Popular posts from this blog

Debugging an imprecise bus access fault on a Cortex-M3

This information may apply to other cortex series processors but is written from practical experience with the Cortex-M3. Imprecise bus access faults are ambiguous, as noted by the term "imprecise". Compared to precise bus errors, imprecise errors are much trickier to debug and especially so without a deep understanding of arm processors and assembly language. Imprecise and precise flags are found in the BusFault status register, a byte in the CFSR (Configurable Fault Status Register). BusFault status register bits The definition for imprecise and precise bits is: [2] IMPRECISERR Imprecise data bus error: 0 = no imprecise data bus error 1 = a data bus error has occurred, but the return address in the stack frame is not related to the instruction that caused the error. When the processor sets this bit to 1, it does not write a fault address to the BFAR. This is an asynchronous fault. Therefore, if it is detected when the priority of the current pr...

Travelling on Spirit airlines out of Boston Logan airport? Here are some tips.

I attended CES 2017 in Las Vegas. Booking the trip late I ended up on Spirit airlines. It was both non-stop, making it six hours to Las Vegas from Boston, and affordable, less than $300 for a one way trip compared to around $700 with JetBlue. Here are some tips that might help you when travelling on Spirit from Boston Logan airport. Eat Spirit is located in the B-terminal, gates B-37 and 38, with its own TSA security checkpoint. While it does have restrooms and places to sit the food selection is limited to a single food stand. I'd recommend eating at the Legal C Bar (number 77 in the image below) prior to going through the terminal security checkpoint. The food and service there were great. Drink The water and other drinks are cheaper if you buy them at the food cart rather than on the flight. Seats The seats on Spirit don't recline. They do this to reduce weight, seat cost, seat maintenance costs, and so seats don't impact the free space of other passengers,...

Yocto recipe SRC_URI for a BitBucket / GitHub ssh git repository

This is a particularly geeky post but because Google searches didn't turn up any information I thought it would be helpful to document the issue and solution for others. I was writing  Yocto recipes that pulled from BitBucket git repositories in ssh form and ran into several issues getting a SRC_URI that worked. GitHub uses the same syntax for their ssh repositories. A BitBucket / GitHub git url, in ssh form, looks like: < username >@bitbucket.org:< account name >/< repository name >.git a more concrete example for a git repository in one of my BitBucket accounts looks like: git@bitbucket.org:cmorgan/somerepository.git Yocto recipes can pull from git repositories by setting the SRC_URI variable appropriately. Unfortunately you can't just do: SRC_URI = "git@bitbucket.org:cmorgan/somerepository.git You'll get errors because the Yocto won't know what kind of url this is. You need to specify the protocol for Yocto to k...