2
\$\begingroup\$

Lets say for example, if I were to produce 500 Arduino based circuit boards and were going to have them fabricated and assembled by a fab house, do they usually offer a service to bootload the boards or upload code to them before sending them to me?

If so, what is the process called?

\$\endgroup\$
7
  • 1
    \$\begingroup\$ This is easy to get done if you have the final firmware image before production starts. But realistically, plan for how you will re-do it if you discover only later that there is an issue which requires a change - connector, pads for pogo pins, bootloader talking via an existing interface, OTA update, etc. Until you product is mature, it's more likely than not that this will become necessary. \$\endgroup\$ Commented Oct 19, 2017 at 2:39
  • \$\begingroup\$ Since you are asking about this, I will point out that you cannot expect to build 500 boards and have them all work. So you should plan some kind of test for the boards. \$\endgroup\$
    – user57037
    Commented Oct 19, 2017 at 2:51
  • \$\begingroup\$ If I were to produce 500 boards, what is a realistic expectation for the number of them that should work? I was under the assumption that the assembly machines have multiple cameras on them to check solder joints and other issues to make sure that defects do not happen. \$\endgroup\$ Commented Oct 19, 2017 at 2:56
  • 1
    \$\begingroup\$ All that checking requires a lot of engineering to set up. You'd do it if you're building 5000 boards a week. Not if you're doing 500 pieces one-off (at least not if the 500 pieces are worth less than $100 each). \$\endgroup\$
    – The Photon
    Commented Oct 19, 2017 at 3:01
  • \$\begingroup\$ Failure rate depends heavily on the quality of the board design and the suitability of the process - things like poorly distributed thermal mass can make it very hard to dial in a reliable process. \$\endgroup\$ Commented Oct 19, 2017 at 5:42

2 Answers 2

3
\$\begingroup\$

Yes, this service is available.

It wouldn't be done by the PCB fabricator. They just etch pretty patterns in the copper and laminate up the fiberglass sheets (and drill holes, coat with solder mask, and apply surface finish).

Your assembly shop might have the ability to do it.

If not, there are other companies who specialize in this work. Normally they'll program the chips (EEPROMS or microcontrollers or CPLDs or whatever) before they're assembled onto the boards.

Depending on the part being programmed, and the volume required, the chip vendor (or a distributor) might also be able to provide the chips pre-programmed.

If your assembly shop doesn't do the process in-house they may be able to sub-contract it to a specialist shop.

In my experience, the process is called "firmware loading" or "EEPROM programming".

\$\endgroup\$
4
  • \$\begingroup\$ Often if you or your assembly house buys parts from a distributor they will offer this as a service as well, so the parts are programmed by the time the manufacturer gets them. There may be minimum order quantities involved, but it is an available service. \$\endgroup\$
    – John D
    Commented Oct 19, 2017 at 2:40
  • \$\begingroup\$ @JohnD, good point. Edited. \$\endgroup\$
    – The Photon
    Commented Oct 19, 2017 at 2:41
  • \$\begingroup\$ I wonder how reliable is soldering a programmed part. High temperature is well known to cause accelerated charge loss. I know that soldering/reworking of programmed parts is quite common (I have done it myself, and the programmed IC - it had flash - was still working), but I guess it's more reliable programming the ICs AFTER the boards have been soldered, isn't it? \$\endgroup\$
    – next-hack
    Commented Oct 19, 2017 at 6:32
  • \$\begingroup\$ @next-hack, the manufacturer of the part should be able to provide this information. I have seen it done both ways, but most of the products I have been involved with were programmed after SMT. \$\endgroup\$
    – user57037
    Commented Oct 20, 2017 at 4:07
0
\$\begingroup\$

We call these pre-programmed parts at work. They are programmed before assembly by the distributor.

Uploading code via a bootloader or programming pod is much more labor intensive. 500 isn't a lot of units. You're probably better off doing it yourself or hiring an eager young person at those quantities.

Yield will depend on the assembly house. Its reasonable to expect at least 95% (perhaps much higher) as long as the design isn't more demanding than your vendor can handle.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.