Arduino Forum

Development => Other Hardware Development => Topic started by: liuzengqiang on Feb 28, 2011, 03:55 am

Title: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on Feb 28, 2011, 03:55 am
I'm just exploring the possibility to manufacture my small 9*5cm^2 boards by populating them on 1000cm^2 boards. If I use EAGLE light version ($50+), is there a way in EAGLE to make the exported cam files so that the 1000cm^2 board contains multiple 9*5 boards?

Can you do it if you use standard license ($1K) EAGLE? Thank you!
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: RuggedCircuits on Feb 28, 2011, 04:03 am
You can combine the boards using GerbMerge (http://andrewsterian.com/Software/gerbmerge/index.html)

--
The Arduino Drum Machine (http://kck.st/faK7R4): 14-track MIDI drum machine sequencer / groove-box
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on Feb 28, 2011, 06:04 am
Thanks RuggedCircuits. It's hard to work on. I installed Phthon, mx-base, guessing I installed simpleparse2.0. The GerbMerge won't install. I dissected its install file and put everything in the right folder. Gerbmerge.bat still won't run.

ImportError: DLL load failed: %1 is not a valid Win32 application.

Do I have to install Python 2.4 or 2.3 (like the bat file says in its content)?
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: RuggedCircuits on Feb 28, 2011, 06:12 am
You may have to edit the gerbmerge.bat file for your version of Python (I believe the default one that ships with it is hard-coded for a particular Python version). The .bat file is really just a typing-saver so you can look inside it to see what it's really doing and type the command by hand, substituting the right Python directories.

It's more surprising/concerning that it didn't install. Perhaps PM me with the error message(s) -- I doubt this forum's readers will benefit from a protracted debugging session ;)

--
The Gadget Shield (http://ruggedcircuits.com/html/gadget_shield.html): accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: westfw on Feb 28, 2011, 06:59 am
In most cases, a PCB manufacturer will either be willing to "step and repeat" your design as many times as will fit on one "panel", OR they will be unhappy that you have done so manually...
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: RuggedCircuits on Feb 28, 2011, 07:02 am
True, but some of the best prototyping deals (e.g., Gold Phoenix) expect and allow pre-panelized boards. It's nice to have the option. It's especially a useful thing to know how to do when you're trying to combine multiple boards, not just step-and-repeat.

--
The Aussie Shield (http://ruggedcircuits.com/html/aussie_shield.html): breakout all 28 pins to quick-connect terminals
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on Feb 28, 2011, 08:04 am
Thanks a lot guys!
I tried again, only this time installed everything with the same version mentioned in the gerbmerge and everything installed. Guess python is not the best for cross version compatibility.

Now when I tried the test code like gerbmerge layout1.cfg layout1.def I get the following thing:

Here's the error message. Hope my mistake(s) can help others learn!

Reading data from Proj1 ...
Job Proj1:
  Extents: (7400,4770)-(112100,98730)
  Size: 1.047000" x 0.939600"

Trimming Excellon data to board outlines ...
Trimming Gerber data to board outlines ...
Performing layout ...
Traceback (most recent call last):
  File "c:\python24\lib\site-packages\gerbmerge\gerbmerge.py", line 344, in ?
    Layout = parselayout.parseLayoutFile(args[1])
  File "C:\Python24\Lib\site-packages\gerbmerge\parselayout.py", line 313, in pa
rseLayoutFile
    parser = Parser(declaration, "file")
  File "C:\Python24\Lib\site-packages\simpleparse\parser.py", line 36, in __init
__
    definitionSources = definitionSources,
  File "C:\Python24\Lib\site-packages\simpleparse\simpleparsegrammar.py", line 4
42, in __init__
    raise ValueError(
ValueError: Unable to complete parsing of the EBNF, stopped at line 17 (739 char
s of 753)
Unparsed:
int := [0-9]+
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: bitsltd on May 05, 2011, 10:25 pm
Just going into parselayout.py and commenting out the line fixed it for me (# int := [0-9]+).
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: wayneft on May 05, 2011, 11:47 pm
Why not just panelize the design in Eagle? 
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on May 06, 2011, 12:17 am

Why not just panelize the design in Eagle? 

wayneft,

Could you give me a pointer to how to do this in EAGLE? I'm very interested. Thanks.
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: wayneft on May 06, 2011, 12:31 am
Sure.

Open your board file. 
Run panelize.ulp (from the ULP button)
Group the entire board
hit the CUT (scissors) button
click on the group so it cuts it to the buffer
Now if you are going to panelize the board file you have open you have to close the schematic out or it will not work, if not just open a new board file.
then just hit the PASTE button and place the board down.
Keep hitting the PASTE button over and over again until you have what you want. 
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: westfw on May 06, 2011, 01:28 am
The "panelize" utilities that run in eagle are limited in their total size by whatever license you have.
EAGLE will  let you cheat the license somewhat by drawing tracks outside the allowed boundaries, but you can't put part origins beyond the limits...
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: 48X24X48X on May 06, 2011, 05:49 am
If you want to skip all the trouble, get a Pentalogic Viewmate for USD95. It can merge multiple gerber. But, if you have time, go for GerbMerge. I use Diptrace, so I don't need Viewmate, as I can panel the PCB in the program itself. Although for single design they have pin limits based on license, for panel process there's no pins limitation. :)
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: westfw on May 06, 2011, 07:41 am
The CAM processor has a box for X and Y offset.  It looks like you can use that and ALMOST just copy the resulting gerber files together.  (at least, the simple example I tried was readable by gerbv)  That in turn should be automateable without too much effort.  (It doesn't seem to work for all output devices, though.  It failed for eps, for example.  But there should be easier ways to panelize postscript, anyway.)
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on May 06, 2011, 05:46 pm
Thank you very much guys! My EAGLE license is light. I can't afford a standard license.

westfw, I will try your method. It seems more straight-forward to me. At least I know what I'm doing is just shifting coordinates with a CAM and combine files. This will give me a chance to learn a Gerber file. Will try it soon. Maybe if I get excited, I'll pull out Processing and just write a program to do this for me. I really don't like using Python codes, which I respect but don't know how to use at all. I can handle C++/java.
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: mmcp42 on May 06, 2011, 10:23 pm
I may be wrong but I thought that Eagle light was not supposed to be used for manufacturing/production?!?
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: liuzengqiang on May 06, 2011, 10:40 pm
I only do small production of 100 or so and don't know yet how to panelize with EAGLE. What quantity do you consider production? I don't really know if EAGLE is used in larger productions but I suspect it's true.
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: RuggedCircuits on May 06, 2011, 10:48 pm
The Eagle Freeware page describes the limitations:

http://cadsoft.de/freeware.htm

Basically, if you make money from your Eagle design then you have to pay for Eagle.

--
The Gadget Shield (http://ruggedcircuits.com/html/gadget_shield.html): accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: Senso on May 06, 2011, 11:03 pm
Easy solution is to switch to Kicad, free and unlimited.
Title: Re: Making 1000cm^2 boards using EAGLE
Post by: westfw on May 07, 2011, 12:24 am
Quote
I may be wrong but I thought that Eagle light was not supposed to be used for manufacturing/production?!?

EAGLE "freeware" is not supposed to be used for for-profit purposes.  If you're going to sell PCBs, you should pony up the whopping $49 to get the "lite" version that has the same limitations without the non-profit restriction.  It is possible to get well into "manufacturing/production" without being "for-profit" (for instance, in an educational setting), but $50 is cheap moral insurance...

Quote
Easy solution is to switch to Kicad, free and unlimited.

I doubt your definitions of both "Easy" and "unlimited"... :-(