More PCB Stuff


So, I’ve been pretty happy sending printed circuit boards off to this Gold Phoenix operation in China. It feels global to do my manufacturing offshore and its certainly a heck of a lot cheaper than doing it onshore. Frankly, my budget is my pocket money and every penny counts. I’ve been even happier that I can do this stuff all on my own and learn just how these things are made. I mean, it’s one of those things I wish they had maybe taught us back in electrical engineering school, but maybe they thought it was too vocational. Anyway, I really haven’t used a drop of what I learned from back then, honestly. Maybe they taught me how to think or whatever. Who knows.

Anyway, I’ve been overwhelming myself with new projects because I can make my own boards, and being able to have multiple designs fit on one larger panel is really fueling the preposterous number of projects underway. I found out about Gold Phoenix through Nathan/Spark Fun‘s boardhouse batchpcb, which I’ve used in the past. I needed more boards done quicker and in greater quantity than made sense with batchpcb. Nathan never hid the fact that they’re an aggregator for Gold Phoenix, producing amazing prices for very small quantities if you could wait 15 or so days to get them back. For the quantities I needed (couple dozen) it made more sense to go directly to Gold Phoenix.

(You can read this as “Part II” of a review I did earlier of about four board houses.)

So, it’s the same drill to get your boards done, even easier in some regards, but much less hand-holding so you need to pack a reserve ‘chute the first time around. If you have a single design, you basically generate your Gerber‘s the same way you normally do. I even used the Spark Fun Electronics CAM file to generate the Gerber’s. SFE has a tutorial right here for using Eagle to generate Gerber’s. I’ll repeat a few things here.

The Gerber‘s are basically (barely) human readable, but mostly machine readable, text files that describe what goes where on your PCB. For instance, from where to where a bit of copper should go, where a hole goes and how big its diameter. That sort of thing. So, it’s the physical description of your layout, one file for each layer of the board. I’ve only done two layer boards. That is, two layers of copper. Which means that I have six Gerber files plus a drill file. The Gerber’s are one each that describes the top and bottom copper, one each for the top and bottom solder mask, one each for the top and bottom silk screen. Finally, there’s this “NC drill file” used to describe the drilled holes (vias, mounting holes I poke through the board, any through-hole components, etc.) So, that’s six Gerber files and a drill file. You zip those up into a .zip file.

Eagle spits these out when you run the CAM processor using the file that Spark Fun Electronics graciously makes available. It basically does what you need to be done.

Top and bottom silkscreen is a little tricky because it actually pulls the silkscreen from two special layers (_tsilk and _bsilk) that are created by another script (or “ULP” for user library program) also provided by Spark Fun. This other script is called silk_gen.ulp. What it does is make your silk screen drawings a bit “thicker” than the default thickness created by Eagle. It actually copies the geometry and patterns from the normal (by convention) layers that are used to draw paint (silk screened, but I doubt the process involves and actual silk screen nowadays) on the boards. Those layers, best as I can tell, are tPlace and bPlace (top and bottom placement marks for components.) If you run this ULP you’ll see all the tPlace and bPlace redrawn in a different color — and if you check your layers you’ll notice that two more appear in the “Display” pane of Eagle. What happened is that everything in tPlace and bPlace is drawn thicker in _tsilk and _bsilk. You’ll see any text thickened, etc. Evidently, this is necessary for the actual process of applying the silk screen paint to the board.


The files that you need for production are generated by the CAM Processor. These are:

Top Copper (CMP)
Bottom Copper (SOL)
Top Soldermask (STC)
Bottom Soldermask (STS)
Top Silkscreen (PLC)
Bottom Silkscreen (PLS)
Drill File (DRD)

While we’re talking about layer mishegoss, you’ll notice that there’s also the Dimension layer that looks like it’ll be drawn in paint, but that layer’s geometry does not get drawn as paint — I’m pretty sure it’s used to define the boundaries of the board as the board will be cut out of the panel. I’m not 100% sure how the process works, but empirically — based on runs I’ve done — this’ll allow you to shape the board into whatever shape you need. (See below, some of the boards have slightly rounded edges, and one even has a bit cut out where a battery can fit.) What gets drawn in paint and what doesn’t is determined largely by convention. These “silk” layers are handled by the CAM Processor as layers to be drawn in paint by putting the geometry in the top or bottom silk Gerber files. Whatever geometry you put in that file will get drawn as silk. If you mess up and put your copper geometry in there, they all of your traces and pads and such all will get drawn as paint, which is pretty cool, but something mostly people don’t want. Essentially you’re giving whatever hulking steampunk machine is on the other ed of this instructions on where to lay copper and where to lay paint and where to drill holes and where to cut PCB.

Okay, so — you’re probably better off following Spark Fun’s tutorial, because that’s just a brief summary of the drill you’ll go through. I’m just trying to get to the point of seven Gerber files zipped up into a zip file.

For the Gold Phoenix run, you just email that zip file to their guy Shane in Toronto with a description of what you want. I’ve been taking advantage of these summer specials they’ve been offering. It’s a menu of options such as how big a panel you want your parts cut from? What weight of copper? How thick should the boards be? What color soldermask? What’s your thinnest trace, etc.

For example, for this batch of parts, my order looked like this:


That’s about it. No web form. No drop-down box. My shipping address? I put it in the PayPal form when I paid my $159. I had multiple boards that I put in the layout — those six separate boards? So I had to fork over an extra $30 as a tax for making their lives a little bit harder — fine with me! I get five projects taken care of at once. My board file looked like this (it’s like a board of boards, really):


This was just a board, no schematic. Each one of those individual parts there? They were each designed separately, on their own the usual way. (Create the schematic in Eagle, create a board from the schematic, place parts, route, etc.)

This board of boards was created as a new board design — just a board, not a board and schematic. This is the board design I’ll use to generate Gerbers and drill file for the final thing I send to Gold Phoenix. But, first you need to put all the individual solo-created boards together on this blank board. (I think this is basically what happens when people do what they call panelize or panelizing, but I might be wrong.) You’re basically going to create one board with lots of smaller boards on it. The outlines for each smaller board are what the Gold Phoenix people will use when they cut up the larger board into smaller pieces. They’ll also do the “step and repeat” process of filling up the larger panel with multiple instances of the one board that contains lots of little individual boards.

This is like a three layer Russian Doll. You have your individual boards for some little design projects you’re working on. Then you have this board that contains each of those little board designs, placed thusly so that there’s a little space between them and they don’t overlap and maybe even consume a rectangular shape, etc. Then there’s the “panel” which is the sheet of material that will become a big sold piece of lots of little designs.

When I got the boards done individually, I turned on all the layers in Eagle, and used Eagle’s “cut” command ( basically means copy) after selecting everything and placed the individual board on my one larger mothership board. I did that for each design. (One of the designs I put on twice to make the basic outline of the whole thing roughly rectangular. I just sort of assumed that that would make more efficient use of space for the step-and-repeat process of duplicating this design across the larger panel. Todbot thinks that they maybe adjusted the placement of my individual pieces because, by my calculations, I should’ve gotten 9 of each piece and instead I got 10. Anyway, 10 is better than 9.)

So, what Gold Phoenix ends up doing is taking this one board of boards and making it fit in 1000 square centimeters as many times as they can. This is why I get many copies of each board, 10 in fact of each board because my board of boards can fit 10 times in 1000 square centimeters because its just about 100 cm square (120 actually on my side, but, like Tod said, they must’ve tightened up my board of boards on their end.) They saved me a lot of trouble this way. Rather than me having to make a board of boards 1000 cm square, they do it for me based on my one board of boards template.

This is what showed up in the FedEx pouch from China 9 Days Later (coulda been sooner if I paid a little extra for extra fast turn-around.)



I don’t think you can beat that for quality, quantity, time and price with any of the other four or five places I’ve tried. One place was $33 + $40 shipping and handling (scam) for one tiny board, no soldermask (yeech..) no silk, 5 day turn-around. Like..hello?

24 thoughts on “More PCB Stuff”

  1. Wow, thanks for the detailed response 🙂 I’ve been looking for a good place to have some low-run PCBs manufactured, and this looks like just the place to handle the job. It looks like they do some really great quality boards for affordable prices — other companies charge an arm and a leg for one-off, double-sided, silk-screened runs.

  2. Awesome post, first off.

    Second, can you choose the color of the boards? No offense, but white doesn’t do it for me, they look too mac compatible, lol.

    Third, I think this would make for a great instructable (, if you’ve got some spare time.

    1. You can definitely pick the color of the boards. They list blue, red, black and yellow — but we asked and they said they had white, too. So, I’m not really sure what they don’t have. I heard from Nathan at Spark Fun that they’ll do pretty much any color for a fee.

  3. You may not know, Chinese low cost PCB industry may be polluting
    environment. PCB industry is heavily water-consuming, And copper and
    lead may …

    1. (This of Off-topic but) Do you have proof for that accusation? Wouldn’t you consider the FACT that China also have Environment control agencies to look after waste management issues (just like in US)?

  4. Nice writeup – this is exactly the process I use for the “CREATE USB Interface” (CUI for short) – – even the color scheme!

  5. China is tight on environment control, despite what you hear.
    good thing is you can walk into most streets, and find CAD/CAM / PCB manufacture, and Girls that will take a schematic and design a board for you, and JESUS are they fast, the quality is damned good. Golden Phoenix is just one company, others turn PCB’s round in 3-4 days.

  6. Hey Julian,

    Great article! I really enjoyed reading it and it elaborates on many things that are not obvious regarding getting one’s own pcb fabbed. Thanks!

    I have questions,

    If I’m to have text on the Bottom Silkscreen (PLS), do I mirror it in Eagle before outputting the PLS gerber ?

    How do you draw your rounded board outline borders to get rounder edge boards?

    Would it work if you put the board outline on the Copper layers CMP/SOL?

    Just tweaking my file before I send it off, I’d hate to see my boards back messed up! Thanks!

    1. Yep, thanks for the comment!

      So, you won’t have to mirror the bottom silkscreen layer. It should already be mirrored, effectively. If you turn everything off except that layer, everything should be reversed/mirrored, but I guess that depends on whether you put in your own text and did not mirror it.

      So, the rounded board outlines are a bit of a pain in Eagle, which evidently thinks everything should be square and pointy. Eagle sucks when it comes to anything like this.

      Here’s what I do. I create an outline of what I want in any vector drawing program, like OmniGraffle or Illustrator. I output that graphic as a bitmap (or DXF, I’ve done both), and then run it through this okay-but-not-great program called Eagle Power Tools that has a utility that can convert the bitmap/DXF/other-things to an Eagle script (SCR) file. I then read that script in eagle and it _painfully_ draws whatever that bitmap was on the layer I ask the script converter program to use — so, usually the dimension layer. The script converter basically turns the graphic into individual super small line segments that become the larger shape.

      So, basically you have to measure up your board and draw a rounded rect of appropriate dimensions, or whatever shape you want. Then output that bitmap at a specific resolution and then also tell the bitmap to script converter to operate at that resolution (otherwise it’ll draw the shape very very small, or ginormous.) I usually have it draw it within a dummy board just to make sure it’s scaled right and such, because deleting it can be wonky, since it’s made up of zillions of tiny line segments. If it looks like it’ll properly contain my copper and everything, I’ll “group cut” it from the dummy board, and then paste it into my working board file. It usuually takes a go or two to get it right. It’s an ugly chain of stuff, but it works. I now keep hold of a few .brd files containing rounded rect outlines so I don’t have to go through this over and over again.

      For complete sanity checking, I usually use a simple Gerber viewer to check my layers and see what the Gerbers actually represent and what will appear in the board. With it, you can import the individual Gerber files for each layer and double-check yourself. There’s a freebie one, after registering or something, from Pentalogix called View Mate that I use every once and again.

      1. Julian, thank you Sir!

        That really clears up a lot, ever since seeing your nice rounded edge boards, I had been killing myself trying to draw one with Eagle’s line tools. Eagle’s interface is really clunky and counter-intuitive, it’s such an absolute pain to use. In this day and age, positively anachronistic.

        You should post this how-to as a mini-tutorial!

        For a pretty sweet free gerber viewer, I use GC-Prevue from give it a look, you’ll like it.

  7. Golden Phoenix looks interesting, although the bit about “allow for 15% failure rate” is jarring, but I think it’s always best to have a short list of 3-5 PCB houses, because depending on the board size, characteristics, and quantities, the best place can be different.

    To give just one example, Sierra Proto Express is rather pricey for quantities < 3 and for small board sizes — that’s where Batch PCB is about the only decent option. But, I recently had 4 7″x4″ 4 layer boards done at Sierra. At the time, the total cost was $204 + shipping (so ~$220, ~$210 now with the new customer special). With Golden Phoenix it would cost $330 (special price).

    Oh, and the Sierra boards are made in Sunnyvale.

  8. Excellent post! I think you can get this deal for $94.99 at PCB International

    about 3 weeks ago I order a 2 Layer design, 95 square inches with the following specs:

    – Yellow Solder Mask
    – 2 sided While Silkscreen
    – HASL free finish
    – E-test included

    (though not sure how much multiple designs cost)

    The package came 8 days later absolutely perfect. A friend of mine used this company on at least 3 projects . . . loved what he received. They may be worth a try.

Comments are closed.