fj laboratories

Musings, deliberations, and end results.

JLCPCB - An Analysis of a Recent Test Run

Felix Jen – 19 August 2024 – 25 min read


This post was made possible by the generous donation by JLCPCB of the test run of boards featured. No money exchanged hands and JLCPCB does not have any input in this post before it goes live. All thoughts and opinions are my own and I aim to be as unbiased here as possible.1

I’ve always been an advocate for choosing a proper and well-equipped fabrication house for printed circuit boards for any project, big and small. PCBs are not simple things in terms of production at the end of the day. Often consisting of many layers that need to be perfectly stacked (down to less than a quarter of a millimeter) and hundreds of microscopic holes that need to be poked at just the right places, it’s a modern miracle that we’re able to churn out PCBs so quickly and efficiently in modern factories. One wrong slip of a layer could mean a faulty board, ugly look, and even destroyed components if the failure was severe enough.

That said, I’ve been a major believer in “you get what you pay for” for most things in life. After all, in a product, the PCBs are the brains and heart of the end result. Otherwise, you’re left with an empty lifeless husk. With “value-chain” being the major buzz word of the week, I found myself wondering where the value-chain of the PCB manufacturing cycle lies; together with that question, I found myself asking, what truly is the difference between a bespoke turnkey fabrication house and a low-cost option.

For this post, I let JLCPCB take a stab at producing the Conductor PCB design, a four-layer PCB with a minimum drill size of 0.3mm and minimum track-track spacing of 6mil. I’m intimately familiar with this design at this point, having run at least 3 versions through my usual relationship fabrication house on a variety of quality specifications. Here, I hope to do a little bit of a dive into some places where JLCPCB did well and some that left a bit to be desired.

Jump straight to the analysis.

What is JLCPCB?

Let’s first take a look at what is JLCPCB. JLC, as it’s often called, is a fairly well established production house of PCBs these days often peppering the internet with ads and sponsorships with various YouTubers and internet personalities.2 Their claim to fame is their low-cost PCB fabrication capabilities, claiming to offer 2-layer boards [max size 100x100 as of this writing] for as little as $2, together with $1.50 shipping to the USA. It’s hard to find even a decent snack these days for $3.50, let alone a fully functional printed circuit board, so understandably JLC is hard to pass up. I’ve talked to a few other friends in the PCB-space and when asked where they would go for cheap prototypes, the answer has been unanimously… JLC.

What They Offer

JLCPCB has recently (read as, for the past few years) been expanding their offerings beyond the basic 2-layer boards, and have dived into four-layer and multi-layer boards, offering high as 32 layers. While their bread and butter is still their two-layer offering, the fact that they can offer up to 32 layers (even modern PC motherboards don’t hit 32 layers) piqued my interest. Additionally, in addition to bare PCB, they offer PCB assembly (PCBA), 3D-printing, CNC Machining, and also, interesting, mechatronics parts (think: screws, bolts, nuts, o-rings, pulleys, timing belts, hinges, etc.).

While I’ve tested almost all their services at one point or another, this post specifically focuses on the PCB and PCBA experience with JLC.

Bare Board Services and Ordering Process

In its “Standard PCB” service line, JLC offers up to 4L in a fairly wide variety of typical specifications. Besides your typical color/thickness/surface-finish options, you get to choose your “material type”. Here, JLC offers the choice between a Tg of 130-140 and 150-160. You can read more about the importance of Tg or Glass Transition Temperature in this post. Typical lower-cost boards go with a 130-140C Tg, which is more than fine for a pre-assembled product. However, I usually like to go for higher Tg options as it allows for improved reworkability of boards without damage, as well as additional durability for long-term reliability. I prefer Tg 170-180C for most projects, especially in the keyboard space, since I found it withstands significantly more abuse than 130-140 or even 150-160, but JLC did not offer that option. Instead, I opted for their highest Tg 150-160 option, which added $5 to the price [not bad].

Next up, JLC lets you choose the copper thickness - a standard choice required to be made at most board shops. While the standard was a 0.5oz internal weight and 1oz external weight, I opted for a more balanced 1oz/1oz approach, since my internal power planes are spec’d to carry a sizable current. No harm, no foul there as the choice only added about $20 dollars.

JLC’s via-covering option was next on the list of choices to make. I usually get “tented vias” whereby soldermask is covering any via holes, but no specific attention is made to actually filling the vias themselves. However, JLC offered a free upgrade on their 4L boards to “plugged” vias, where more pressure is added during the soldermask stage to make sure the vias as actually plugged, rather than a more haphazard application commonly done. They do have the suite of advanced via strategies like epoxy-filling and copper-paste filling, neither of which I got to try this time around.

Finally, one of the more interesting options that JLC has these days is their varying “silkscreen qualities” buried under Advanced Options. The traditional solution of inkjetting/silkscreening is the default option, but as the site mentions, its alignment ability is at the hands of the operator, and the basic nature of it fails to get significant resolution for smaller text. Their next option of a “high precision printing silkscreen” is one that stood out. From the basic description, it sounds like a similar “inkjetting” process, but with additional attention to alignment (perhaps computer vision controlled) and a much finer nozzle allowing for increased detail. They also had a “high definition exposure silkscreen” which is actually a UV-printing process, where the bare board goes under a UV printer rather than an inkjet. This creates significantly crisper, higher-detail, and cleaner silkscreening but comes at the downside of significantly increased cost. In fact, the basic setup cost of the highest end silkscreening came out to more than my total board order. For this run, I went with the middle of the road “high precision printing” just to see what it’s like. This added another $16 to the cost.

The ordering process was quite straightforward with JLC—and probably contributes to why they are so loved. Drag-and-drop the Gerber files to be produced, select your options and hit add to cart and checkout. Couldn’t have had it simpler and definitely beats the alternative of emailing files, getting a quote, reviewing specifications, making changes, getting revisions and approving. Following the order and since I chose “Confirm Production File”, I got an email from JLC about 12 hours later to login and pull the production ZIP file. That file contained the “production Gerbers” that JLC was going to use to print out the PCB masks. I was able to quickly verify (using a Gerber view - Cuprum is my drug of choice) that the production Gerbers matched the Gerbers that I sent and went back to the site to hit approve. Honestly, if you’re just ordering bare board, this is such a simple and smooth process.

PCBA and Ordering Process

Whatever simplicity with bare board that I talked about promptly broke down when it came to assembly. I needed to get these boards assembled since they contained a number of super-fine pitch parts and used exclusively 0402 passives that I refused to do manually. Therefore, I had to dredge the waters of JLC assembly.

JLC offers two assembly “service tiers,” if you will: (i) Economy, and (ii) Standard. Their Economy tier has a much-reduced setup fee, but makes up for it in excess charges elsewhere and has a reduced compatibility-set, whereas their Standard is a more fully-fledged service. The primary hamper of the Economy service is JLC’s compatibility-set; they will only offer the service on certain bare-board specifications. In the case of 4L boards, they only offered it on the Green soldermask color. You get some more varied options with 2L, but I would recommend checking JLC’s compatibility page for that information. Their Standard assembly was available for their entire range of bare board options, but then you get graced with modest setup fee.

Further, I call these options “service tiers” for a reason. JLC does not offer most options for their assembly service with their Economy class, such as pictures after assembly, dual-sized assembly, conformal coating, or a range of others. From my past JLC orders, I typically like to get pictures after assembly (for a fee), just to see how they did and whether I or they screwed anything up. As well, I was hoping to get a conformal coating applied on the microcontroller area just in case. Alas, neither of those options were available in the Economy tier, and were only available as paid options in Standard. JLC, I don’t get that. Let me pay for those options if I want to, even if they are going to be more expensive than they would be in Standard. None of those options require separate production lines.

Alas, I wanted to try out the more common assembly option here, so I went with the Economy tier, even though the extra services would have been nice.

The hurdle was not up just yet though. Next was preparing the Bill of Materials and Pick-and-Place files for JLC. Unlike your usual fabrication house where you have human interaction almost every step of the way, JLC’s production is mostly automated. As such, you’ll need to work to their requirement, rather than the other way around. My production pipeline produces files that are of a standard format, honed from years of doing this. However, JLC won’t take those. You need to format your BOM and PnP (they call it Centroid) files in a way that aligns with their expectations or don’t expect to make it to the next step. Thankfully, this was a fairly easy task for me, as it’s not the first time I had to juggle that. However, if you’re brand new to the process, best of luck as it takes a while.

With those files uploaded, you get to the component selection stage. If you made your BOM properly, the components should mostly be already selected for you from JLC’s part library (we’ll talk about that later). Be mindful of your “Basic” and “Extended” parts and confirm the parts selected are accurate. Then, move onto part placement where you get to manually rotate your parts into the right orientation, if the automatic placement didn’t work out. Pro-tip: the JLC parts are oriented in accordance with the manufacturer data sheet example footprint orientation. I did the best I could here for my board but since I had quite a number of tiny passives and diodes (and I didn’t want to bother), I spent an extra $0.50 on the first step to get a manual part review. Turns out, I scuffed a couple - so it’s well worth it.

Once you have that done, “add to cart” and pay and you’re all set there.

Parts…

I mentioned parts just a second ago and this is where JLCPCB had evolved tremendously. A few years ago (circa, 2020), JLCPCB would only assemble boards with components that they specifically had in their “Library”. While this covered many of the common parts that you could find on their sister component distributor, LCSC, it certainly did not cover every use case and most definitely not advanced designs. Furthermore, they would not touch THT components at all. Apparently, all this has changed dramatically.

Nowadays, in addition to the JLC/LCSC part library (which covers the majority of LCSC components now), JLC added a “Global Sourcing” option. Through this, you are able to instruct JLC to order parts from third-party distributors like Digikey, Newark, and Farnell, and add them to your own personal library. This bank of parts is unique to you and only you are able to use them in your projects. As well, you are able to resell certain parts if you ordered too many or canceled a project. JLC also now offers “consigned” parts, whereby you ship your own parts to JLC and they add it to your library. This comes in especially handy when you juggle a number of fabrication houses like I do. I was able to ship a certain bank of ICs over to JLC from my main board house which were out of stock elsewhere and it arrived in my library in just a few days. Lastly, JLC offers the ability to pre-buy parts and add them to your own library for free. I opted to do this for a few items that seemed to be running low, just so I had production capability without delay. A+ for JLC on this whole part front honestly – they moved from a barely serviceable option to a full-blown lifecycle management platform!

Once you’re able to build out your own library, you would be able to use a mix of JLC’s part library and your own in your assembly order, with parts typically flowing through seamlessly.

JLC also has an assembly concept known as “basic” and “extended” parts. In their words, “basic” parts are commonly used components like passives which are already preloaded on the pick-and-place feeders. “Extended” parts on the other hand require a manual feeder load and incur a charge for each unique extended part used. Note: this is each unique part, not each part. So, if your design uses 50 of a single extended part, it’ll have the same feed load cost as one that uses a 2 pieces. Keep that in mind if you want to use JLC for assembly and have certain extended parts (crystals are a good example) that can be repeated. If you’re able to consolidate your extended part list, you can save quite a bunch.

Lastly, sometimes it may make sense to solder parts yourself as JLC’s part pricing may be significantly worse, or they just can’t get a component. Conductor uses Kailh hotswap sockets and JLC’s part library was fresh out. As well, I didn’t have any other sources for those since they’re exclusively Chinese components and weren’t available on Global Sourcing. As well, they would’ve incurred an extended part fee (which is like $8 on Economy, I think?). As such, I simply opted to solder those by hand myself.

The Test Subject

Now that we talked about JLC long enough, let’s talk about the actual test platform. As mentioned, the Conductor 4L PCB was sent for bare board and full assembly. The specifications are lined up in the table below. Interesting bits to focus on are bolded.

Specification Selected
PCB Thickness 1.6mm
Material Type FR-4 TG155
PCB Color Green
Silkscreen White
Surface Finish ENIG
Gold Thickness 1U”
Via Covering Plugged
Outer Copper Weight 1 oz
Inner Copper Weight 1 oz
Min via hole size/diameter 0.3mm/(0.4/0.45mm)
Electrical Test Flying Probe Fully Test
Silkscreen Technology High-precision Printing Silkscreen
Board Outline Tolerance ±0.2mm(Regular)
Mark on PCB Remove Mark
Impedance Control No requirement
Gold Fingers No
Deburring/Edge rounding No
Castellated Holes No
Press-Fit Hole No
Edge Plating No
4-Wire Kelvin Test No
Paper between PCBs No
Appearance Quality IPC Class 2 Standard
Confirm Production file Yes
Package Box With JLCPCB logo

As well, assembly specifications are below, but much less interesting:

Specification Selected
PCBA Type Economic
Assembly Side Bottom Side
PCBA Qty 5
Tooling holes Added by JLCPCB
Confirm Parts Placement Yes
Photo Confirmation No
Board Cleaning Yes
Conformal Coating No
Bake Components No
Packaging Antistatic bubble film
Depanel boards & edge rail before delivery No
Solder Paste Sn96.5%, Ag3.0%, Cu0.5%(260°C)
Flying Probe Test No
Add paste for unpopulated pad & step stencil opening No
Others No

Looking at the PCB

Alright, now that we have the nitty gritty out of the way, let’s take a look at the PCB that JLC delivered. Some notable goods and bads that stand out are below.

The Goods

Silkscreen

One of the immediate standouts of the JLC versions was the crispness and clarity of the silkscreen. Given the fairly high component density of the design, much of the silkscreen was done in rather small text and therefore, the traditional silkscreening process often had difficulty resolving the finer details or had noticeable artifacts across the board. The example slider below hopefully shows the effect which is more pronounced in lower light:

One can clearly see that the text produced by JLC’s process did not have any of the aliasing or blurring that the traditional factory text did. Furthermore, I would argue that JLC had slightly better alignment of the silkscreen. While at the end of the day silkscreen is only decorative, having the clarity is still useful when doing some troubleshooting.

Via Coverings

In my eyes, JLC did a slightly better job at the consistency of the via coverings, in the sense that they are more uniform across the board. However, I can see this as an arguable point. It’s clear that JLC’s approach tended not to have soldermask span the hole of the via themselves. Instead, the hole is noticeable but just completely though the board. Instead, the other factory board took a more haphazard approach and just smothered the top with the soldermask. It was truly up to luck whether those vias would be completely covered or not, but it seemed like most were. Again, not a major deal here, but a noticeable difference regardless.

Edge Evenness

Despite both boards having about equal soldermask damming on the edges, the JLC boards had noticeable better coverage on the edges and ended up feeling significantly more even. I suppose that one can chalk this up to the white silkscreen used on the factory board but I would want to disagree. The white silkscreen board clearly shows a bit of dog-chew along the edge, and it was consistent across various edge locations.

Soldermask Fidelity

Looking at the soldermask on both boards, I find it clear that the JLC ones had significantly better “fidelity” and was able to make sharper designs than the traditional fab. Again, like the previous, this may be due to the different properties of the soldermask colors—and this one I may be willing to give. It’s highly possible that the white soldermask had significantly higher viscosity, resulting in it flowing improperly around finer details. If so, the traditional fab offset it an appropriate amount (if not a little bit much).

Through-Hole Filling

This board has a single fairly difficult component to solder—a USB-C port with four through-hole legs. Since those legs do not fully extend past the back of the board, they cannot be actually through-hole soldered, but must instead rely on solderpaste in the hole during reflow. That’s a fairly difficult process to control and requires the engineer reviewing the file to expand the solderpaste stencil opening slightly more to account for this.

The JLC boards clearly had significantly more filling of the hole than the traditional fab. Ultimately, an improper filling of these joints may result in a significantly weaker connection on a highly stressed component. On two of the traditional fab boards, it seems the solder paste didn’t even make it remotely close to the other side, whereas the JLC boards had full and perfect coverage every time. It was very flat on the top side, exactly as expected.

Drill Registration

Both JLC and the traditional fab performed similarly in this area, with quite accurate drill registration overall. It’s hard for me to pick a winner in this exact category, but I consider it a good showing for JLC.

The Bad

Outline Defects

One of the biggest gripes I had about JLCs boards have been outline defects. Most of my board’s outlines have fairly strict functional needs, either being required to carefully mount into an enclosure or requiring a fairly tight fit. Of course, I leave the traditional +/- 0.2mm tolerance for fitment, but then I expect the boards to be able to meet those traditional IPC tolerances.

However, in two of the boards I received from JLC, there were notable outline defects likely attributable to chatter in the machining process. Both were close to 0.6-1mm in deviation, significant to affect assembly in tighter designs. Specifically for this product, it was not affecting the use of the boards. However, this would certainly be my biggest issue with trusting JLC in this use case. If I were to use JLC boards for production, I would absolutely leave a larger tolerance than needed, and not try to borrow any dimensions from the board if I could avoid it.

Defect1

Defect2

Defect3

Defect4

This is not to say that the traditional fab board was perfect. There were noticeable mouse-bite breakoff residue points along one of the boards. This could have been remedied with v-scores though like the JLC boards had used and all the edges were perfect otherwise.

Defect5 Main Fab

Component Placement

Another slight drawback of JLC was the accuracy of the component placement. Some components were slightly misaligned or tilted, potentially due to improper pick-and-place calibration or some other error. The issues were certainly not enough to cause functional problems, but the defect was definitely noticeable compared to a more accurately laid out board.

Tooling Holes

JLC appeared to have punched a couple of random tooling holes in the ground plane of the board. Not a functional issue but an eyesore nonetheless.

Surface Quality Overall

The JLC appeared to have what I consider to be slightly worse surface quality. On its face, it was clear that the soldermask on the JLC boards was notably thinner than that of the traditional fab (see above for the viscosity issue, though). As well, the exposed ENIG pads had a notable roughness and scratchiness to some of them that I’m not used to seeing.

soldermask 1

soldermask 2



Feature Photo by Brian Wangenheim on Unsplash
  1. I contacted JLCPCB inquiring whether they would be willing to provide me with a free set of assembled 4L boards in order to run a bit of a review and analysis on their designs on my blog here. I have previously been a customer of JLC for a number of projects here and there, especially when prototyping needs arise, but I never actually did a full breakdown. All of my boards with them have been pretty focused on one-off projects and were mostly used for design verification. Frankly, this current set was similar, since a major issue with the design was discovered in an earlier revision, and I didn’t want to spend too much on another revision, in case there was another failure somewhere.

    Ultimately, JLCPCB agreed to provide me a $150 coupon which covered the bare board, assembly, and shipping. They did not suggest anything regarding editorializing the review and seemed to be perfectly happy with me doing an honest and fair analysis of the boards (which is what I told them I would do initially). That said, biases can still exist, since $150 isn’t an insignificant chunk of change. Out of pocket, the 5 PCBs I ordered here for this cost me $3.02, which I believe is their minimum charge—$1.00 as a minimum customs order value, $1.00 as a minimum for shipping, and a strange $1.02 sales tax (probably on the full price?). The original cost here would have been $128.22 for the assembled boards and $22.80 for DHL Express to Chicago. This pricing was not including a couple components that I had pre-ordered through their parts library nor the consigned components that were involved.

    All in all, I will try to be as fair as I possibly can here, with an emphasis that this is not an ad in any way. I don’t benefit the slightest if you choose to go through JLC—apart from maybe getting more emails asking if I want to get sponsored (which I won’t take on unless there is a reasonable content-based case for it). End of day, I’m a customer and will continue to just be a customer of JLC. [Back]

  2. I’m happy JLCPCB decided to include me in this list so I can give them a fair and balanced run with a product I know and love. [Back]