Nice overview article. I have been doing PCB's for about 3 decades and here are just a couple of little tricks I have learned over the years, some are too long to go into here, but just a couple quickies maybe will help someone out:<p>1) Often the chip manufacture provides BSDL files which often times contain the foot print info and a lot of CAD tools have macros that will read them in and create your foot print for you.<p>2) There are often foot print libraries already out there you can download or are provided by the CAD software. But in either case, don't trust them, there are often errors, get your parts first, do the PCB layout, print it out on a good printer (usually the CAD SW will print it to scale and test fit everything.<p>3) There is a big difference between doing prototype boards and production boards. For prototype boards, make them big because you will have mistakes and will probably have to black wire (cut a trace and fix) it. I often use 2 layer or 4 layer for prototypes because it is easier to do fixes. If you CAD SW does auto layout then it is not that big of a deal as long as the board is large enough for it to route everything for you. For Production PCB's it is a different story and a lot more work to do right and I recommend farming it out if you can afford to.<p>4) I agree that part selection is critical but also, if you have simulation software either a separate program or in your CAD system, doing simulations can save you a lot of time. If you don't have simulation SW check into it, there are some decent free ones to learn on but to get serious you have to pay a lot.<p>5) For complex designs, I do separate prototype boards, one with the FPGA on it, another with the MCU and another one with the analog on it and so or, sort of a unit test approach (sort of like dev-ing SW) that way you can swap out sections that aren't working for you without throwing away a board full of parts, it is more effort but if you plan it out it can save you time and money.<p>6) I agree with the BGA comments, don't use those types of components unless you have a reflow oven and know how to use it, it is easier to debug QFN and QFP type packages since all the leads are exposed for inspection. You can often get parts in either package type and when you go to production you can always swap out to the smaller package later. If you have to use those for prototyping check if the manufacturer has a prototype board for it already it can be easier to just use an off the shelf one.<p>A lot of people say the first board is a throw away, but that can be expensive for a production one so I have learned these tricks for prototyping so when you get to production you can avoid that bad first board.