CircuitPeople

Call it News or Call it a Blog, This is What's Happening at CircuitPeople.

Twitter Updates

Follow me on Twitter

Fun with Words

This is a word cloud (Wordle, more specifically) created from the text of this blog. It's a fun bit of visualization, and confirmation that I'm staying true to the topic:

Wordle: CircuitPeople.com Blog

Now can feel better about diverging?

The Joy of Aperture Files (or, why RS-274D should die)

Gerber files provide endless "fun" for PCB fabricators, assemblers and the like. Saavy CircuitPeople.com users may have found some of your Gerber RS-274D files failed to display on our site. Not many people use the older "D" files (less than 10% of the uploads here, overall) but I still feel it is important to fix problems when I find them. Here is an example of one recent oddity in an aperture file:
Photo-Plotter Apertures Report
==============================
Position  Width  Hgt/ID  Shape    Qty
========  =====  ======  =====    ===
   11       10       0    LINE
   12       12       0    LINE
   
   ...
   
   81       45       0    RND      40
   98      130      30    ANNL      4
   107      210       0    RND      32

See the problem? Aperture 98 caused the aperture file parser to crash. A basic assumption I made with these old ".rep" files is that they only define apertures from the "CROP" set (Circle, Rectangle, Obround and Polygon). I was wrong.

I can't be sure what the ANNL line stands for, though it's probably an "annular ring" shape with outer size 130 mils and inner hole size 30 mils. The circle shape in the Gerber format is perfectly capable of handling that, so I implemented the fix for this easily and have it up on the site already.

Normally I wouldn't bother writing about this kind of little bug but this one just perfectly illustrates the problem with "Gerber" (I use quotes around the term because these aperture files really have nothing to do with the Gerber format proper). Aperture files were invented to compensate for the lack of such information in RS-274D. Many, many little variations exist from different CAD systems on the content of these files depending on which CAD or CAM system created them. Supporting Gerber RS-274D is something we're pretty proud of because of problems like this, and we're glad to do it. But it sure would be nice if we could all just move on over to Gerber RS-274X with it's superior (though still flawed) information content.

And in that spirit we've introduced another new capability to the email auto-responder: conversion of Gerber RS-274D and aperture files to standalone Gerber RS-274X files. This service is free and no-strings-attached, so give it a try by sending the old files to gerber.images@circuitpeople.com.  Our robot will convert the "D" files to "X" and respond with an attached Zip file containing the new files, the old files and images of each layer.

Finally, we appreciate all the goodwill and positive feedback (as well as the constructive criticism) we get from our users.  Thank you!

Bad News and Good News

This weekend CircuitPeople.com was moved from one hosting provider to another. The site was relocated from a dedicated peice of "iron" in a rack in a datacenter to a virtual server hosted in Amazon's Elastic Computing Cloud. Unfortunately the move didn't go without a hitch, and for a short while (a week or so) some things may not be quite "right" -- just let us know if you see something odd.

The good news about moving to EC2 that we will be able to dramatically improve performance.  Over the past two years, the number of gerber files rendered by the site has grown dramatically. Our original design was simple, and served very well.  However, we can see a time in the near future when things will start to break and are working to rebuild the "inner" workings to allow for continued growth.  Along the way we're planning on adding some useful new capabilities that will make the site even more valuable to PCB engineers and designers. We've added a twitter feed to the top of this page to make following our progress easier (if you're into that).

Gerber.Images@CircuitPeople.com Email Responder

Posted 8/15/2009 by CircuitPeople

Some folks see this site and comment "wow, that seems like a lot of trouble to go through to get images". We think that CircuitPeople.com is easier than the alternatives, and that our images are of much better quality. Using CP generated PNGs, for example, it's very easy to document each layer of your PCB layout as well as make "color blended" images importing our high-quality PNGs with transparency into your image editor of choice. But these nay-sayers may have a point: Maybe opening a browser takes too long (especially if you're using Firefox instead of Chrome). Wouldn't it be nice to just be able to email your Gerber files to us, and save that step? Well, now you can.

Sending an email with an attached Zip of gerber files to gerber.images@circuitpeople.com will generate an automatic response with a Zip of PNG images. But wait! There's more! We'll also include free conversion of any Gerber RS-274D files to Gerber RS-274X (mainly because we despise "D" gerbers, but also becuse some PCB fabrication services like Sunstone Circuit's ValueProto will only accept "X" files). Conversion of D to X Gerbers requires that you include your aperture file in the zip along with the Gerbers. We support a wide range of aperture file types, but some esoteric ones will result in your gerbers being rendered with "default" 0.006" round apertures. You'll be able to identify the missing apertures easily since they are defined as named aperture macros following the form "MISSING_APERTURE_". But, in general, just be sure to include the aperture report with the Gerbers and we'll handle the conversion correctly.

This is a brand new service, and may be offline from time to time as we continue to upgrade it. Some caveats to be aware of with the email responder:

  1. You must send ZIP file(s) as an attachments. We're planning to allow sending multiple Gerber files directly to save a step, but it's not there yet.
  2. There is very little in the way of helpful error messages. If you're Gerbers fail to parse for some reason, you'll probably get an empty response (or perhaps even no response). If that's the case, forward the files to support@circuitpeople.com and we'll determine the cause and get back to you (and hopefully fix it).
  3. There is no integration with your circuitpeople.com account (if you have one). We plan on getting to that bit very soon.
  4. The DPI is fixed at 100 for now. We'll make that configurable, and probably default to a finer DPI once we're through this "Beta", but for now 100 dots per inch is it.

So, that's about it. If you like the idea of an email interface, give it a try. Spread the word. BTW, we'll also be documenting the GerberXML format soon.

PCB Panel Math and a Pre-Manufacturing Checklist

It always makes sense to get the most for your money, but perhaps a little more so recently. To help out, we've posted a new article that goes into how your PCB design fits onto panels and why you care.  It's a short-and-to-the-point look at an often overlooked cost optimization for custom PCB manufacturing.  At the bottom of the article you'll find a visual calculator showing just how much panel utilization (and cost) can vary from one board size to the next.  Use it to see if you're getting the most for your money.

Alsom moving from design to ordering boards for the first time can seem daunting. It really isn't rocket science, and so we've put together a basic checklist of things you need to provide to your manufacturer of choice. It isn't a complete list, but we're hoping that some kind folks will help us fill in the blanks until we have somewhat of a tutorial for those new to the PCB design ranks. If you feel like helping, drop us an email.

From the Mailbag: Why Gerber Files? Why Online?

Not that we get a lot of email with questions (EE's are a self-sufficient bunch), but it's been asked often enough I thought we should answer it for everyone here on the blog. Unfortunately I went a little overboard and ended-up with a few pages worth of text on the background of the gerber format. So, please take a second to read What is a Gerber File and let me know how I did.  The bottom line:  Gerbers are important because they form the de-facto communication line between PCB designers and PCB fabricators. Providing this rendering service online was simply a way to make it available to the biggest audience -- Linux, Windows and MacOS are supported simply because we're on the web and attend to browser compatability.

On another note, we were really happy to be featured on the Make Blog today -- and equally glad our server and software handled the load without blinking. It's verification that our software components are robust and reliable even in high-traffic environments.

Getting Make'd is a Good Thing

Sure, I've heard of the slashdot effect, but I've been Make'd. Welcome to all the visitors from Make Magazine's Blog today. I hope you find our little service useful!

External Apertures

There are two type of gerber files in the world: X and D. It's very easy to tell the difference between the types, and here is how to do it:

  1. Open the file in notepad, wordpad, MS Word or any other text editor (even Internet Explorer or Firefox)
  2. If you see a lot of percent signs, it's probably Gerber 274-X
  3. If you see no percent signs, it's probably Gerber 274-D

But what difference does it make? To PCB fabrication folks it makes a huge difference. The stuff between the percent signs in a Gerber 274-X file defines the apertures, polarity and other critical information about where the copper needs to be on your circuit board. A Gerber 274-D file doesn't include that information, so you need to supply at least one other file to give the manufacturer what they need to understand your board. The aperture file usually has a file name that ends in ".apr" or ".rep", but the format of the file will vary depending on which CAD system was used to create it. There might be one aperture file per gerber file, or one aperture file for all gerbers -- either case will work -- but they must be supplied to make a complete set of information (plus drill data, outlines, etc.)

Here at CircuitPeople we need the aperture files, too. And as of today we added a message to the ViewPackage page that tells the story:

Apertures not included in Gerber 274-D files

We can't render a Gerber 274-D file by itself. That means if your CAD system is stil outputting Gerber 274-D, you will need to put the Gerbers and apertures into one zip file and upload them as one package. We simply can't render the gerber without the apertures. My other recommendation for those still outputting Gerber 274-D files is "stop." If at all possible, change the settings on your CAD system to include the apertures in the gerber files.

Upgrades and Enhancements

We're happy to announce some upgrades to the CircuitPeople site today:

Better Gerber Rendering: We continue to refine our rendering technology based on issues identified by users.  If you've experienced problems viewing files, it might be time to try those troublesome files once more.

This Blog: Since you're reading this, the existence of the blog should be self-evident (I'm read, therefore I am). We'll be posting tidbits of information that we find interesting, and hopefully you will find useful.  One of the topics we'll be addressing soon is who we are, and why we're building this website. 

Accounts and File Storage (Beta): Up until now your use of www.circuitpeople.com has been completely annonymous. And, if you'd like, it can stay that way. However, we also now allow you to create an account and have your uploaded design packages saved on our servers. Sign-up for an account on the registration page.

Spread the Word: We aren't advertising CircuitPeople.com, so we count on old-fashioned "word of mouth" to reach new customers.  If someone you know might find our site interesting, please consider letting them know by signing-up for an account and using the Spread the Word form to send them a note.

Sharing: Finally, with an account you also get access to the "Sharing" ability of the site. When logged-in, you'll find a place to share your design at the bottom of the ViewPackage page. Just type in their email address and click "Share". The person getting the email will be able to simply click on a link and view the images from your design. We plan on ehnacing this sharing capability substantially as time goes by.

Thank you for using CircuitPeople.com!

Embedded Systems Conference 2008

ESC is a fantastic place to mingle with designers and engineers from all corners of the EDA and geographic world.  The theme of the keynote was bit retrospective (this was the 20th show) but also raised the question "What is an embedded system?"  A great question, but a quick look around the room had me thinking "Who's an embedded engineer?"  Over the course of three days I had the great pleasure of chatting with people from software, PCB, FPGA, ASIC, millitary and toy backgrounds (not to mention many folks designing PCs and associated components).  This show attracts a really diverse and exciting crowd -- if you get a chance to attend next year's show, go!

And now back to our regularly scheduled programming...

What is a Gerber file, and why does it matter?

Let's cut to the chase: In a practical sense, Gerber files only matter because they matter. It's kind of like Paris Hilton being famous for being famous. Once upon a time, or maybe twice, there was a little company making machines to automatically expose photographic film to light in a controlled manner. This was a great boon to PCB designers because until this new kind of machine appeared they had been drawing their circuits by hand (the lucky designers had the help of rolls of various widths of black tape.) These "photoplotters" needed a control language, so the people building them took from the popular machine control language of the time, RS274, and modified it to suit their needs.  The result was the informal specification we in the PCB world calls "Gerber RS-274D".  It's evolved a little in the "Gerber RS-274X" variation, but the heart of the format remains.

Fast-forward to today.  Modern PCB manufacturing hardware rasterizes (i.e. make pictures from) the input files to expose the film using precision lasers to draw.  These machines can (in theory) do their work given any sort of appropriately scaled image file.  So why throw gerber files at them?  Because we always have.  In reality, Encapsulated Postscript would make a better format to send to these machines.  But until every part of the PCB fabricator's workflow systems can support EPS, we're stuck with Gerber.  It kind of sucks, because nearly identical machines are used in the printing industry and sold for a fraction of the price of the gerber-enabled machines for the PCB industry.

So, Gerber is basically a 20-year-old machine control language that is being used as an image format; and that explains a lot about its many quirks.

Step and Repeat and Pre-Panelization

One common use of gerber file step and repeat commands (G36 and G37) is to create multiple instances of a board design on a single sheet, probably with scoring or perforation for later separation of the individual boards. Why? Usually to speed the assembly and testing processes. Loading and unloading boards into stencil printers, pick and place machines, solder machines, probe testers, etc. can consume a considerable amount of time. By putting multiple boards through those same processes on a single panel, a lot of time can be saved overall. This is a good thing.

On the down side, pre-panelizing your boards when going to a high-mix fabrication shop can increase their manufacturing costs.  How? Well, for small quantities the fabricator will want to mix your boards on panels with other people's boards to achieve the highest possible utilization of the available area. Fabricators like to work with uniform size panels because it allows them to minimize loading and fixturing costs. When "mixing and matching" boards onto panels, it's much easier to fill all the space with small boards. Large boards can leave awkward spaces that are difficult to fill (imagine a board that fills 100% of the panel height, but only 51% of the width).

Oddly, it can be cheaper to pre-panelize when ordering via some fabricators. Nonetheless, If you're going to pre-panelize small quantity orders, please keep in mind that it may lead to greater waste. Generally, by contacting your circuit board fabrication house you can negotiate the same price for individual boards as pre-panelized PCBs (it's probably better for them anyway). Something to consider.

And, if you do pre-panelize please make sure your entire data set is correct. Here at CircuitPeople we see various combinations of gerbers for copper, silk, mask and stencils that are out of sync. It's very common for the drill (Excellon) and mechanical files to be out of sync. For those of you creating completely accurate sets of files for your manufacturers -- kudos!

One use I'd like to see for G36/G37 step and repeat in gerber files? BGA land patterns and fanouts. With high-pin-count BGAs, it can save a huge amount of processing and overhead to define the pads and via constructs once, and then pattern them 1000 times.  Here's a sample:

1024-Pin BGA Landing Pad

Not bad for less than 20 gerber commands, eh?

APEX 2008 and EDA Mashups?

I'm just back from APEX, and what a great show it was this year -- I felt a real sense of change and optimism on the exposition floor. Some long-awaited technologies are arriving in production-ready form, promising to make it easier and faster to innovate in the electronics space. By APEX 2008 I expect lead-times for PCB fabrication and assembly will be down by a day or more. That's really, really cool.

While new hardware is cool (and absolutely critical to a thriving industry) perhaps just as interesting is a new sense of "openness" being whispered. And I mean "openness" in a variety of admirable forms: openness as in honesty; openness as in the willingness to share; openness as in inclusion; and openness as in collaboration.

One beachhead of this "new openness" is Open Source software thriving in the embedded systems space, and appearing in products big and small. Another beachhead appears to be forming among some EDA "content providers": EAGLE is going to support XML for version 6; Sunstone Circuits is talking about "barrier free" collaboration and has opened their proprietary CAD system with a open-source SDK; RoHS compliance information, part availability and pricing, component libraries -- they're all out there for sharing.

So what is this building toward? IMHO, we're very close to seeing an explosive event around "EDA Mashups". The web introduced the concept of a mashup when Google's map technology hit the scene. Other so-called "Web 2.0" sites built on the concept to create networks of interrelated applets (aka. gadgets). If you are interested in this kind of innovation through integration and need a little more background, you can get a good head start reading about Mashups at Wikipedia.

If (when) shared EDA content is made available as web services I will incorporate it at CircuitPeople.  Maybe someone will start incorporating CircuitPeople's viewing and rendering into their site.  Where will it lead? I have no idea, but it sure is going to be interesting...

APERTURE.LST, Etc.

I just wanted to put a note to everyone that although you may not see substantial changes to the site, constant work is going on behind the scene to make our Gerber file rendering the best it can be. Every day since Feb 29th we have improved something about the site. Some of the changes have been small (like supporting APERTURE.LST files, which are slightly different than most other aperture files) but there are larger changes in the works as well.

Some Stats from GA

Just an interesting note from the Google Analytics data for the past seven days:

  • We've processed more than 1,000 packages of gerber files. Wow!
  • Just shy of 150 people used the service.
  • Those requests originated from 35 countries.
  • And 22 languages.
  • Surprisingly, almost 50% of requests to the site were made from Firefox -- much higher than "the conventional numbers". 

Part of the reason for the large number of package uploads is that some folks are uploading individual gerber files (as many as a dozen) instead of zipping them together and uploading them all at once.  There is a problem with sending Gerber 274-D files one-by-one -- we can't render the gerber without the apertures.  Gerber 274-X files stand by themselves because of the embedded aperture information, but if you're going to upload the "old style" Gerber 274-D files, please put them into a zip file (e.g.: choose "Send To" and them "Compressed Folder" in the Windows Explorer context menu for the folder containing the files) with the corresponding aperture files.

We have some other work to do based on the above observations: We must start working on Portuguese and Spanish translations of the site;  And, our Firefox compatibility must stay at a level matching or exceeding Internet Explorer.

Finally, we're still waiting for some gerber files using knockouts.  Frankly the gerber format specification just doesn't go into enough detail on this feature and we'd like to have some real-world examples to guide our implementation.

Where'd We Go?

For some reason Google has dropped our site from their index.  This is interesting because the automated report from them indicated our site is "404" -- can't be found.  Obviously a bug on their part.  The most frustrating thing about this situation is that it's nearly impossible to contact anyone at Google about it.  My little enterprise is just one of several million on the web, but I want to make sure it's as easy as possible to find for the people that need it.

Google Analytics

As of today, we're starting to track usage of the site with the infamous Google Analytics.  Why? It looks like this is going to be a fairly popular service, and I'd like to understand some basics about who is using the site.  GA doesn't capture information about individuals, it only reports bulk statistics.  Two questions I hope it will answer quickly are:

  1. Should we invest in translating the site to other languages?
  2. How many browser types do we need to test compatibility with?
  3. How high is the resolution of most people's monitors?

Sure we could make assumptions about these things, or use the "commonly accepted guidelines", but we'd rather get the data straight from the source -- the people using our site. 

Incremental Measurements

That didn't take long.  Within three days of opening the site we received the first set of Gerber files that were encoded with incremental units (something we didn't support until today).  Fixed.  That leaves two remaining holes for us, one of which is Knockouts -- we don't support them at all.  If you have some gerber files that use KO parameters, please send them our way.

Welcome to CP

Seriously, welcome.  I'm really glad you're here reading this, and I'll be just ecstatic if you upload a few gerber files and provide CP with a little feedback about the results. 

Copyright © 2008-2010 CircuitPeople LLC, All rights reserved.  CircuitPeople™, Got Gerbers?™ and TrueGerber™ are trademarks of CircuitPeople LLC.