# How to go from newbie to manufactured?

I'm a software guy who wants to get into the hardware side of things so I can enjoy the same creativity from software design in the physical world.

I've found plenty of posts here regarding how to get "up and running" in the electronics world, but I would like to know if there are any gotchas when embarking on this journey if your goal is to potentially have a device manufactured in the future. (probably robotics-centric solutions, boards that would control servos, sensors, etc).

I would like to make sure that wherever I aim my focus, I won't be "learning myself into a corner", so to speak.

I have read good things about the flexibility and easy to learn nature of Arduino devices, but have trouble finding anything about getting them manufactured. Are there manufacturers that can produce an arduino-based solution? What kind of production volume is available for something using Arduino?

What realms/devices of programmable electronics are best for having manufactured?

Any tips or info regarding learning and designing with manufacturing in mind? Any general tips for a newbie?

• I would be very interested in this, I am planning to do much the same thing. – Thomas O Nov 8 '10 at 19:11
• Now you have to acutally know something or find someone that does. – Olin Lathrop Dec 22 '11 at 14:05

Just to let you know what lies ahead....

If you want to go from making a hand-built breadboard or prototype to actual PCB's, you have a lot of hours and anywhere from several hundred to a few thousand dollars cost in front of you, depending on how much you are willing to do yourself.

Schematic capture and PCB layout

First of all you need to capture your design using some sort of schematic capture program, and then design a PCB. One of the more popular programs is EAGLE, which I use. They have a EAGLE Light version ($49), but it can only be used for schematics with one sheet (any size), two signal layers, and 100x80mm (approx 4"x3") routing area. For any serious work, you need at least the EAGLE Standard version, which costs$747. There are probably other less costly (even free) alternatives. There are lots of others that cost thousands or tens of thousands of dollars. In any case you will have to spend considerable time learning how to use the program.

Or you can pay someone like me to do it for you (/hour).

PCB Fabrication

Getting boards made is the next step by a PCB fabricator. The problem here is the NRE (non-recurring engineering) costs. Some board houses treat this as a separate figure, and others built it into their per-board quote. In any case, it is almost never economical to have just a few boards made. You might spend $100 for two boards, and$500 for 25. You need to have really large quantities to get down to just a few dollars per board.

The gotcha is, if you make 25 boards, populate just a couple of them for testing and find they don't work (and there is not an easy fix -- e.g. because you laid out a connector backwards), you might end up throwing away the other 23 blank boards away and you would have been better off just getting two. I have stacks of blank PCB's as evidence of this phenomena.

PCB Assembly

Unless you are willing to build the boards by hand, you will need to have them assembled. Surface mount packages are difficult to deal with. If the board has BGA or QFN packages, you probably won't be able to build them yourself unless you have your own reflow oven.

Getting your first two boards built by an assembly house might cost $500. Whereas getting 25 built might cost$1200. (Once again, the problem here is the NRE costs.) Getting down to just a few dollars per board requires (again) large quantities.

And someone else has already discussed the problem of getting parts.

Make sure you use parts that are readily available -- if both DigiKey and Mouser have hundreds of the part available you should be okay. If instead, they have it in their catalog, but it is currently out-of-stock, try to find something else. If you need some special parts that aren't carried by DigiKey or Mouser, make sure you have a reliable source before incorporating it in your product. (Note: the more unusual parts you use, the more likely you will have to add the part manually to your PCB parts library.)

Custom Cases

Do you want to put your board into a case? If you need to have a custom case designed, that will be a couple thou for the designer using a program like SolidWorks (I don't do that, but can recommend someone who can). If you are going to make just a few cases to begin with, you will probably need to go with rapid prototyping, such as Selective Laser Sintering (SLS). Figure at least $100 per case in small quantities. To get down to a few dollars per case cost, you need to have a custom mold made. NRE time again! Plan on spending$10,000 or more for the mold.

And I won't even start on EMC or EMI testing, since I don't know if it applies to your product.

As you can see from all of this, until you get into production, the cost of the electronic parts is usually not the biggest item on a per board basis. Doing your own assembly for small volumes will save you a lot of money. So it is important to design with that in mind -- no impossible to solder-by-hand parts.

To get really low prices for high-volume, generally you need to go offshore -- China etc. But I would avoid doing so in the beginning.

• Very thorough answer, thanks!... a couple quick questions though: As far as programmable controllers (Arduino, or some other PIC). Which models are "most supported" by manufacturers? How does the programmed logic work into the equation? (i.e.: fab houses make the board while assemblers put together the components, but who would make the programmed circuits at manufacture scale to provide to the assemblers?) – DJ_R Nov 9 '10 at 7:01
• @DJ_R, if you are building your own board with a microcontroller on it in large quantities, then you can either have the micro programmed by the chip manufacturer (for a fee) before assembly, or have it programmed by your contract manufacturer (assembly house), or program it yourself after receiving it back from the assembly house. In the latter two cases, you would have some sort of small header (typically four pins) to connect a programming pod connected to a PC. Contract manufacturers are like assembly houses, except they can also provide services such as testing and packaging. – tcrosley Nov 9 '10 at 11:50
• @DJ_R: Atmel AVR, Microchip PIC, Freescale HCS08/11 are all very well supported by their respective companies in my experience. The chip you pick is usually based on its peripherals and the price you can get for it. – Nick T Nov 9 '10 at 15:01
• @DJ_R, When you do very large quantities they can fab your chips with the program already loaded. This is done by masking what goes into the ROM. It is a requirement for super-cheap on any major product. You should just leave a programing header though so that when you make it the geeks on E&R can hook up and change the code in your device <3 – Kortuk Nov 10 '10 at 15:07
• You don't necessarily have to do hand soldering. Reflow, using a toaster oven or skillet, is very popular. – Thomas O Nov 15 '10 at 11:08

I've gone down this route over the past few years and am now selling small quantities of my designs. I chose Microchip microcontrollers early on and have stuck with them, but Arduinos and the AVR microcontrollers seem an equally good solution.

### PCB Design

For PCB design I can recommend Eagle - I've never gone past the Light version since I'm only building quite small boards. It allows you to add your own parts, which you are going to need at some stage. It does auto-routing of PCB tracks, although I find I'm using this less as time goes by - partly because I'm making boards with very tight space constraints and am constantly fiddling with both part placement and routing to get everything packed in. It provides checking against design rules, which helps to catch blunders in your layout. There is a lot to learn but you will get proficient with it over time and boards can be manufactured from your digital files.

### PCB Fabrication

I build my own prototype boards then get them made professionally once I've got past the initial prototyping. I prototype double-sided boards using the Press-n-Peel transfer film and a laser printer. I routinely make boards with the little QFN surface mount packages with 0.5 mm pad spacing - it is fiddly but can be done with care. The costs for professionally made boards has been between $3 and$10 for quantities around 100.

### PCB assembly

I quite successfully do reflow soldering using an electric frypan. Takes a little bit of care but is reasonably reliable and quite quick. The slowest part is getting the solder paste onto the board, although if you go to the bother of making a solder mask that can be made easier too. I frequently use leadless packages like QFN because they are small and don't have too much trouble with them. Packages with leads can be hand-soldered if you want, but I think it is quicker to use solder paste and reflow in the pan.

Once you get into significant volume you will want to move to paying someone else to do the assembly for you. I've not done this yet, but have been quoted on the order of $6500 for 30 boards, for which the parts cost around$80. So the added cost is not insignificant but it depends on how you cost your time to do the assembly yourself :)

Apart from the (large) time investment, my biggest single investment has probably been a USB digital oscilloscope and logic analyser from Bitscope - invaluable for working out what is actually going on, as opposed to what you think should happen!

Premature optimization is the root of all evil.

The Arduino is a fine place to start. Don't worry about mass production yet. Once you have a couple designs under your belt you'll have a much better idea of what you need to do.

Learning new hardware is part of the game here. Don't try to avoid it. The more you are familiar with, the better an engineer you'll be.

Watch this video which highlights the differences between software and hardware :

Hardware will cut you (contans NSFW language)

Mitch Altman, designer of the TV-B-Gone gave a talk at The Next Hope on taking your project from idea to reality.

Mitch has brought his personal pet projects (including TV-B-Gone universal remote controls) from idea to reality, and is fortunate to make a living doing what he loves. Mitch will outline the practical steps he took to bring his projects from a mere idea, through the steps of research, development, manufacture, sales and distribution, leading, finally, to collecting checks while in the comfort of his home (and while traveling the world). This talk will also show some of the pitfalls of running one’s own business.

• thanks for the link! I will definitely check this one out, looks like it should have some valuable insight. – DJ_R Nov 10 '10 at 11:45
• Link is down... – arao6 Jan 10 '17 at 20:55
• I managed to find a mirror here: wipkip.nikhef.nl/events/HOPE/The_Next_Hope_Audio/tnha16.mp3 – DJ_R Dec 10 '20 at 14:45

Dave Jones has posted a tutorial on high volume PCB design:

http://www.eevblog.com/2010/11/15/eevblog-127-pcb-design-for-manufacture-tutorial

• I love eevblog-- it's really informative for the beginner – Matt Williamson Jan 28 '11 at 19:59

I am a newbie myself, so take this with grains of salt, but I have researched this a lot over the last month, and so I hope to bring a good newbie-needs perspective to it. Here's what I've found out:

NOTE: I am using a couple of acronyms (PCB, SMD, etc.). I have not written what these mean on purpose, since you will definitely also need to know these concepts intimately.

1. You need to go from prototype (Arduino?) to PCB version. First of all, see these two videos by EEVBlog: Video 1, Video 2
2. Going from prototype to PCB version means switching from through-hole components to SMT components, and from a full-fledged Arduino to a barebones chip solution. The good news is that you can still program it like an Arduino. See this blog post for how to do so. If your project is simple enough, use an ATTINY (45 or 85) instead of the ATMEGA328p. See this post from MIT Lab for how.
3. Build your no-arduino prototype using a breadboard or other prototyping tool as normally. You can find the parts you need using Octopart. A very good thing to use is their BOM feature.
4. Now find out how much your components will cost by making a BOM (Bill Of Materials). Use Octopart to find the price and best place to buy your parts.
5. Once your prototype is done in this way, it is time to convert it to a PCB version. You can use Fritzing for the PCB schematics and Gerber files for PCB manufacture if your board is simple enough. Otherwise, use a program like EAGLE or kiCAD.
6. Get your PCB made and solder on the components by hand. Here is a video with a good technique for SMD parts. For even more info (I needed all of it) here you go.
7. After soldering, TEST IT OBSESSIVELY. You do not want to buy 500 manufactured only to find out you have made a mistake and none of them work. Fritzing will produce one-off boards made with their program. They will cost about 40-50$. Not cheap, but this is a prototype, after all. You can also make the PCB yourself using the press-n-peel process. There is a good video on it here. 8. HUGE gotcha! You may need to get your board CERTIFIED. This is a lengthy and expensive process. 9. Once you are confident in your PCB, Seeed studio will manufacture (not just PCB, the whole board) for small quantities (100-1000) at reasonable prices, through their Propagate program. For PCB manufacturing you can do a lot of prototyping on strip-board and bread-board and jump directly to professional PCBs for the "production" units, I use these guys and I've been very happy: http://iteadstudio.com/store/index.php?main_page=product_info&cPath=19_20&products_id=175 Seeed uses the same factory as itead at about the same price. For PCB layout do not invest too much time in EAGLE as it has several limitations in the free version and it's rather clunky and hard to use, in stead take a good look at kicad and geda, both are free software and more capable than EAGLE. Have a look at SeeedStudio, they seem to provide many tools for aiding somebody to launch a HW project. I'm not clear if it's technical corners you're worried about or business corners? I may be a bit jaundiced about 'hobbyists', but I seriously doubt the world needs more not-really-industrial-quality robotic subsystems. Sub-contract production facilities exist for every volume from 1-off to millions-off, and things like PCBs can be made at every timescale from next-day to weeks. My experience of electronic production is that component supply is one of the biggest problem unless you're at sufficient volumes to have component manufacturers run around for you. Nowadays for low-ish value parts, that will be seriously, seriously high volumes. Perhaps you should clarify your question slightly - are you planning to speculatively design devices and have them manufactured, then place them on the open market? • I basically just want to make sure that I won't "outgrow" whatever specific areas of the electronics discipline I put the effort into learning. Basically, if I decide to learn X, Y, or Z hardware programming, I want to make sure that if one of my ideas is good enough, it can easily translate into something to be manufactured without me having to learn an entirely new set of hardware in order to make that transition. Does that clarify? – DJ_R Nov 8 '10 at 23:42 • As someone who has worked with "Industrial robotic subsystems", I can assure you that most of what's on the market is already not really industrial quality. – Connor Wolf Nov 9 '10 at 7:32 If you are looking for a easy and cheap start for microcontroller programming, one good place to start would be using the TI's new Launchpad development toolkit. Launchpad This thing costs only$5 and is quite easy to learn in my opinion.

• I'm a software engineer with lots of programming experience and I started hardware on the arduino. The msp430 is wayyy harder to work with, but definitely closer to what most hardware engineers would be using for scale projects. – Matt Williamson Jan 28 '11 at 20:01
• MSP430 with Grace for configuration is way easier than most C-based micro environments. While harder than Arduino, it's a great next step. – darron Sep 14 '14 at 14:23

There is already a lot of great information here about PCB fab and assembly. I'll pass on a few of my own opinions. You can go to an assembly house, but it will cost you, particularly the upfront cost for the stencil. If you decide to assemble at home, you'll find it's surprisingly easy to solder large ICs (FPGAs, microcontrollers, RAMs, etc) but surface-mount parts with only 2 or 3 connections are a pain to deal with. Thing about using thru-hole components for those little things. I personally have shied away from trying to solder any kind of ball grid array. Maybe I should try to cure myself of that, but it's not a pressing issue for me.

If you were going to do large volume (think millions) you would do "design for manufacturing" to optimize your design to be easy and cheap to build and test. Think about it, if a manufacturing engineer could cut 2 cents off the manufacturing cost for 1,000,000 units then you have a big savings.

For 500 units, you are relative low volume. Here is a nice presentation, Get your stuff made – Tokyo open hardware presentation, by Dangerous Prototypes. Basically they state that at the level you are talking about you are too small to build the boards yourself and should use a fulfillment house like they do (Seeed Studios). They go through the steps involved and what you need. The slide deck is also available for download.

• Seeed also has a very nice solution for low (100-1000) volume manufacture now, Seeed propagate: seeedstudio.com/propagate – Houen Sep 14 '14 at 8:27