Submitting Boards For Fabrication


At some point, after you design your schematics and boards, you want to submit them to be fabricated. Whether you use MeowCAD or some other tool, the workflow is pretty similar. We live in a pretty amazing time where this can be done for reasonable cost with only a few weeks delay. Not even 5 years ago, this was a costly ordeal. Sometimes small electronics would order 500 boards at once and hope for the best since the cost of ordering so many more was negligible compared to the overhead cost of ordering a single prototype.

We'll be focusing on submitting the 8 Bit Heart Gerber files to OSH Park for fabrication. We've heard Dirt Cheap Dirty Boards is a decent service that is very affordably priced but we haven't had a chance to use them. We're hoping to make sure our Gerber file generation is robust so we'll be submitting to some different board manufacturer houses but so far we've only gone through OSH Park.

Very roughly, one workflow is as follows:

  • Design your PCB. We'll skip this step and use the 8 Bit Heart project ready in MeowCAD.
  • Collect the Gerbers. The export from MeowCAD includes them but we'll need to collect them for later submission.
  • Submit to the board Manufacterer. We'll be using OSH Park.
  • Assemble. We won't go into too much detail but briefly outline a "DIY" way to do this.

As a quick aside, a snippet of an example Gerber file that we'll be submitting looks something like this:

G04 Gerber Fmt 3.4, Leading zero omitted, Abs format*

For those familiar with G-code, the files might look similar. It's a textual representation how to draw geometric primitives. The APERTURE LIST section holds the primitives (C for circle, R for rectangle, etc.) after which the draw commands are issued with move commands (e.g. G01), specifying which of the apertures to use. For example, in the snippet above, %ADD10C,0.0640*% creates an aperture named D10, a circle of radius 0.064. Later, the aperture is specified with a D10* line and the draw commands are issued via G01X22700Y-03900D02* and G01X22700Y-03900D01* move the pen to x 2.2700 y -0.3900 and then 'streak across' the circle to x 2.2700 y -0.3900. The %MOIN*% directive specifies the units in inches and the %FSLAX34Y34*% specifies that the X and Y co-ordinates are given as 3 digits for the integral part and 4 digits for the fractional part. For more details feel free to check out the Gerber specification document.

Probably way more detail then you wanted to know but it's sometimes nice to know that there's nothing magical going on underneath. It's just a textual representation of the geometry that we want to produce.

Let's download the 8 Bit Heart project. If you hit the Download button, this should download the project with all the relevant files (be patient, sometimes it takes a while).

Once we have the project downloaded we'll take out the Gerber files. It's a good idea to load it in a Gerber preview to make sure everything looks good. Some standard ones are gerbv and GerbView, which ships with KiCAD. There are some online ones as well. Using gerbv and selecting the appropriate files in the gerber directory of the 8 Bit Heart project should give you something that looks like this:

$ unzip
$ cd project
~/project$ gerbv gerber/*

We now need to collect the gerbers into a zip file for submission to OSH Park. Load these into their own zip file. For example, here's one way:

~/project$ ls
gcode gerber json KiCAD
~/project$ zip -r gerber
~/project$ ls

Now go to OSH Park and go through the submission process. In the end, you should be deposited to a page that looks something like this:

$11.40 for three boards is very reasonable. OSH Park makes quality boards and they've been very nice about helping us through our process of creating Gerbers from MeowCAD. We've found the boards usually arrive two weeks after submission.

Once the boards arrive it's finally time to solder the everything on the board. We used a re-purposed convection oven and an IR non-contact thermometer we got off of eBay to solder the parts on. This whole process probably deserves a blog post of it's own. The short version is:

Afterwards you should have a functioning board.

This process is long and complicated. Collecting all the parts to just create a small circuit is pretty involved. The barrier to electronics design is getting lower but the threshold is still high. We've got a long way to go before we can do complex board design with ease. Hopefully MeowCAD is a step in the right direction!

Feedback? Thoughts? Be sure to drop us a line in our feedback section!

Happy hacking!

Introducing MeowCAD


Hi there! This is MeowCAD!

MeowCAD is an online, in-browser electronics design tool that's completely free and open source. Use it to create schematics, printed circuit boards, share with your friends or just play around.

Though MeowCAD has been live for almost 2 years it's only recently that MeowCAD has reached a minimum level of functionality to be considered usable. There are rough corners to be sure but it's in a state where we can use it ourselves to create a schematic, create a printed circuit board, export Gerbers, send it off to be fabbed and get back a functioning PCB.

The board above was fabbed through OSH Park. You can check out both the schematic and the board right here on MeowCAD.

In another post we'll go more in depth about the process of submitting to a board manufacturer but in this post we wanted to start things off with a little description of ourselves.

Here's a screencast (it's about 17m) of some functionality:

Feedback is always welcome, either through the feedback form or through the issue tracker. We'd love to hear from you, positive, negative, rant, rave, whatever.

Have fun and happy hacking!