diff --git a/SARduino644-panel.zip b/SARduino644-panel.zip new file mode 100644 index 0000000..3cfcafd Binary files /dev/null and b/SARduino644-panel.zip differ diff --git a/SARduino_644.board.png b/SARduino_644.board.png index d65fcd1..4079218 100644 Binary files a/SARduino_644.board.png and b/SARduino_644.board.png differ diff --git a/SARduino_644.brd b/SARduino_644.brd index 309dc20..c89d177 100644 Binary files a/SARduino_644.brd and b/SARduino_644.brd differ diff --git a/SARduino_644.sch b/SARduino_644.sch index 15c6511..f45823e 100644 Binary files a/SARduino_644.sch and b/SARduino_644.sch differ diff --git a/SARduino_644.schematic.png b/SARduino_644.schematic.png index 179f77a..c422c2e 100644 Binary files a/SARduino_644.schematic.png and b/SARduino_644.schematic.png differ diff --git a/SARduino_644.zip b/SARduino_644.zip index bba5107..5cdd91b 100644 Binary files a/SARduino_644.zip and b/SARduino_644.zip differ diff --git a/panel.cfg b/panel.cfg new file mode 100644 index 0000000..eef3446 --- /dev/null +++ b/panel.cfg @@ -0,0 +1,284 @@ +# This configuration file demonstrates panelizing multiple, different jobs. +# We panelize the HEXAPOD job and several copies of the Proj1 job. + +############################################################################## +# In the [DEFAULT] section you can create global names to save typing the same +# directory name, for example, over and over. +############################################################################## +[DEFAULT] + +# Change projdir to wherever your project files are, for example: +# +# projdir = /home/stuff/projects/test +# +# or relative pathname from where you are running GerbMerge +# +# projdir = testdata +# +# or if all files are in the current directory (as in this example): +# +# projdir = . +projdir = . + +# For convenience, this is the base name of the merged output files. +MergeOut = merge2 + +############################################################################# +# The [Options] section defines settings that control how the input files are +# read and how the output files are generated. +############################################################################# +[Options] + +################################################################ +# +# Settings that are very important +# +################################################################ + +# Option indicating name of file that maps Excellon tool codes to drill sizes. +# This is not necessary if the Excellon files have embedded tool sizes, or if a +# tool list is specified as part of the job description. The ToolList option +# here is the "last resort" for mapping tool codes to tool sizes. Most recent +# PCB programs embed drill size information right in the Excellon file, so this +# option should not be necessary and can be commented out. +#ToolList=proj1.drl + +# Optional indication of the number of decimal places in input Excellon drill +# files. The default is 4 which works for recent versions of Eagle (since +# version 4.11r12), as well as Orcad and PCB. Older versions of Eagle use 3 +# decimal places. +#ExcellonDecimals = 4 + +################################################################ +# +# Settings that are somewhat important +# +################################################################ + +# Which layers to draw cut lines on. Omit this option or set to 'None' for no +# cut lines. Cut lines are borders around each job that serve as guides for +# cutting the panel into individual jobs. Option 'CutLineWidth' sets the +# thickness of these cut lines. +# +# NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase +# letters below. +CutLineLayers = *topsilkscreen,*bottomsilkscreen + +# Which layers to draw crop marks on. Omit this option or set to 'None' for no +# crop marks. Crop marks are small L-shaped marks at the 4 corners of the final +# panel. These practically define the extents of the panel and are required by +# some board manufacturers. Crop marks are also required if you want to leave +# extra space around the final panel for tooling or handling. Option +# 'CropMarkWidth' sets the thickness of these crop marks. +# +# NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase +# letters below. +CropMarkLayers = *topsilkscreen,*bottomsilkscreen + +OutlineLayers = *toplayer,*bottomlayer,*topsilkscreen,*bottomsilkscreen,*topsoldermask,*bottomsoldermask + +# Set this option to the name of a file in which to write a Gerber fabrication +# drawing. Some board manufacturers require a fabrication drawing with panel +# dimensions and drill hit marks and drill legend. There's no harm in creating +# this file...you can ignore it if you don't need it. +FabricationDrawingFile = %(mergeout)s.fab + +# If FabricationDrawingFile is specified, you can provide an optional file name +# of a file containing arbitrary text to add to the fabrication drawing. This +# text can indicate manufacturing information, contact information, etc. +#FabricationDrawingText = %(projdir)s/fabdwg.txt + +# Option to generate leading zeros in the output Excellon drill file, i.e., to +# NOT use leading-zero suppression. Some Gerber viewers cannot properly guess +# the Excellon file format when there are no leading zeros. Set this option to +# 1 if your Gerber viewer is putting the drill holes in far off places that do +# not line up with component pads. +ExcellonLeadingZeros = 0 + +# Optional additional Gerber layer on which to draw a rectangle defining the +# extents of the entire panelized job. This will create a Gerber file (with +# name specified by this option) that simply contains a rectangle defining the +# outline of the final panel. This outline file is useful for circuit board +# milling to indicate a path for the router tool. There's no harm in creating +# this file...you can ignore it if you don't need it. +OutlineLayerFile = %(mergeout)s.oln + +# Optional additional Gerber layer on which to draw horizontal and vertical +# lines describing where to score (i.e., V-groove) the panel so that jobs +# can easily snap apart. These scoring lines will be drawn half-way between +# job borders. +ScoringFile = %(mergeout)s.sco + +# Set the maximum dimensions of the final panel, if known. You can set the +# dimensions of the maximum panel size supported by your board manufacturer, +# and GerbMerge will print an error message if your layout exceeds these +# dimensions. Alternatively, when using automatic placement, the panel sizes +# listed here constrain the random placements such that only placements that +# fit within the given panel dimensions will be considered. The dimensions are +# specified in inches. +PanelWidth = 3.93 +PanelHeight = 3.93 + +# Set the amount of extra space to leave around the edges of the panel to +# simplify tooling and handling. These margins are specified in inches, and +# default to 0" if not specified. These spacings will only be visible to the +# board manufacturer if you enable crop marks (see CropMarkLayers above) or use +# an OutlineLayer. +#LeftMargin = 0.1 +#RightMargin = 0.1 +#TopMargin = 0.1 +#BottomMargin = 0.1 + +################################################################ +# +# Settings that are probably not important +# +################################################################ + +# Set the inter-job spacing (inches) in both the X-dimension (width) and +# Y-dimension (height). Normally these would be the same unless you're trying +# really hard to make your jobs fit into a panel of exact size and you need to +# tweak these spacings to make it work. 0.125" is probably generous, about half +# that is practical for using a band saw, but you probably want to leave it at +# 0.125" if you have copper features close to the board edges and/or are using +# less precise tools, like a hacksaw, for separating the boards. +XSpacing = 0.0625 +YSpacing = 0.0625 + +# Width of cut lines, in inches. The default value is 0.01". These are drawn on +# the layers specified by CutLineLayers. +CutLineWidth = 0.01 + +# Width of crop marks, in inches. The default value is 0.01". These are drawn on +# the layers specified by CropMarkLayers. +CropMarkWidth = 0.01 + +# This option is intended to reduce the probability of forgetting to include a +# layer in a job description when panelizing two or more different jobs. +# Unless this option is set to 1, an error will be raised if some jobs do not +# have the same layer names as the others, i.e., are missing layers. For +# example, if one job has a top-side soldermask layer and another doesn't, that +# could be a mistake. Setting this option to 1 prevents this situation from +# raising an error. +AllowMissingLayers = 1 + +# This option is intended to reduce the number of drills in the output by +# eliminating drill sizes that are too close to make a difference. For example, +# it probably does not make sense to have two separate 0.031" and 0.0315" +# drills. The DrillClusterTolerance value specifies how much tolerance is +# allowed in drill sizes, in units of inches. Multiple drill tools that span +# twice this tolerance will be clustered into a single drill tool. For example, +# a set of 0.031", 0.0315", 0.032", and 0.034" drills will all be replaced by a +# single drill tool of diameter (0.031"+0.034")/2 = 0.0325". It is guaranteed +# that all original drill sizes will be no farther than DrillClusterTolerance +# from the drill tool size generated by clustering. +# +# Setting DrillClusterTolerance to 0 disables clustering. +DrillClusterTolerance = 0.002 + +# Use this option to automatically thicken features on particular layers. This +# is intended for thickening silkscreen to some minimum width. The value of +# this option must be a comma-separated list of layer names followed by minimum +# feature sizes (in inches) for that layer. Comment this out to disable thickening. +MinimumFeatureSize = *topsilkscreen,0.008,*bottomsilkscreen,0.008 + +############################################################################## +# This section sets the name of merged output files. Each assignment below +# specifies a layer name and the file name that is to be written for that +# merged layer. Except for the BoardOutline and Drills layer names, all other +# layer names must begin with an asterisk '*'. The special layer name Placement +# is used to specify the placement file that can be used with the +# '--place-file' command-line option in a future invocation of GerbMerge. The +# special layer name ToolList is used to specify the file name that represents +# the tool list for the panelized job. +# +# By default, if this section is omitted or no layername=filename assignment is +# made, the following files are generated: +# +# BoardOutline = merged.boardoutline.ger +# Drills = merged.drills.xln +# Placement = merged.placement.txt +# ToolList = merged.toollist.drl +# *layername = merged.layername.ger +# (for example: 'merged.toplayer.ger', 'merged.silkscreen.ger') +# +# Any assignment that does not begin with '*' or is not one of the reserved +# names BoardOutline, Drills, ToolList, or Placement is a generic string +# assignment that can be used for string substitutions, to save typing. +############################################################################## +[MergeOutputFiles] +Prefix = %(mergeout)s + +*TopLayer=%(prefix)s.GTL +*BottomLayer=%(prefix)s.GBL +*TopSilkscreen=%(prefix)s.GTO +*BottomSilkscreen=%(prefix)s.GBO +*TopSoldermask=%(prefix)s.GTS +*BottomSoldermask=%(prefix)s.GBS +Drills=%(prefix)s.TXT +BoardOutline=%(prefix)s.bor +ToolList = toollist.%(prefix)s.drl +Placement = placement.%(prefix)s.txt + +############################################################################## +# The remainder of the file specifies the jobs to be panelized. Each job is +# specified in its own section. To each job you can assign a job name, which +# will be the name of the section in square brackets (e.g., [Proj1]). This job +# name is used in the layout file (if used) to refer to the job. +# +# Job names are case-sensitive, but do not create job names that are the same +# except for the case of the characters, as this may cause problems during +# layout. Job names may only contain the following characters: +# +# a-z A-Z 0-9 _ +# +# In addition, job names must begin with a letter (a-z or A-Z). +############################################################################## +[SARduino_644] + +# You can set any options you like to make generating filenames easier, like +# Prefix. This is just a helper option, not a reserved name. Note, however, +# that you must write %(prefix)s below, in ALL LOWERCASE. +# +# Note how we are making use of the 'projdir' string defined way up at the top +# in the [DEFAULT] section to save some typing. By setting 'projdir=somedir' +# the expression '%(projdir)s/proj1' expands to 'somedir/proj1'. +Prefix=%(projdir)s/SARduino_644 + +# List all the layers that participate in this job. Required layers are Drills +# and BoardOutline and have no '*' at the beginning. Optional layers have +# names chosen by you and begin with '*'. You should choose consistent layer +# names across all jobs. +*TopLayer=%(prefix)s.GTL +*BottomLayer=%(prefix)s.GBL +*TopSilkscreen=%(prefix)s.GTO +*BottomSilkscreen=%(prefix)s.GBO +*TopSoldermask=%(prefix)s.GTS +*BottomSoldermask=%(prefix)s.GBS +Drills=%(prefix)s.TXT +BoardOutline=%(prefix)s.BOR + +# If this job does not have drill tool sizes embedded in the Excellon file, it +# needs to have a separate tool list file that maps tool names (e.g., 'T01') to +# tool diameter. This may be the global tool list specified in the [Options] +# section with the ToolList parameter. If this job doesn't have embedded tool +# sizes, and uses a different tool list than the global one, you can specify it +# here. +#ToolList=proj1.drl + +# If this job has a different ExcellonDecimals setting than the global setting +# in the [Options] section above, it can be overridden here. +#ExcellonDecimals = 3 + +# You can set a 'Repeat' parameter for this job when using automatic placement +# (i.e., no *.def file) to indicate how many times this job should appear in +# the final panel. When using manual placement, this option is ignored. +#Repeat = 11 + +#[Hexapod] +#Prefix=%(projdir)s/hexapod +#*TopLayer=%(prefix)s.cmp +#*BottomLayer=%(prefix)s.sol +#*TopSilkscreen=%(prefix)s.plc +#Drills=%(prefix)s.xln +#BoardOutline=%(prefix)s.bor diff --git a/panel.layout b/panel.layout new file mode 100644 index 0000000..feddbbe --- /dev/null +++ b/panel.layout @@ -0,0 +1,6 @@ +Row { + Col { + SARduino_644 + SARduino_644 + } +}