It's incredible how cheap it is to get custom PCBs made at prototype scale these days, even ones with advanced features. It feels like we're living in a golden era of custom manufacturing.
It is unfortunate hope local companies like OSH Park get love too. The marketing of companies like JLC or pcbway whenever I post a hardware project on a website like Hackaday or Hackster always reach out to me to use em. Not that it would matter so many big makers on YT use em.
I can vouch for OSH Park. Wonderful company, nice people, and really good quality boards. Pads lift so much easier on the cheap Chinese boards that I think it alone makes it worth it to choose local manufacturers.
The price is a bit steep for bigger boards but if you're working on a project that they are interested in, they provided financial support every so often. I've gotten a few boards sponsored by them!
The problem with OSH Park is that they're in the US, so they're prohibitively expensive for shipping and there's no guarantee your boards will even make it to you.
I've also got concerns about the quality of American electrical products.
In the past if you didn't live in the US, OSHPark was a great option. Local fabs were very expensive, had big setup fees and even the "maker" places charged more and you'd only get HASL. Meanwhile OSH gave you 3 with ENIG and the quality has always been excellent. They nailed the automation to make group buys cost effective.
If you live in the US, it's free shipping and for breakout boards or smaller work, still a great option. Unless you're a student, I think most side projects aren't make or break if the boards cost $5 vs $2. Even $20-25 I would consider fair for a one-off side project and they also do $1/sqin medium runs if you need > 10.
OshPark's quality is high, but their prices are certainly higher too. Good to support them though if you live in the States, since that's where they manufacture the boards.
That's kind of the problem though. jlc/pcbway aren't just "cheaper", for anything 2 or 4 layer that doesn't require special coatings, thickness, or finish such as gold fingers, it's just so cheap and fast that it makes no financial sense to buy locally. You'd pay several hundred percents more to get the boards maybe 1-2 business days earlier.
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.
It's a loss leader by JLBPCB to get the high-volume contract. Or so said the head of OshPark eight years ago.[1]
There does seem to be a willingness by Chinese manufacturers to deal with small-volume makers and sellers. Look at the minimum order quantities on Alibaba. That's supposed to be a wholesale market, but often wholesale starts at 2 units.
I was actually very surprised myself. As I mentioned in the post, I don't do that type of work so it's all new to me. This got me also interested in CAD. You can design parts and don't need to own the 3d printer, could just get parts manufactured online.
Yeah, and since it seems there's some competition there, the prices are decent. You can get milled metal, 3D prints, populated PCBs... crazy what you can do now and how quickly it can be turned around, if you are willing to pay.
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.
EU has Aisler but what you win in shipping times you lose in production lead time (unless you pay for faster service).
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)
> but with even less visibility / willingness to interact with private customers
It's honestly depressing. I could believe the theories (off vibes, since I'm not in manufacturing, just a hobbyist) that this is one of the reasons why China is overtaking the West in hardware. Manufacturers here just don't want to talk to you at all unless you're willing to buy a million units, it seems. From what I've heard, in China, it's far easier to get started (and that certainly matches my experience with jlc/pcbway).
Like, I get it, profit wise. But it's a bit of a sad state of affairs.
To throw another in the mix, SendCutSend has consistently been a reliable and affordable option for 2D cut parts. They recently added CNC machining offerings, though I can't speak to their affordability on that.
Overseas will almost always win on price (at least in small quantities), but it's hard to beat the turnaround from local manufacturers...
JLCPCB is often the manufacturer of choice with DIY PCBs, and the reputation is well deserved. I recommend them as well, have never had an issue with what they've made. It's a bit pricier for a one-off board given the MOC, so it's preferable to do some sort of group buy if you can.
Slight tangent: a long time ago when I was into this hobby, Oshpark was usually the go-to instead of JLCPCB. What happened to them? Macrofab too if anyone's used them.
OSHPark is bare board fab only but JLC does turnkey. I've enjoyed working with CircuitHub for turnkey prototypes. I'm not in love with the web interface (source files must be uploaded so if you have silkscreen that has dynamic parameters you need to make a ticket and the BOM parser misses stuff very often so every project needs an audit).
I don't think anything necessarily happened to OSHPark so much as JLC became the default for a lot of people. I find the defining factor is just consistency mixed with capabilities. Even if one could conceivably get a specific PCB stackup quicker from a US company, being able to order basically any type of PCB (and increasingly more than just PCBs) from a single vendor is a pretty significant value-add.
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.
Simple: jlcpcb can deliver you 10 boards for anything a hobbyist will likely need for 10$ including shipping, and it ships in 24 hours. Oshpark cannot compete with that.
This guy, with his air quality sensor, should get together with the guy yesterday that built a fan controller. Connected, fans could turn on when really needed. That's the basis of intelligent HVAC.
OK, so people are ordering a custom PCB from China for a one-off? Whatever happened to making them at home? I remember my brothers doing this in the bathroom sink with a board coated with copper¹, some special markers to draw the circuit on the board and chemicals to wash off the extra copper. I’m guessing they might have used our dad’s electric drill to put some holes in the board as well, but looking at the article, this doesn’t seem like an order from China need.
⸻
1. Some details may be incorrect as I was 10, this was the late 70s and I only saw the results, not the process.
In addition to what others said, home-etched PCBs are just much lower quality. We're no longer living in a world where every component has leads on a 2.54 mm grid, so tolerances matter a lot more. Also, SMD means you really need vias and a solder mask.
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.
Exactly. Even for this small board, the IC has 0.65mm spacing of the LGA pads. It would be pretty difficult to assemble it without solder mask.
Almost everyone who has the experience of etching a board, or even using a router to automate making one, and also has the experience of ordering a PCB, never makes one by hand again.
What happened is that you can get a set of 5 custom PCBs for about $2. The quality is much higher and you don't have to deal with nasty chemicals. I'll never manually etch a board ever again if I can help it.
Ferric chloride isn't that nasty, it just stains everything.
Electricity costs 25 pence per kWh here. I don't have to make many boards before JLC becomes cheaper than firing up the heated bubble etch tank.
I first started using JLC instead of etching at home in early 2020, and since then I've had a small child, so yeah I'm not running the bubble tank with a 6-year-old running around. Maybe in a couple of years we'll do one by hand, drawing the tracks on the PCB with a Dalo pen and so on, because I remember doing that with my dad when I wasn't much older than my son is now.
But that is definitely going to be an Outside Toy.
Buying custom PCBs from China makes sense if you're interested in making electronics. It was more than a decade ago that the equation shifted to the point that making them at home has only made sense if you're interested in the process of making PCBs themselves.
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.
I used to do this at home. Either thermal transfer or also used a flat bed plotter with an adapter for a Staedler permanent market to draw directly on the PCB. Fun times. Ferric Choride IIRC for etching or you could also use hydrogen peroxide which was much slower...
And yes drill through holes.
Ofcourse only good for two sided (layers) boards at the most.
Wow, very very similar to my first PCB, a breakout board for the TSL4531. I ordered it from OshPark back in 2016. Used the exact same soldering iron, and a Quick hot air station, though it's the less fancy one than you have.
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.
I work on software and a bit of hardware for my job, at tonari. It's basically a low latency video "portal" to connect spaces. My most recent hardware project was to add an OLED display + rotary encoder dial to the product. That was a fun project, and it turned out great! It was also my first time doing a 4 layer board and having to worry at least a little bit about EMI and all that. All my previous stuff has been lower speed 2 layer stuff, like a custom mechanical keyboard.
Nice board, looking forward to seeing your next one. A little feedback, helpful I hope:
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!
This is great! Thanks for the detailed write up and suggestions to improve. Like I said, this is my first time doing it and I have no background in EE or PCB design. If I make something else I'll give your suggestions a try.
It is like 1 week between order and delivery. It feels to me that if you can't wait for a week for parts and PCB then maybe project should not exist at a first place.
I've been trying to make a PCB but it's just so annoying having to sift through pages and pages of listings in order to find each individual tiny component without minimum order quantities of hundreds or more. The process of finding each component is so tedious that I gave up. (I was using EasyEDA hoping it would be easy to find components I could actually order -- nope)
Part selection is often the bulk of the work in a PCB design, yeah. What tools were you using, though? In general the parametric searches on digikey, mouser, etc are pretty good for the standard components. For stuff like resistors it's generally easiest to find a particular range and pick from those. You might find most of those have a MOQ but they're cheap enough it's usually not a major issue.
What kind of part? I use Octopart for a lot of things, like ICs (sometimes some variants are available in low quantities but others aren't and only in thousands).
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.
the most annoying was stuff like resistors or capacitors. They tended to have huge minimum order quantities, there were hundreds of results for any kind of query and most of them were always out of stock. I wanted to stick to JLCPCB's platform so that I could order the boards pre-populated, but I didn't want to be stuck ordering far more components than the board actually needs.
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
Were the MOQ for the resistors a major contributer to cost? Usually they're super cheap so even buying 100 is not a crazy problem. Also most PCB assemblers will have a generic component library for common resistor and capacitor values and footprints, which they encourage you to use anyhow because it's less hassle for them (they're often not even charged per part).
(And if you're assembling them yourself, then you can also buy kits of the common ranges to save the hassle and cost of having to maintain a stock)
DigiKey used to be a good place to get. Also design for parts you can get... In the old days you could also get samples from chip companies if you asked nicely. No idea if anyone still does that.
So a lot of this goes away if you try to stick to jlcpcb basic parts from lcsc, and you sort of develop preferred components for things. Another trick is when in a category, for example angular hall sensors, once you have the key attributes like vin, smt, etc, sort by quantity desc to see what parts get heavily stocked, that tends to indicate what is popular in industry and likely to be a good generic fit. Out of the top 10-20 pick according to stock level against price. If youre ordering from jlc, look through lcsc and you can do pcba with them, or get the parts shipped with the pcbs. Otherwise digikey, mouser (good for connectors), farnell, rs etc, roughly in that order. You will quickly learn for a lot of components there are very standard parts everyone uses. Diodes, inductors for example. To some extent if your footprint is already in the jlcpcb library, its popular and use that. Ie theres 1 smd push button that is basic on jlc and has a footprint in kicad default library. Youd be a little crazy to use anything else. Make all your resistors and caps 0603 or 0402, jlc stocks those the most, vs spotty coverage in 0805 or 1206.
But you find each time you find something in a category, a hall sensors, an encoder, a capacitance sensor, gpio expander, adc, you just file that away as kind of solved and next time you hit that part first before finding alts. Over time you have to dig about less and less. But dont bother with things like resistors, caps, etc that are basic. Even mosfets, unless you have special needs the 3 main types jlc has as basic are fine. Dont get some odd package thats technically two mosfets in one, just put down two basic mosfets. And if you do need a more 'advanced' part, look what is on jlc's promo list atm. Theres very popular stm's for example that are prettymuch constantly on promo (promo is they have the part loaded in mid term for some big customer so you might as well piggyback. Means no loading fee. Adds up)
Llm's can be useful for sifting the sand. Narrowed it to like 30 options and still dont know whats the best pick? Export search as csv and ask your favourite stochastic parrot which part would work best for your application and why. Dont ask them for part numbers though, completely pointless.
It's incredible how cheap it is to get custom PCBs made at prototype scale these days, even ones with advanced features. It feels like we're living in a golden era of custom manufacturing.
It is unfortunate hope local companies like OSH Park get love too. The marketing of companies like JLC or pcbway whenever I post a hardware project on a website like Hackaday or Hackster always reach out to me to use em. Not that it would matter so many big makers on YT use em.
I can vouch for OSH Park. Wonderful company, nice people, and really good quality boards. Pads lift so much easier on the cheap Chinese boards that I think it alone makes it worth it to choose local manufacturers. The price is a bit steep for bigger boards but if you're working on a project that they are interested in, they provided financial support every so often. I've gotten a few boards sponsored by them!
Pad lift is mainly an issue with base material and there are only a hand full of copper clad suppliers
Almost everyone is using King Board, and they are high quality
I rarely have problems with lifted pads or traces on Chinese boards. And if I do it is usually my own fault.
The problem with OSH Park is that they're in the US, so they're prohibitively expensive for shipping and there's no guarantee your boards will even make it to you.
I've also got concerns about the quality of American electrical products.
In the past if you didn't live in the US, OSHPark was a great option. Local fabs were very expensive, had big setup fees and even the "maker" places charged more and you'd only get HASL. Meanwhile OSH gave you 3 with ENIG and the quality has always been excellent. They nailed the automation to make group buys cost effective.
If you live in the US, it's free shipping and for breakout boards or smaller work, still a great option. Unless you're a student, I think most side projects aren't make or break if the boards cost $5 vs $2. Even $20-25 I would consider fair for a one-off side project and they also do $1/sqin medium runs if you need > 10.
Is the cost and quality comparable to the Chinese options?
OshPark's quality is high, but their prices are certainly higher too. Good to support them though if you live in the States, since that's where they manufacture the boards.
That's kind of the problem though. jlc/pcbway aren't just "cheaper", for anything 2 or 4 layer that doesn't require special coatings, thickness, or finish such as gold fingers, it's just so cheap and fast that it makes no financial sense to buy locally. You'd pay several hundred percents more to get the boards maybe 1-2 business days earlier.
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.
It's a loss leader by JLBPCB to get the high-volume contract. Or so said the head of OshPark eight years ago.[1]
There does seem to be a willingness by Chinese manufacturers to deal with small-volume makers and sellers. Look at the minimum order quantities on Alibaba. That's supposed to be a wholesale market, but often wholesale starts at 2 units.
[1] https://www.reddit.com/r/PrintedCircuitBoard/comments/9bt5ed...
I was actually very surprised myself. As I mentioned in the post, I don't do that type of work so it's all new to me. This got me also interested in CAD. You can design parts and don't need to own the 3d printer, could just get parts manufactured online.
Yeah, and since it seems there's some competition there, the prices are decent. You can get milled metal, 3D prints, populated PCBs... crazy what you can do now and how quickly it can be turned around, if you are willing to pay.
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.
EU has Aisler but what you win in shipping times you lose in production lead time (unless you pay for faster service).
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)
> but with even less visibility / willingness to interact with private customers
It's honestly depressing. I could believe the theories (off vibes, since I'm not in manufacturing, just a hobbyist) that this is one of the reasons why China is overtaking the West in hardware. Manufacturers here just don't want to talk to you at all unless you're willing to buy a million units, it seems. From what I've heard, in China, it's far easier to get started (and that certainly matches my experience with jlc/pcbway).
Like, I get it, profit wise. But it's a bit of a sad state of affairs.
This and sheet metal manufacturing from Oshcut have been game changers for me
To throw another in the mix, SendCutSend has consistently been a reliable and affordable option for 2D cut parts. They recently added CNC machining offerings, though I can't speak to their affordability on that.
Overseas will almost always win on price (at least in small quantities), but it's hard to beat the turnaround from local manufacturers...
They were just on Linus Tech Tip.
Yeah golden days for PCBs especially now the golden days for home built PCs seem to be over.
JLCPCB is often the manufacturer of choice with DIY PCBs, and the reputation is well deserved. I recommend them as well, have never had an issue with what they've made. It's a bit pricier for a one-off board given the MOC, so it's preferable to do some sort of group buy if you can.
Slight tangent: a long time ago when I was into this hobby, Oshpark was usually the go-to instead of JLCPCB. What happened to them? Macrofab too if anyone's used them.
OSHPark is bare board fab only but JLC does turnkey. I've enjoyed working with CircuitHub for turnkey prototypes. I'm not in love with the web interface (source files must be uploaded so if you have silkscreen that has dynamic parameters you need to make a ticket and the BOM parser misses stuff very often so every project needs an audit).
I don't think anything necessarily happened to OSHPark so much as JLC became the default for a lot of people. I find the defining factor is just consistency mixed with capabilities. Even if one could conceivably get a specific PCB stackup quicker from a US company, being able to order basically any type of PCB (and increasingly more than just PCBs) from a single vendor is a pretty significant value-add.
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.
Simple: jlcpcb can deliver you 10 boards for anything a hobbyist will likely need for 10$ including shipping, and it ships in 24 hours. Oshpark cannot compete with that.
Their shipping costs are too high.
This guy, with his air quality sensor, should get together with the guy yesterday that built a fan controller. Connected, fans could turn on when really needed. That's the basis of intelligent HVAC.
OK, so people are ordering a custom PCB from China for a one-off? Whatever happened to making them at home? I remember my brothers doing this in the bathroom sink with a board coated with copper¹, some special markers to draw the circuit on the board and chemicals to wash off the extra copper. I’m guessing they might have used our dad’s electric drill to put some holes in the board as well, but looking at the article, this doesn’t seem like an order from China need.
⸻
1. Some details may be incorrect as I was 10, this was the late 70s and I only saw the results, not the process.
In addition to what others said, home-etched PCBs are just much lower quality. We're no longer living in a world where every component has leads on a 2.54 mm grid, so tolerances matter a lot more. Also, SMD means you really need vias and a solder mask.
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.
Exactly. Even for this small board, the IC has 0.65mm spacing of the LGA pads. It would be pretty difficult to assemble it without solder mask.
Almost everyone who has the experience of etching a board, or even using a router to automate making one, and also has the experience of ordering a PCB, never makes one by hand again.
What happened is that you can get a set of 5 custom PCBs for about $2. The quality is much higher and you don't have to deal with nasty chemicals. I'll never manually etch a board ever again if I can help it.
Ferric chloride isn't that nasty, it just stains everything.
Electricity costs 25 pence per kWh here. I don't have to make many boards before JLC becomes cheaper than firing up the heated bubble etch tank.
I first started using JLC instead of etching at home in early 2020, and since then I've had a small child, so yeah I'm not running the bubble tank with a 6-year-old running around. Maybe in a couple of years we'll do one by hand, drawing the tracks on the PCB with a Dalo pen and so on, because I remember doing that with my dad when I wasn't much older than my son is now.
But that is definitely going to be an Outside Toy.
These days, a one-off PCB is dirt cheap. They’ll provide and solder the components for you, for less money than you could buy them to do it yourself.
Buying custom PCBs from China makes sense if you're interested in making electronics. It was more than a decade ago that the equation shifted to the point that making them at home has only made sense if you're interested in the process of making PCBs themselves.
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.
I used to do this at home. Either thermal transfer or also used a flat bed plotter with an adapter for a Staedler permanent market to draw directly on the PCB. Fun times. Ferric Choride IIRC for etching or you could also use hydrogen peroxide which was much slower...
And yes drill through holes.
Ofcourse only good for two sided (layers) boards at the most.
Wow, very very similar to my first PCB, a breakout board for the TSL4531. I ordered it from OshPark back in 2016. Used the exact same soldering iron, and a Quick hot air station, though it's the less fancy one than you have.
https://github.com/bschwind/tsl4531-module
https://imgur.com/ozk7UuS
(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.
It's so funny that you had a similar idea. Are you an electrical engineer or swe? What are you building these days?
I work on software and a bit of hardware for my job, at tonari. It's basically a low latency video "portal" to connect spaces. My most recent hardware project was to add an OLED display + rotary encoder dial to the product. That was a fun project, and it turned out great! It was also my first time doing a 4 layer board and having to worry at least a little bit about EMI and all that. All my previous stuff has been lower speed 2 layer stuff, like a custom mechanical keyboard.
Nice board, looking forward to seeing your next one. A little feedback, helpful I hope:
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!
This is great! Thanks for the detailed write up and suggestions to improve. Like I said, this is my first time doing it and I have no background in EE or PCB design. If I make something else I'll give your suggestions a try.
I have made boards but never actually used them (the delay between need and supply is too long for me)
I wish I could 3d print a board with all its components - instant gratification (which incidentally was one of my half baked projects)
It is like 1 week between order and delivery. It feels to me that if you can't wait for a week for parts and PCB then maybe project should not exist at a first place.
PCBs are very neat, but that shipping time is a boomer when you are prototyping and you really don’t know what you are doing.
I've been trying to make a PCB but it's just so annoying having to sift through pages and pages of listings in order to find each individual tiny component without minimum order quantities of hundreds or more. The process of finding each component is so tedious that I gave up. (I was using EasyEDA hoping it would be easy to find components I could actually order -- nope)
Part selection is often the bulk of the work in a PCB design, yeah. What tools were you using, though? In general the parametric searches on digikey, mouser, etc are pretty good for the standard components. For stuff like resistors it's generally easiest to find a particular range and pick from those. You might find most of those have a MOQ but they're cheap enough it's usually not a major issue.
What kind of part? I use Octopart for a lot of things, like ICs (sometimes some variants are available in low quantities but others aren't and only in thousands).
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.
the most annoying was stuff like resistors or capacitors. They tended to have huge minimum order quantities, there were hundreds of results for any kind of query and most of them were always out of stock. I wanted to stick to JLCPCB's platform so that I could order the boards pre-populated, but I didn't want to be stuck ordering far more components than the board actually needs.
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
Were the MOQ for the resistors a major contributer to cost? Usually they're super cheap so even buying 100 is not a crazy problem. Also most PCB assemblers will have a generic component library for common resistor and capacitor values and footprints, which they encourage you to use anyhow because it's less hassle for them (they're often not even charged per part).
(And if you're assembling them yourself, then you can also buy kits of the common ranges to save the hassle and cost of having to maintain a stock)
DigiKey used to be a good place to get. Also design for parts you can get... In the old days you could also get samples from chip companies if you asked nicely. No idea if anyone still does that.
Some still do, but they'll only send to businesses, not to individuals.
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.
USPS is def an option for Digikey...
(not that I use it since they don't deliver to our loading dock)
So a lot of this goes away if you try to stick to jlcpcb basic parts from lcsc, and you sort of develop preferred components for things. Another trick is when in a category, for example angular hall sensors, once you have the key attributes like vin, smt, etc, sort by quantity desc to see what parts get heavily stocked, that tends to indicate what is popular in industry and likely to be a good generic fit. Out of the top 10-20 pick according to stock level against price. If youre ordering from jlc, look through lcsc and you can do pcba with them, or get the parts shipped with the pcbs. Otherwise digikey, mouser (good for connectors), farnell, rs etc, roughly in that order. You will quickly learn for a lot of components there are very standard parts everyone uses. Diodes, inductors for example. To some extent if your footprint is already in the jlcpcb library, its popular and use that. Ie theres 1 smd push button that is basic on jlc and has a footprint in kicad default library. Youd be a little crazy to use anything else. Make all your resistors and caps 0603 or 0402, jlc stocks those the most, vs spotty coverage in 0805 or 1206.
But you find each time you find something in a category, a hall sensors, an encoder, a capacitance sensor, gpio expander, adc, you just file that away as kind of solved and next time you hit that part first before finding alts. Over time you have to dig about less and less. But dont bother with things like resistors, caps, etc that are basic. Even mosfets, unless you have special needs the 3 main types jlc has as basic are fine. Dont get some odd package thats technically two mosfets in one, just put down two basic mosfets. And if you do need a more 'advanced' part, look what is on jlc's promo list atm. Theres very popular stm's for example that are prettymuch constantly on promo (promo is they have the part loaded in mid term for some big customer so you might as well piggyback. Means no loading fee. Adds up)
Llm's can be useful for sifting the sand. Narrowed it to like 30 options and still dont know whats the best pick? Export search as csv and ask your favourite stochastic parrot which part would work best for your application and why. Dont ask them for part numbers though, completely pointless.
LCSC has been my problem. It's built into EasyEDA, but most search results aren't in stock, and most of the rest have high minimum order quantities.
I needed a lot of different resistor, capacitor, etc values so each and every one needed me to go through that search.