Merging modern software development with electrons and metal
Random header image... Refresh for more!

Category — PCB

3D Models of Automation PCBs

I’ve been investigating affordable, automatic creation of 3D PCBs models; what I’ve found doesn’t match up well with my needs.

I would like an easier way to create accurate models of automation PCBs, such as break out boards, which mainly use through-hole connectors (think of something like my FP-SMC-1 PCB).  I want to use the model to verify my footprints, check that everything fits together mechanically (for example, fits into the DIN rail holder without any conflicts), and do an initial check that the board will be easy to use (enough space between connectors, etc).

I’m not interested in an approximate visualization; I want accurate an accurate model (preferably exportable in STEP format) created from manufacturer’s STEP or IGES models (which are typically available for connectors).

I took a quick glance at PCB Pool’s 3D visualization service, DesignSpark PCB, and KiCAD, and felt the reward wasn’t worth the effort of trying to get everything set up.  Later I plan on looking into this again, but for right now, I’m back to using Alibre Geomagic Design and having fun trying to get everything to mate.  (As far as I can tell, DesignSpark Mechanical does not support mating, and it doesn’t export STEP files, so GD is a better path for me).

May 31, 2014   No Comments

Best Design Software For Automation PCBs?

I believe creating custom break out PCBs for automated equipment is often a very good idea.  In fact, I’m getting ready to design several new ones that will replace a lot of laborious hand wiring.

However, if you have never created a PCB before, it can be pretty scary, with complex design software (that has to handle fine pitch surface mount packages at high speed), design rules, different Gerber formats, all kinds of questions from the PCB fab house (1 oz copper?  2 oz copper? HASL?) and all that.

Designing a typical automation break out PCB shouldn’t be that hard, since the requirements aren’t complex: through hole parts, low speeds, large traces, etc.  (OK, if you need to handle a lot of current, you have to start calculating and think about fancier boards).  The problem is finding a tool that can handle these simple requirements with simplicity.

I don’t know which software is best; I’d like to hear about any real world experiences.  If I had time, I’d like evaluate different PCB software from an automation OEM’s perspective, but that’s not going to happen for a while.

My suggestions right now are:

  • Look at popular hobby-oriented software; it’s likely to be simpler or have more support.  For example, although both Eagle PCB and KiCad are still pretty complex, there is a lot of support available on-line, and a substantial number of board houses will accept Eagle board files (so you don’t have to deal with Gerbers and such).
  • On-line (“cloud”) software such as 123D Circuits or Fritzing might be a viable option:  I’m pretty sure they’re a lot simpler than Eagle and KiCad, but I haven’t done enough research to know if they can create good break out PCBs.
  • Consider an integrated solution, using software provided by a PCB board house (such as PCB123 from Sunstone).  You might pay more and loose some flexibility, but gain simplicity.

February 7, 2014   5 Comments

Automation Printed Circuit Board Resources

In one of my first posts, I talked about using the prototype PCB industry for low volume machines.  Overall, I think creating custom PCBs are great, although they aren’t always the best solution.  Four years and a of experience later, it’s time for an update with links to more resources.

Designing PCBs

Simplified software just for creating custom break out boards would be great, but I doubt there is enough of a market for such a program.  So I use Eagle PCB, because of its widespread use (and thus available support).

Affordable PCB design software includes:

  • At least 3 open source options, the gEDA suite , Kicad, and FreePCB.  Kicad is probably easier to use than gEDA, but I haven’t used either.  Someday I plan to try out gEDA and Kicad, using the Fedora Electronics Lab Linux distribution installed in a VirtualBox virtual machine.
  • Eagle PCB ($49-$1494).  A little overkill for automation PCBs, but works well, and has a lot of support (tutorials, support from CADSoft, SparkFun library, etc).
  • PCB programs tied to PCB proto houses, including PCB 123 from Sunstone and PCB Artist from Advanced Circuits.  These programs limit your flexibility (check the links for details), but should be simpler (for example, there shouldn’t be any Gerbers to create and possibly screw up), and are definitely worth considering.
  • Various other commercial PCB programs, including Target 3001! (59-2999 Euros), Power Station 32 ($50-$2995), Easy-PC ($477 and up), Edwin XP ($700 and up), Vutrax, Proteus PCB ($249 and up), and DipTrace ($75 to $695).

Getting Your PCB Made

There are many good options, but since I do not know enough to rate them all, I will mention a few:

  1. I’ve used Sierra Proto Express for many years with excellent results.  Their newer Web PCB service gives even more options, including longer delivery times (with lower prices).  I always order at least 3 boards, since 3 PCBs don’t cost more than 1.  Typically pricing for the No-touch service is around $110 for 3 PCBs.
  2. If you just need 1 PCB at the lowest cost, and can wait a while, consider BatchPCB, since they charge by the square inch.  IIRC, pricing is $2.50/sq in for 2 layer, and typically delivery is 3-4 weeks.
  3. If you don’t need hand-holding, have multiple designs, and want lower prices, consider Gold Phoenix.  I had excellent results getting 6 different PCB designs made by them at about $140 for 155 sq in.
  4. You might prefer a PCB house that will take the files your PCB design software creates directly; that is a little easier than creating Gerbers.
  5. Although I don’t use this option, look at the details and consider if PCB houses with free software, such as Sunstone and Advanced Circuits, are a good choice for you.

Component Notes

I’m still using Phoenix for most of my terminal blocks.  For small quantities, Mouser is still typically best, but check your local distributor for larger quantities; ours is significantly less expensive than Mouser or Digikey.

There seems to be a lot better selection of European-style terminal blocks than there was a few years ago, but I haven’t looked at them in detail (I only have so many hours in a day).

I’m looking at using Phoenix UM holders, since I’d like more size options than the UMK series has.

April 4, 2011   2 Comments

Thoughts on Automation PCBs

I’ve been very satisfied with using custom Printed Circuit Boards to replace DIN rail break out boards and terminal blocks at work.  However, they aren’t always the best choice.

The advantages include:

  • Much reduced wiring time (especially when used with off the shelf cables).
  • Competitive BOM cost (possibly even less expensive; I haven’t run the numbers).
  • Reduced clutter.
  • Enormous component choice, including all kinds of connectors not available in DIN rail terminal blocks, along with semiconductors, resistors, jumper blocks, etc.
  • Affordable even for small volumes (I’d say starting at 3 boards)

The disadvantages include:

  • Not very flexible — once a PCB is made, it’s hard to change, unlike discrete wiring.  You can add a bit of flexibility by using a number of common PCBs instead of one big, custom PCB (e.g. for 3 axis system, use 1 PCB per axis instead of 1 PCB for 3; then if you need a fourth axis, it’s easy to add another PCB).
  • So PCBs are not a good match for unique machines, or ones that might radically change in unpredictable ways.
  • Using PCB design software takes some expertise and learning.  It’s not that hard (heck, I’ve done quite well using Eagle PCB, and I’m a software guy), but there’s definitely a somewhat scary learning curve both when designing the PCB and getting it manufactured.
    • Other software might be easier than Eagle PCB, especially software integrated with a specific board house.  But any general purpose PCB design software will have a learning curve, because it has to be able to handle so many design possibilities.
  • High voltage and high current take even more expertise.  You can do high current and high voltage on a PCB, but you’ll have to know even more about topics such as creep distances, trace widths, PCB copper amounts, board materials, and thermal dissipation to do it right.
    • So I wouldn’t be making a PCB for a 35kW 480V motor (although it could be done…)
  • Your favorite components might not play well.  One reason I use Panasonic PLCs instead of, say, Siemens’ intriguing S7-1200 is that I can easily make ribbon cables to go from the Panasonic PLC to a custom PCB, but I can’t for the S7-1200 (since it uses terminal blocks).

Another option is to have somebody else design and/or make a custom PCB for you (Wago is one possibility, and I’m sure there are others).  I doubt this approach makes sense for small volumes.  For example, I’ve done some research on getting our PCBs assembled, and prices I’ve seen at our volumes aren’t even close to reasonable.

February 17, 2011   No Comments

A Bunch of Boards

First Batch of PCBs (assembled)

First Batch of PCBs (assembled)

I’ve been slowly working on a bunch of PCBs, and the first batch is finally here.

In the coming weeks, I will discuss each board in more detail, fill in the trac pages, and add the Eagle PCB files to my subversion repository.  I will also cover any mistakes I find, and possible improvements.

The initial lineup consists of the:

  • FP-SMC-1, which is finally here!  It’s a demo board designed to show how to design a custom PCB to replace typical control cabinet wiring.  It connects a Panasonic FP series PLC to a SMC pneumatic manifold.
  • CO-DB9-RJ45-2, designed to convert a CANOpen DB9 connector to dual RJ45 connectors.
  • CO-HDR-RJ45, designed to convert a CANOpen terminal block header to dual RJ45 connectors.
  • CO-M12-RJ45, designed to convert a CANOpen M12 connector to dual RJ45 connectors.
  • CO-TB-RJ45, designed to convert a CANOpen terminal block to dual RJ45 connectors.

November 5, 2009   3 Comments

Verifying PCB Footprints

A great way to waste time and money on Printed Circuit Boards (PCBs) is to create them with the wrong footprints.  It’s worth spending the time to verify before ordering.

The footprint is what a part looks like on the PCB: the holes, the pads, the silkscreen, etc.  PCB design software typically comes with footprint libraries, but some people (including myself and the guys at Sparkfun) prefer to do their own.

It’s easy to make a mistake when creating your own footprints.  You should still check all footprints, because the creator could have made a mistake or it could have been designed for a different part (for example, not all DB9F right angle through hole connectors have the same footprint).

There are two ways of verifying a part’s PCB footprint:

Model the PCB using a MCAD (mechanical CAD) program

  1. You have to create a PCB first that uses the footprint.
  2. You need a 3D model of the part, preferably from the manufacturer.
  3. You need a suitable MCAD program.  Links to some free personal use possibilities (such as CoCreate PE, PowerSHAPE-e, and Medusa4 Personal) are here.
  4. I discussed how I modeled the FP-SMC-1 here.

Mock the PCB using a life size printout

  1. You have to have the parts you are going to verify.  I like to have the parts first, anyway, since I like to see what the look like and how they work before I use them in a design.
  2. You have to create a PCB first that uses the footprint.
  3. You then print the footprint at life size (1:1 scale), with the pads, holes, and (optional) silkscreen showing.  You should check that the printout really is life size (printers aren’t perfect).
  4. Cut out the PCB, and then mount the parts onto the paper.  I find it’s easier to punch through hole parts through the paper when it’s backed by something like foam.
  5. Check the footprint with the parts mounted and removed: holes in right places, pads line up, silkscreen is visible, etc.
Parts inserted into paper PCB printout

Parts inserted into paper PCB printout

Pictured above is a printout of the FP-SMC-1 PCB layout with the parts inserted.  You can see that the text is readable, and silkscreen outlines appear correct, and such.

Paper PCB printout after parts inserted

Paper PCB printout after parts inserted

Pictured above is a view of the FP-SMC-1 layout printout after I removed the parts.  You can see, especially in the larger version, that all the holes (made by the connectors’ pins) line up with the layout’s holes.  (Click on the picture to see the full size version).

In some ways, it’s easier to use the second method.  MCAD programs are fun, but they do have a substantial learning curve; I’ve found mating parts is often very challenging.  But it can also be challenging to poke parts through paper accurately, and I haven’t tried the second method with surface mount parts yet.

November 4, 2009   4 Comments

Making an Interface PCB II – Parts and Resources

Updated 1/23/2008 with AMP socket connector part numbers (which some people find easier to hand assemble than 3M, but they are more expensive), and a bit more on MCAD.

Update 4/6/2011: Alibre Design Express hasn’t been available for years, and since Alibre Design Personal Edition isn’t suitable for PCB modeling, your low cost (<$500) MCAD options are limited.  Check out my Affordable MCAD post for some current choices that might work (depending on your needs).

A list of the parts and resources needed for the FP-SMC-1 Interface PCB. The Phoenix parts are available from a number of sources, including Digikey, but Mouser (who I will use) and Online Components sell them in small quantities.


  1. Eagle PCB. I’ll be using the Light version (free for non-commercial, $49 for commercial).
  2. Viewmate from PentaLogix, which is a free Gerber viewer.
  3. Alibre Design Xpress which will help check the mechanical side of the PCB (free). If time allows, I’ll cover other options for checking the mechanical fit of the PCB.

Board Houses:

  1. Sierra Proto Express
  2. Possibly SparkFun/BatchPCB (can be cheaper for 1 PCB)

Bill of Material for circuit board (excluding PCB):

  1. 4 Pin Header 10 pin (2×5) AMP 5102321-1
  2. 1 Pin Header 26 pin (2×13) AMP 5102321-6
  3. 15 Phoenix ZFK3DS 1,5-5,08 Terminal Block (Part Number 1704415)
  4. 1 Phoenix ZFK3DSA 1,5-6,08 (click on Additional Products) End Terminal Block (Part Number 1704554)
  5. 3 Phoenix ZFKDS 1,5-W-5,08 Terminal Block (Part Number 1706714)
  6. 1 Phoenix ZFKDSA 1,5-W-7,62 (click on Additional Products) End Terminal Block (Part Number 1706730)
  7. 2 Phoenix UMK-FE DIN rail feet (Part Number 2970031)
  8. 2 Phoenix UMK-SE 11,25 side elements (Part Number 2970002)
  9. 2 Phoenix UMK-BE 45 base (Part Number 2970015)

Bill of Material for cables:

  1. 8 IDC Socket Connectors 10 pin (2×5) 3M 89110-0101 or AMP 1658621-1
  2. 8 Strain Reliefs 3M 3448-89110 or AMP 499252-5
  3. 2 IDC Socket Connectors 26 pin (2×13) 3M 89126-0101 or AMP 1658621-6
  4. 2 Strain Reliefs 3M 3448-89126 or AMP 499252-3
  5. Ribbon cable 26 conductor AWG 26/28 0.050″ pitch (available from 3M and others, length depending on your need)
  6. Ribbon cable 10 conductor AWG 26/28 (available from 3M and others, length depending on your need)


July 26, 2007   1 Comment

Making An Interface PCB I – Introduction

This series describes how to have a PCB made for factory equipment from start to finish using a real board. I am not going to concentrate on the details of the PCB layout software (there are plenty of tutorials available for that), but instead cover details such as getting the right output out of the PCB layout software.

I am going to design a PCB that could be useful in a machine, using components I like. You should be able to learn from this example to design your own low cost board. The PCB will be designed to interface a Panasonic FP0 or FP Sigma PLC to a SMC pneumatic manifold. I am naming the board FP-SMC-1.
The board interfaces 16 PLC outputs to a SMC 26-pin header manifold. SMC uses this design on various manifolds that can have up to 12 stations, and each station can use 1 (for single acting) or 2 (for double acting) outputs. In my board, I use up to 8 stations; all of them can be single or double acting.

The board interfaces 16 PLC inputs to terminal blocks, so you can have two limit sensors (extended, retracted) for each pneumatic cylinder.

The board has a four power terminals, two +24V and two GND. Providing extra 24V and Ground connections allows the board to power another board.

The board mounts on a Phoenix UMK DIN-rail holder. I have successfully used the UMK series before. Phoenix also provides 3-D models, which is useful.

I will be using Eagle PCB to create the schematic and layout the PCB. I will be using Sierra Proto Express as the board house. I plan on investigating the creation of a 3-D board model.


July 9, 2007   No Comments

Leveraging the PCB Proto Industry

Update 4/5/2011: More thoughts on automation PCBs here and more resources here.

In the past, Printed Circuit Boards were not a good choice for small volume machines because you had to pay significant Non-Recurring Expenses (say $500), and then buy 100 boards or so. If your design changed, well, all the boards in stock are now useless. If you make a mistake (somehow very easy to do with connectors), well, you either have to fix it (if possible) on all those 100 boards or throw them out. I’ve seen both problems first hand.

I still use break out boards and DIN-rail mounted terminal blocks for prototypes. Now with all the PCB prototype houses available, you can buy PCB’s in very small volumes with no NRE, so it makes sense to look at making PCBs even for very low volume designs. For example, with a credit card, for $96 plus shipping I can get, in four days, from Sierra Proto Express three double layer boards of the same design up to 60 sq in each (update 9/27/07 – well, Sierra’s changed their No Touch a bit; they claim the new pricing is even less expensive).

The idea is to design custom circuit boards to interface between my components (sensors, pneumatics, etc) and my I/O to reduce assembly time, improve reliability, and reduce troubleshooting. The PCB’s are mounted in DIN Rail holders.

Designing a simple 2 layer interface PCB is not that hard. For the first time through, you will need some help learning how to set everything up for the board house.

PCB software appropriate for creating interface PCBs ranges in price from free (e.g. PCB 1-2-3, gEDA) to $1200 $1494(unlimited version of Eagle PCB).

DIN-rail mount PCB holders are available from a number of sources. Two companies with a good selection of products are Phoenix Contact (especially UMK and UM series) and Weidmuller. I’ve used Phoenix Contact’s UMK series.

Phoenix, Weidmuller, Wago, and others make a wide variety of PCB mount terminal blocks including screw, clamp, and IDC. IDC terminals are very nice if the wire size is in the right range. Good sources for small volume electronics parts include Digikey, Mouser, and Jameco.  Mouser typically has Phoenix products available in smaller quantities than Digikey.


June 10, 2007   No Comments