BMOW title
Floppy Emu banner

Outsourced PCB Assembly and Testing

PCB Assembly

Help request! If any reader has experience taking a hobby-scale electronics project to an outside vendor for assembly, I’d love to hear from you. I’ve been talking with the fab in China that makes the Floppy Emu PCBs, and they can do the full assembly process for a reasonable price. That means making the PCBs, ordering all the components, and doing 95% of the assembly. I’ll add the DB-19 connector and LCD myself. But I’m stuck on determining what kind of testing to request from them, if any. It seems like a simple question, but I don’t have the experience to know what kind of failures to test for or what failure rate is typical.

The vendor will send me hardware that passes whatever tests I specify. If a board fails a test, it’s up to them to find out the problem and fix it. Ideally they’d do a full functional test – the same test I do before shipping a Floppy Emu – but that’s not practical for several reasons. I’d have to ship several vintage Macs to Shenzhen, and give them instructions on how to use old System 2.0 software and perform a non-automated series of file copy tests. Assuming they were even willing to do this, it would be expensive and time-consuming, and I’m not sure I’d even trust them to do it correctly.

At the other end of the spectrum, they could do a basic power-on test. Apply power, and confirm that the power LED turns on. But that wouldn’t really prove much except that there are no power-to-ground shorts. There could be all kinds of horrible problems with the board, but the LED would still turn on and the test would still pass. Furthermore, it’s not so easy to “power on” a Floppy Emu without having a Mac, since it’s meant to be powered through the floppy port. I’d have to build them some kind of power adapter, or they’d need to connect test leads to specific pins on the board to power it.

A mid-level test would be for them to flash the AVR firmware, then confirm that the status LED blinks three times at power-on (the normal behavior). That would at least show that the AVR was working correctly. But it wouldn’t do anything to test the SD card interface, or the CPLD, or the LCD interface. And there would still be the same challenge of powering the hardware without having a Mac to connect with it.

What makes this difficult is not knowing what kind of failure rate is typical, nor what kind of failures. If I specified no tests at all, and they installed an IC backwards in all the boards, I could get a 100% failure rate. Would something like that be my responsibility, or theirs? If I didn’t provide any tests at all, they could theoretically send me anything and have still met their obligation.

Lastly, the cost of testing time is somewhat expensive relative to the cost of the hardware. For a run of 50 units, for each 1 minute per unit spent on testing, it’s the same cost as if they did no testing and 1 unit was defective and discarded. For example if they spent 5 minutes per unit on testing, I could afford to have 5 of the 50 units be defective and unusable – a 10% failure rate – for the same cost. Since 5 minutes of testing still wouldn’t guarantee a 0% failure rate anyway, the cost of testing begins to look questionable unless the typical failure rate is high.

Working out testing details with someone who’s on the other side of the planet and who’s not a native English speaker can be difficult. I tried to find an electronics assembler in the United States, but had terrible results. One place actually contacted me, after reading the blog, but they later said they couldn’t handle my order and referred me to a second US vendor. I contacted the second vendor, but they never responded. A third US vendor was referred to me by a friend of a friend. I sent them a detailed description of the project and some questions about their process, but heard nothing for more than a week. Finally they wrote back with a generic reply, without quoting any price or answering any of the questions I’d asked. A fourth US vendor was referred to me by another retro-computer enthusiast I know, but so far I’ve had no response from that vendor either. In contrast, the Chinese shop sent me a detailed quote within 24 hours of my first inquiry, and was happy to have my business.

In a perfect world I’d have a test that was easy to run, quick, required no extra equipment, and could catch near 100% of the possible problems. But I don’t have that, or even anything close. So I’m leaning towards no testing, but my nightmare scenario is to spend lots of money and receive 50 units that are all broken, due to some kind of systematic assembly problem.

Has anyone else been through this process before? What was your experience?

Read 8 comments and join the conversation 

8 Comments so far

  1. Ben Combee - March 7th, 2014 9:21 am

    I’d consider either building a special test mode into your firmware or having a different test firmware developed that could be flashed at the factory that would verify all the lines. You could modify your PC board to have test points that could be contacted by pogo-pins to verify the most important signals. Considering what can go wrong in manufacturing, you’re mainly concerned about the MCU being operational and there not being shorts.

    http://dangerousprototypes.com/2012/12/17/testing-the-new-icsp-connector/ has some nice bits on using pogo pins to make test harnesses.

  2. Steve Chamberlin - March 7th, 2014 11:39 am

    I’ll be testing the boards myself regardless, so having the vendor do testing isn’t going to save me any time, but it could lower the rate of defective boards I end up paying for. The $64,000 question is whether I can devise a test that’s effective at catching defects where the cost of running the test isn’t more than the cost of junking some defective boards.

    I need to get some better numbers, but based on rough guesstimates of what percentage of boards might have problems if I did no testing at the vendor, I think testing would have be under 3-4 minutes and be 100% effective at finding all problems, or be under 2 minutes and be 50% effective. Anything longer or less effective than that, and it would actually be cheaper to not have them do any testing, and just deal with any problems myself.

  3. torenc - March 7th, 2014 3:39 pm

    I’d recommend checking these series of posts by Bunnie (the Xbox-hack, Chumby, Novena guy) about dealing with manufacturers in China and how to design for manufacture: http://www.bunniestudios.com/blog/?cat=19

  4. Uniserver - March 8th, 2014 3:47 am

    i think you are being way to anal here…

    What is your current failure rate?
    I mean as long as you are past the prototype phase and you have all your parts figured out
    with out any hacks. Why should there be any issues?

    Really if you think of the multiple layers of qc, there is no real reason to have large failures…
    Parts them selves have been tested, PCB is tested, they will have all the machinery to
    proper place and solder parts…

    just have them do a 20 piece run … see how you like it…
    i highly doubt they are going to put IC’s on wrong.

    they want your business BAD.

    They will be doing what they do best…

  5. Uniserver - March 8th, 2014 4:03 am

    forget the testing all together. on their end. save $$

    if there is quality of work issues, that is one thing. but lets say you get one bad for whatever reasons.
    Half bum IC or something like that.

    one out of a 50 or 100 piece run, that aint bad. toss it into a box and move on.
    I mean hopefully your cost per unit is not dramatic enough that you shed a tear every time one is bad.
    And if it is.. then you might want to look at making it less expensive. or evaluate why its costing so much per.

    you should gather some stats on how many people you really think will want one of these…
    like how many people listene to RMC, How many hits do some threads on 68kmla get.
    google trends, how many people search for the word Vintage Mac.
    How many subscribers are on the vintage mac lists.

    all that aside i think you are realizing that pretty much anyone with a vintage mac collection is probably going to want one or more of these.
    might be a NITCH market… but if the whole NITCH wants one or more from you.. that is a serious crap load.

  6. makerimages - March 9th, 2014 7:33 am

    Idea: Perhaps , as mr Combee suggested. Build a test mode into your firmware,that would try and read a file on the sd. then ship a test memory card to the vendor. Have them put in the card and start the test mode and see if it can read.

  7. Marcin Domanski - March 10th, 2014 6:28 am
  8. Bob Cogegshall - March 20th, 2014 8:12 am

    I do low-volume SMT assembly. I can also refer you to qualified techs who could do the through-hole and the mfg test for you. I am in the USA. http://www.smallbatchassembly.com

Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.