After reading Max's recent blog What Do You Know About PCBs?, I felt strangely compelled to email him and offer my experience for All Programmable Planet (APP). I am 30 years old and live in Parksville, British Columbia with my partner Marieke and our two dogs.
Editor's Note:One thing I love about the folks here at All Programmable Planet is that we are multidimensional. By this, I don't mean we physically occupy three dimensions in space and one in time (although I think it's safe to assume that this is the case for the majority of us), but that we have interests outside of electronics and technology. When he is not slaving away at his workstation, for example, Adam enjoys helping his partner Marieke design and decorate bespoke cakes for their small business, Coastal Cake Company, in Parksville, British Columbia, Canada.
Since 2007, I have been designing PCBs with Altium Designer. When I first started, the company I work with was using a PCB design from the early 90s with all through-hole components. A lot has changed since then, and we are now starting to replace my original board designs with FPGAs, which is what lead me to All Programmable Planet in the first place. Through this blog, I would like to offer my experience with PCB design and manufacturing and supply chain management in general, and with Altium Designer in particular.
I thought the best way for readers to get to know me (and hopefully gain some PCB design insight) is with a tour of the tools that I use every day. I am 6'5" tall, which makes adjustable desks essential. The last desk I used was a hand-me-down from IKEA. It was not large enough to hold the four screens for my workstation, so I threw away everything but the legs and built a custom ¾" plywood desktop sitting on a 3" laminated beam. It also has an 8" cable management tray to keep things neat and tidy, as seen below:
My workstation features an Intel Core i5 CPU with 8GB of RAM and two Radeon HD 6870s. Although I do a little gaming, my graphic card overload is due to an early 2012 fascination with Bitcoin mining; the cards have since paid for themselves. Bitcoin mining is a great example of using embedded technologies to perform complex cryptographic functions that would overwhelm central processors.
I use a wide range of software. For me the most important tool for electronics design is Altium Designer 13. Freeware tools are available that can reach the same tolerance levels for layout; however, Altium's strength is in the ability to handle complex workflows. Being able to work on schematic capture, firmware, and PCB design from one tool simplifies data management and speeds up the design process.
Adobe Creative Cloud is one of my core resources. Although I primarily use the Adobe Creative Suite 6 tools for web development tasks, I find Acrobat X Pro to be essential in preparing design documents for release. When a PCB design has many layers spread across multiple sheets, the resulting PDF can be a very large file. Acrobat X Pro is able to compress the PDF with no loss of fidelity, reducing file sizes from 10MB to 2MB. Importing company logos and graphics into PCB designs can also be difficult and is simplified using Photoshop. PCB Logo creation is something I would like to cover in a future post.
I think it would be great to start building an All Programmable Planet resource of online tools, calculators, and references for PCB design. There are many PCB design principles that I would like to cover; hopefully, we can connect and begin with issues designers are facing right now. Consider Max's recent column on Differential Signalling, for example; differential trace routing is challenging and is a topic that I plan to explore in depth because it is critical to embedded design.
Please feel free to comment with any ideas and questions. Thank you so much for reading and I hope we will connect soon.
Max Maxfield 3/7/2013 4:41:32 PM User Rank Blogger
Re: Welcome
@Juan: Hi there -- welcome to the party -- it's great to see you here. With regards to Adam's PC, I really have to get some pictures taken of the setup in my office (prepare to drool with desire :-)
I'll try to post a blog with some pictures in the very near furure.
I'm about to send my first every PCB design off to Seeed's Fusion service to get made. It is just a PMOD/Camera interface board for the Zedboard, and also my first ever attempt at using Eagle. Just two 2x6 pin headers and one 2x9 header, nothing fancy.
Being new to all this I would be really, really happy if somebody in the know could glance over the Gerbers in the zip at http://hamsterworks.co.nz/mediawiki/index.php/Zedboard_OV7670#A_design_for_a_PCB and let me know if they look OK?
I've attemped to add ground plains to and bottom. It looks OK in Eagle, but the clearences look off in the Gerbers...
Adam, first of all welcome to our own/your own community. My experience with PCB design is during my college days, I had design a PCB with OrChad software. There after I had used only purchased general purpose boards from third party vendors.
Adam Skriver 3/5/2013 4:00:53 PM User Rank Blogger
Re: Welcome
Some people advocate just putting a generic symbol, such as NPN transistor, onto a schematic and then later going in and adding specific footprint information. Frankly, those people are idiots and like to make more work for themselves, and they also like to screw up board layouts for no reason.
D2Pak Diodes and Capacitors need to be unique in my mind. Sometimes it can be helpful to group large ICs into manufactures flavors of certain 'standard' land patterns; every device land should be reviewed in this class. 0403, 0603, 0805 are the only lands I use universally because I limit resistors to a couple series/manuf.
Hah! Yeah, I didn't get it for the longest time, and then I bought that game, and it all became clear to me. I read a bit about the guy from Valve that created that bit, and he absolutely hates the phrase. Funny stuff.
For a while, it became a meme to ask people to choose between cake and pie...
Adam: I am curious to know how your master part databases are organized? I got to the point of creating the vault structure and had to put it down to finish another project; my master lib is broken into many schematic symbol files and one through hole and one smt footprint.
Our full-time layout guy is also the librarian. He maintains the schematic and footprint "source libraries" which he's got organized in a broad way. For symbols, he has an analog library, an FPGA library, a passives library, etc. Footprints, I think, are broadly arranged as passives, ICs, something like that. They're all compiled into one integrated library, which is put up on the network in a known location. Everyone uses that one integrated library and nothing else.
The parts are basically in just a big list; there's no "passives" library or "IC" library. Again, what's in the library are only the vetted parts we actually use so it's not super huge. Everything is in the library with a reasonable name, and if there's any concern, we have a lookup tool that matches the company part number with the Altium library symbol name.
Oh, yeah: absolutely every symbol in the library has an associated footprint. Some people advocate just putting a generic symbol, such as NPN transistor, onto a schematic and then later going in and adding specific footprint information. Frankly, those people are idiots and like to make more work for themselves, and they also like to screw up board layouts for no reason.
One of the things I've been wondering is whether or not the "okWireOR" module is really just a giant OR, or if the order in which things are attached matters.
Duane has decided that the time is ripe to get his ZedBoard bolted onto his robot with a Linux distribution up and running. That was the ultimate plan anyway, so why wait?
To save this item to your list of favorite All Programmable Planet content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.