In addition, china is where all the world's pcbs are made, even for commercial stuff, it's not unreasonable to expect them to deliver higher and more consistent quality than home fabs.
The gap only begins to slightly close at more complex boards, but not that much.
Overseas will almost always win on price (at least in small quantities), but it's hard to beat the turnaround from local manufacturers...
I wish there were more regional places like PCBWay and JLCPCB in US, EU, etc (with similar pricing) so shipping didn't require circumnavigating the globe.
And there are probably others but with even less visibility / willingness to interact with private customers. Hell, I used to live next door to a sales office for a local PCB fab, but they never bothered to answer my inquiry about prototypes.
(That's another thing the proto-friendly companies do right: instant quotes without log-in requirement)
There are US shops like Advanced Circuits that can turn boards around extremely quickly, but obviously you are paying for that speed. Most people ordering a handful of boards for a hobby project, or prototype are probably optimizing more for cost and consistency than shaving a few days off the lead time.
Once someone finds a vendor where they know the quality will meet whatever their own subjective minimum is, there's not much incentive to shop around. Being able to tack on assembly at JLC with a single checkbox also exponentially increases the desire to just stick with that vendor.
https://github.com/bschwind/tsl4531-module
(sorry for imgur, not sure what people use for image hosts these days)
I then went on to also make a BME280 breakout:
https://github.com/bschwind/bme280-module
From there on I've made various PCBs, and thankfully they've pretty much all worked on the first try. I do take a lot of extra time to verify the design and double check all the datasheets.
⸻
1. Some details may be incorrect as I was 10, this was the late 70s and I only saw the results, not the process.
The problem isn't that people outsource it, it's that they need to outsource to China. That's an abject failure of domestic PCB manufacturers who simply don't want to deal with retail customers.
Things like soldermask, multiple layer stackups and plated holes and vias are standard on dirt-cheap Chinese boards but are challenging and time-consuming to do at home.
And yes drill through holes.
Ofcourse only good for two sided (layers) boards at the most.
A "via" is basically just a wire stuck right through the whole board top-to-bottom. (Okay, it's not really a wire. They drill a hole and then chemically grow a layer of copper that fills the hole.) You can connect the copper pattern on any layer(s) to that "wire", so it's often used to route a signal from one layer to the other. But you already have a real wire going through the board: the GND header pin! So no via is necessary; just connect directly to that pin on each layer (kicad probably did this for you automatically). This trick works with all thru-hole pins.
For RF or high-current applications, sometimes you cover a board with a grid of vias, just making redundant connections between the planes all over the place, "stitching" them together. But careful, add too many vias and the PCB shop will bill you extra.
Putting a GND pour on the top layer is a good idea. It's lower-impedance than individual skinny traces, and takes less/zero effort to route. The GND trace you manually routed isn't necessary; you can see by the transparent-red shape that kicad already has copper there. However, you ended up with a little "island" of dead copper between R2 and C2, which is the real reason you needed the via.
A better approach would be to use the bottom layer for +3.3V power instead of a redundant ground pour. This gets rid of the +3.3V traces (BTW, best to use a single, thicker one instead of 2x side-by-side) and unifies the island into the ground pour. Even though this is a micro-power application, playing the traveling-salesman game with long scraggly power traces is never a good idea. You would still need vias to connect each top-layer +3.3V SMD pad to the bottom-layer power plane, but the signal-integrity benefits of a plane make this worth it. Maybe the absolute best is an uninterrupted GND plane on the bottom and a +3.3V pour on the top.
Putting SMDs on the bottom side makes the board cost more, so good call leaving them all on top, but putting traces on the bottom layer is free. So you can even move signal traces between layers to avoid cutting up your planes too much. It's "fun" with big complex boards, like untying a giant knot...
You are very miserly with your +3.3V global net symbols in the schematic! You can place as many as you want to optimize the schematic's readability. Especially near the CSB pin, the 4-way solder dot looks like some intermediate signal in a voltage divider, but it's actually just +3.3V. Same suggestion with GND -- basically, it's more informative to read "this pin is GND, and this pin is GND" than "these two pins are connected, I wonder what they're doing...oh, it's all GND".
Pull-up resistors are usually oriented vertically, too, so they graphically pull "up"!
Anyway...I hope you don't mind all my constructive criticism. It's nice to see something on HN I know about!
For stuff like passives it's usually easier to use Digi-Key or Mouser and you can filter by MOQ so you only see things that are available individually.
I always feel anger or something when I see some YouTuber say they easily made a board and ordered it pre-assembled from JLCPCB. They make it sound like it's so painless, but for me it's mostly searching through part listings trying to find one without a minimum order quantity of like 100, because there are no filters or sorts for that
What's annoying for me is Digikey and friends insisting on only delivering with express carrier. I'd like to have a cheaper, slower option.
(not that I use it since they don't deliver to our loading dock)