Some advice on taking a PCB design through Prototyping to Production

Hello all,
I've been wandering around this forum for a week or so now, and not really found an answer, but judging by the level of expertise that appears to be shown here, I'm sure one (or several!) of you, may be kind enough to point me in the right direction.

I'm new to electronics, but not to programming. Myself and a colleague have an idea that initially we want to see if we can make work, through a bespoke PCB. Now obviously we need to create a prototype board (which would connect to LEDs, small electric motors and an InfraRed receiver/transmitter) to check all works, and also that my PIC/ARM programming is correct. If our thoughts are proven out, and all works as we think, then we strongly believe that within our specific industry there is a potential business opportunity.

My query is: how is the best way to create a prototype board where the design can be taken forward to the production stage? Now, I'll hold my hands up and say, I may easily be missing something, but if its created with a PIC or ARM microprocessor and we use a development board (or one of the Arduino boards with an ATmega microprocessor) then to me there are electronics on there that wouldn't be on the production version - so how do the two correlate? Does that not confuse the PCB design?

At the moment, this is purely a home hobby project which may (or may not!) work, but as it has a chance of being something more, I want to make sure we get the foundation right to start with. Can anyone point me in the right direction, or layout the steps that would be taken? Im really just looking for advice and guidance, all of which is gratefully accepted!

They make prototype PCB's all the time at my work and I get to watch. I've made plenty of soldered up one-off boards on those blank PCB's that are already full of holes and pads, but I've only made one commercially produced PCB, so consider this as you read my answer.

Personally, for round 1 I would breadboard it, then unless it's really complex solder on to one of those blank PCB's that's already full of holes and pads. Once you have the kinks worked out, then go for a real PCB.

First layout your board in software, then export the board to files that can be used to make the PCBs. I believe gerber files are fairly universal, someone correct me if I'm wrong. In my case, I sent my files to Silver Circuits (plenty of other companies to choose from) along with $100 and I got back a stack of blank PCB's ready to be populated. The down side is if you make a mistake, it will cost you another $100 and another week or two wait.

My coworker who makes a lot of proto PCBs has been using the othermill to mill proto PCBs on the spot. It's really awesome, google "othermill PCB". Those go right in the pick and place, then into the reflow oven and presto nearly instant proto PCB, relatively speaking (same day turn around).

Some guys etch their own boards, I've never done this or seen it done.

Someone with more hardware experience will surely reply and correct my mistakes if I made any. There are several choices, good luck!

I'd use a solderless breadboard for prototyping if your design can tolerate the added capacitance. Once you have it working, commit it to a board using something like Eagle (only free for non-commercial use). Then send your layout to a PCB house like oshpark.com, etc.

If you are confident enough you can go right from dev boards/breadboarding right to the production board run..
If not then you might want to get a small batch of PCBs made first.
I've been using itead exclusively for prototype PCB quantities as their pricing is nearly impossible to beat and the quality is excellent. http://www.itead.cc/open-pcb/pcb-prototyping.html

But yes you will need to generate gerber files using a PCB layout program (Diptrace is the one I recommend)

Then of course you will need to get all the components soldered on the board which could require a soldering iron/hot air gun for smt parts or even whipping up your own reflow oven.

Gents,
Many thanks for your replies, thats all useful. I was thinking that the development boards that are produced, were what were used to create a prototype and test software, which was then moved to production - although i now see thats not the case, and the development boards are purely to allow people to experiment with chips and electronics.

So in essence, does everyone agree, that the best way forward would be to design the PCB in software, then create a prototype on a breadboard, prove the design and the software works, then send the Gerber files from the design software to have a the PCBs made? Am I correct in that way of thinking?

We're looking at use either a PIC 32-bit processor or ARM Cortex-M3, are there any preferred IDE programming software? I've dabbled in C previously, but note that MikroElectronics do a MikroBasic Pro for ARM that I thought may be an easier start. Im not sure how we get the code from the computer onto the chip however. Has anyone used the Mikro software before? Any thoughts/comments? Any preferred/suggested alternatives?

Check out the price of compilers and programmers and possibly development boards before you commit to a chip platform. In the case of Arduino, the basic compiler is free and no special programmer is required. It's also very beginner friendly. I started on a prototype project where we intended to use some chips by Maxim Integrated. The chip cost was reasonable, but the compiler was several thousand dollars. I'm not that familiar with PIC or ARM so I don't know what your options are there.

A lot depends on what your skill set is, and it sounds like yours is not hardware-heavy. I completely understand starting with a kit or development board so that the only variables are in software early on, and then trimming the dev board design down to eliminate the parts you are not using. This puts off a significant hardware learning curve until you're sure it is necessary.

Once your prototype is working and you've run a business case and decided to go forward, a possible intermediate step would be to create a hardware prototype of exactly what you want to commit to pcb using a proto-board (assuming all of your parts are available in thru-hole packages). This confirms that when you trimmed the dev board hardware design down to only the parts needed for your product, you didn't trim out something important unintentionally, all without committing the time and money to a pc board layout yet.

Once you're ready to go to a pc board design, a big decision is thru-hole (PTH) vs. surface mount (SMT) components. Hand-soldering SMT parts certainly is possible, but it is a time-consuming pain for more than a few boards. PTH parts are easier to handle, install, debug, repair, etc., but they are larger and some are getting hard to find. Many quick-turn board houses offer free design software, but some of them do not produce industry-standard Gerber files. I strongly recommend against non-Gerber outputs, even if it increases development costs by forcing the use of a more expensive board house.

@AnalogKid - You've summed things up perfectly! Yes, I'm very new to the hardware side, although I have played with electronics, it was more relays, diodes and LEDs, in the days before logic gates and the like were around! So that will be a learning curve, but my knowledge is on the programming side. Given that we are looking at an ARM chip, is there any development board that you feel would be best suited?

You need to carry out a sequence of operations using CAD packages. And when I say you need to do these things I mean you may do them yourself if you have the CAD package and the skill or else sub-contract them
1) Draw the circuit schematic showing all the connections that are made and the component pins that are not connected.
2) Allocate a component type and PCB footprint to all the components in the schematic, this is usually a database function in the CAD package.
3) Convert the schematic to a netlist for the PCB layout package you intend to use. Netlist contains information about all the components, the pin to pin connections, and the PCB footprint reference.
4) Load the netlist into the PCB layout package. Draw up the mechanical details of the component footprints; if they are standard they will come out of a library; if they are non-standard you will have to draw them. Note that footprint references in your schematic database must be the same names as the PCB layout library.
5) Place the footprints onto the PCB taking into account the flow of signals, the size of the PCB and the location of any mating parts like connectors.
6) Use the PCB layout CAD to draw the tracks from component pin to pin.
7) Power supply tracks should be planes or grids.
8) Convert the finished layout to Gerber files. These define the track, PCB holes and mechanical details for the PCB manufacturer.
9) Send the Gerber files to your chosen PCB manufacture...receive the bare PCBs.
10) Gerber files will contain manufacturing files such as component placement and solder flux masks for SMT parts. If you are getting a PCB assembled by a sub-contractor, they will need the PCB, the manufacturing files and a kit of parts made up from the BOM generated by the schematic circuit CAD.
Good luck, Peter.

Gents,
I was thinking that the development boards that are produced, were what were used to create a prototype and test software, which was then moved to production - although i now see thats not the case, and the development boards are purely to allow people to experiment with chips and electronics.

I wasn't stating that at all..
Many times the dev boards are 90+% of whats going on the final board or those dev boards contain 100x more than what you need.. Just depends on the project.
Now of course for "professional" development when things like ESD/EMI/EMC/Lighting,etc... come into play then board layout,etc.. can be a huge factor.. But development boards are called that for a reason and can absolutely be used to prove out a concept (test software,etc...)
There are even quite a few products out there that are nothing more than a collection of dev boards/modules wrapped up in a nice package..

What works for me is the Teensy USB microcontroller from PJRC and circuit boards from Express PCB. The Teensy uses Arduino C code and is programmed through the USB port, Express PC delivers three 2.5 X 4 two sided prototype boards in 3 days, they also provide free board layout and schematic drawing programs. Works for me as I'm pretty good with the C language and I seldom need a circuit board larger than 2.5 X 4.

I created a component layout for the Teensy 2.0 in Express PCB, I just drop it on the circuit layout and go from there with whatever support/external components need to be added.

@PeterCoxSmith - Thanks Peter, that interesting to read, its given me some pointers on the various stages required once the design is sorted.

@mcgyvr - Ah I see what your getting at now. Apologies - I did say I was probably missing something - and I was!

@BReeves - Thanks i'll take a look at that, but I'm of the opinion that to make life a bit easier, if theres a reasonable chance of this making it into production, I need design software that will export Gerber files.