Hacker News new | past | comments | ask | show | jobs | submit login

If you're going to produce a reasonable-sized batch of anything electronic, I'd strongly recommend:

a) doing some reading on design for manufacturing

b) getting some quotes for PCB assembly services and

c) considering factory-programmed microcontrollers

At quantity 200, you could have simple boards like these assembled for about a buck a piece. Microchip will program 200 PIC or Atmel microcontrollers from the factory for about 20 cents each with a $29 setup fee. Unless you're willing to work for a very low hourly rate, you should probably take advantage of someone else's economies of scale.



I didn't realize assembly/programming services were that cheap and I'll definitely consider them for final runs of things in the future if it's a decent quantity like this. I'm just a hobbyist and I enjoy putting these things together, and most of the time it's just a handful of boards at once anyways so it's not a big deal.

The real issue was that I had ended up cutting a lot of corners to try and get things done in time, particularly with regards to testing. Definitely a major lesson learned.

The MCUs didn't take long to program with a ZIF socket, but once they were baked onto boards and I was finding bugs that needed to be fixed, that's where it really turned into a pain doing it over SPI.

After all of that, I still ended up having to bodge 2 connections on all of the final boards after all was said and done (which was the 5th or 6th board revision after I did small test runs to play with things and fix issues)

Check out CircuitHub they make it really easy to iterate on a design and get an instant quote on cost to build it. Really nice automated interface for quoting takes almost all the design parameters directly out of your design files. Makes traditional quoting interfaces feel like the stone age. They are doing for PCBA what OSHPark did for small batch PCB ordering.

They have some competition but CircuitHub is my go to. Others to check out are...




[0] https://circuithub.com/

>The real issue was that I had ended up cutting a lot of corners to try and get things done in time, particularly with regards to testing. Definitely a major lesson learned.

Haste makes waste, measure twice and cut once. It's one of the hardest lessons to properly internalise - bodges and firmware changes can be hugely time-consuming, so it nearly always makes sense to absolutely nail your prototype before moving to production.

Congrats on a cool project.

i.e., waterfall really does make sense when you're dealing with hardware.

I want to push back on this notion a little bit. I think non-waterfall is plenty fine for hardware development. If you structure your product development cycle as a series of (design, build, test, feedback) steps, you get that valuable feedback much earlier than later.

One/one-hundred-off prototypes are expensive but nothing beats the information gained from soldering a board, plugging in connectors, and programming chips directly. You'll do these steps at the end of a waterfall process anyways, and I'd say they're more expensive to alter then. When a problem is found, deciding to bodge wire two pads is the high-cost, low-risk solution to problems found late in the game. Discovering the problem early, fixing it in the schematic, and testing during your next prototype cycle is cheaper during production and risk is mitigated because you're still going to be testing before you ship.

Of course, this is all very much propaganda, and not all shops would follow this idealistic scenario, but I don't think hardware is any more waterfall than anything else.

Electronics DFM is one of those things that's really, really hard to learn. Most of the resources out there are lacking; they're either really basic stuff, really advanced stuff, or just plain incomprehensible. I am only aware of two ways to learn it that actually work:

1. In-person reviews with an expert. Offline reviews can be useful for getting a design out, but to understand the problem space, you need a back-and-forth conversation. Sample conversation that's easy in person but very hard over email: "Why not do it this way?" "Well, that would work, and it's a good solution a lot of the time, but you have this thing over here which makes this other approach a lot better...."

2. The hard way: sometimes there's just no substitute for experience.

At quantity 200, I think contract assemblers make a lot of sense (but do shop around: the economics of this particular supply chain can get weird), but factory-programmed parts really don't. Maybe if your firmware is final final I'd advise a client of mine to do it, but in any case where you're going to want a later firmware update, the best ROI is going to come from getting the debug port hardware perfect. That means the right connector (standard pinout, standard part, from a good quality manufacturer), level shifters where appropriate, pull-up and pull-down resistors, and all the rest. (Making sure this stuff was all explicitly spelled out on our review checklist was one of the first things I did when arriving at my current employer, and it's saved us and our clients a lot of money!)

Electronics DFM is one of those things that's really, really hard to learn

Seeed Studio guide to DFM.[1]


It’s a great guide - but there are two main limitations.

First, this is the DFM guide specifically for Seeed. Every factory will have a different set of specs depending on equipment (assembly, test, and inspection, and familiarity of operating personnel), throughout requirements, yield requirements and price points, rework allowance, and so on.

Second, these typically assume for wide tolerances. Operating environment or design may necessitate relaxing some parameters in order to allow others to tighten (aka the tolerance stack up).

Dealing with both cases effectively in volume production is what requires experience beyond the manufacturer provided DFM guide.

Someone who learns this guide inside and out will be able to DFM with Seeed but not necessarily anyone else.

More generally, the DFM guidelines for ceramic RF materials would be wildly different than for Kapton flex connectors or for standard FR4 material.

The guide is pretty solid, kudos to Seeed, I've used them for a 4-layer PCB and was very happy with the result.

Even if some things are different across CM's, the guide at least provides an awareness of the main issues for the target audience (amateurs or people getting their feet wet) for which these things are "unknown unknowns." If someone were to follow Seeed's guidelines, they would be in a good position to adapt their stuff for a different CM as long as they're receptive to feedback and the CM is willing to review it.

Absolutely true!

It's not hard if you're doing some Arduino-level IoT thing where the signals are slow and the density isn't that high. If you're designing fast electronics with RF components, you need to be an EE anyway.

Are there any GitLab/GitHub repos or wikis our there people can help edit to document design for electronics manufacturing?

Plugging my own thing: It is not a lot, but I have been compiling a design checklist for electronics design since summer.

Right now it is a tool for myself and my work, which puts a priority on being comprehensive; but the licensing is liberal and I’m open to input.


Simple things do not need to be documented. And heavy ones are something like trade secrets. There is low probability, that somebody might share their trade secrets with you. There are checklists from fpga vendors for pcb design: https://www.xilinx.com/support/documentation/user_guides/ug4... Chance, that you will produce the boards for systems with fpga by yourself, is very low.

Maybe Arduino?

It's not worth programming at factory IMHO unless you have extremely high volume. On a small scale, firmware is the most likely thing you're going to cock up. Between the parts being programmed and arriving, you're one FW revision up potentially. Best to build a programming header into the design and load before packing. You can load test jig firmware in before as well then.

Also some bottom rung assemblers you don't want to trust with your production firmware!

For me, 200 boards:

1. JLCPCB board + parts + assembly service. 2. Final assembly (non placeable parts) yourself. 3. Load firmware in and test via own test/programming jig. 4. Pack and send.

Out of curiosity, who do you usually use for your assembly service? I've ordered boards from JLCPCB, but only ever done assembly myself. Can you typically send your JLCPCB orders straight to the assembly house? Would love to hear more about the process of using an assembly service.

I haven't done it for a few years. Used a local service here in the UK for it who don't exist any more.

Production engineering is a thing, and it's almost a separate domain to basic electronic design. There are production shops in China that will take almost any design, build it, package it, and deliver it, for a short run of >250 units or so - often for less than the cost of buying the parts and doing all the assembly at home.

It's still not quite trivial, but it's not exactly hard now for small designers to go circuit -> Amazon without ever having to do any assembly at all.

> At quantity 200, you could have simple boards like these assembled for about a buck a piece.

I don't think PCB assembly would be that cheap, especially for a board with lots of SMT components. What I understand is that SMT manufacturing has a high startup cost, you need to supply the factory with full tapes of parts, and the factory needs to program the assembly line, often a factory is reluctant to take any offer below tens thousand boards because its high overhead. Even for service providers specialized in prototyping then, I don't see many provide QFN and BGA packages as options.

What have I missed here?

In recent years, Chinese firms have drastically reduced the cost of short-run PCB manufacturing and assembly. They generally accept re-reeled or cut tape parts and some offer a turnkey sourcing service - you provide the BOM, they do the rest.

I just requested some quotes for assembly of 200 boards with a single-side load of 25 SMT parts, of which one is a BGA. The cheapest quote was ALLPCB at $1.09 per board, followed by PCBWay at $1.33 per board. That price includes setup and testing.

No transaction involving Chinese outsourcing is without risk and you need to do your homework, but it is no longer the case that DIY assembly is your only option.


Does the price include the parts too ?

Reading the "Add proper programming and debugging interfaces" section it sounds like the author might have been using factory burned uCs. They definitely burned the chips before assembly at least.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact