├── README.md ├── altium └── push-for-altium-outjob │ ├── README.md │ ├── push-to-aisler-deprecated.Outjob │ └── push-to-aisler-odb.Outjob ├── diptrace ├── aisler-2-layer-complex │ └── aisler-2-layer-complex.rul ├── aisler-2-layer-simple │ └── aisler-2-layer-simple.rul └── aisler-4-layer-complex │ └── aisler-4-layer-complex.rul ├── eagle ├── cam │ ├── AISLER-2-Layer.cam │ ├── AISLER-4-Layer.cam │ └── legacy │ │ ├── aisler_2_layer.cam │ │ ├── aisler_4_layer.cam │ │ ├── ipc-d-356.ulp │ │ └── mount.ulp ├── drc │ ├── aisler_2_layer_complex.dru │ ├── aisler_2_layer_simple.dru │ └── aisler_4_layer_complex.dru └── readme.md ├── flux.ai └── README.md ├── kicad ├── aisler-2-layer-hd-drc │ ├── aisler-2-layer-hd-drc.kicad_dru │ ├── aisler-2-layer-hd-drc.kicad_pcb │ ├── aisler-2-layer-hd-drc.kicad_pro │ └── aisler-2-layer-hd-drc.kicad_sch ├── aisler-2-layer-simple-drc │ ├── aisler-2-layer-simple-drc.kicad_dru │ ├── aisler-2-layer-simple-drc.kicad_pcb │ ├── aisler-2-layer-simple-drc.kicad_pro │ └── aisler-2-layer-simple-drc.kicad_sch └── aisler-4-layer-hd-drc │ ├── aisler-4-layer-hd-drc.kicad_dru │ ├── aisler-4-layer-hd-drc.kicad_pcb │ ├── aisler-4-layer-hd-drc.kicad_pro │ └── aisler-4-layer-hd-drc.kicad_sch └── ultiboard-deprecated └── cam └── aisler_ultiboard_export.uxcfg /README.md: -------------------------------------------------------------------------------- 1 | # AISLER Support 2 | 3 | This repository contains files that are useful for support. 4 | 5 | Please note that the design rules provided here constitute the limit of our manufacturing capabilities. 6 | Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum. 7 | 8 | Everything else you will find in our [Community]([https://aisler.community/](https://aisler.community/c/knowledge-base/14)) 9 | 10 | 11 | ## License 12 | 13 | AISLER Support files are Copyright © 2023 by AISLER B.V. It is free software, and may be 14 | redistributed under the terms specified in the license file. 15 | 16 | ## About AISLER 17 | 18 | ![AISLER](https://aisler.net/logos/logo_medium.png) 19 | 20 | Looking for industry quality and affordable PCBs, visit us at [AISLER](https://aisler.net) 21 | 22 | -------------------------------------------------------------------------------- /altium/push-for-altium-outjob/README.md: -------------------------------------------------------------------------------- 1 | # Push for Altium Designer 2 | _WIP_ -------------------------------------------------------------------------------- /altium/push-for-altium-outjob/push-to-aisler-deprecated.Outjob: -------------------------------------------------------------------------------- 1 | [OutputJobFile] 2 | Version=1.0 3 | Caption= 4 | Description= 5 | VaultGUID= 6 | ItemGUID= 7 | ItemHRID= 8 | RevisionGUID= 9 | RevisionId= 10 | VaultHRID= 11 | AutoItemHRID= 12 | NextRevId= 13 | FolderGUID= 14 | LifeCycleDefinitionGUID= 15 | RevisionNamingSchemeGUID= 16 | 17 | [OutputGroup1] 18 | Name=push-to-aisler.Outjob 19 | Description= 20 | TargetOutputMedium=Files for AISLER 21 | VariantName=[No Variations] 22 | VariantScope=1 23 | CurrentConfigurationName= 24 | TargetPrinter=Microsoft Print to PDF 25 | PrinterOptions=Record=PrinterOptions|Copies=1|Duplex=1|TrueTypeOptions=3|Collate=1|PrintJobKind=1|PrintWhat=1 26 | OutputMedium1=Push to AISLER 27 | OutputMedium1_Type=GeneratedFiles 28 | OutputMedium2=Files for AISLER 29 | OutputMedium2_Type=GeneratedFiles 30 | OutputType1=Gerber X2 31 | OutputName1=Gerber X2 Files 32 | OutputCategory1=Fabrication 33 | OutputDocumentPath1=WiFi.PcbDoc 34 | OutputVariantName1= 35 | OutputEnabled1=1 36 | OutputEnabled1_OutputMedium1=1 37 | OutputEnabled1_OutputMedium2=1 38 | OutputDefault1=0 39 | Configuration1_Name1=OutputConfigurationParameter1 40 | Configuration1_Item1=BoardID=WAJOUTNJ|FileComment= |FileSubject=Autodetect|GenerateDRCRulesFile=False|GenerateReports=True|GerberUnit=Metric|IncludeUnconnectedMidLayerPads=True|MergePadAndRegion=False|MinusApertureTolerance=39|NumberOfDecimals=3|OptimizeChangeLocationCommands=True|PlotBackDrillingPairs=False|PlotBlindViasPairs=False|PlotBoardProfile=True|PlotBoardProfileFileName=WiFi_Profile.gbr|PlotCounterHolesPairs=True|PlotDrillDrawingPair0_Backdrill=False|PlotDrillDrawingPair0_Checked=False|PlotDrillDrawingPair0_DrillType=Regular|PlotDrillDrawingPair0_FileName=WiFi_Drawing_1.gbr|PlotDrillDrawingPair0_HighLayer=Bottom Layer|PlotDrillDrawingPair0_LowLayer=Top Layer|PlotDrillDrawingPairs=False|PlotDrillGuidePair0_Backdrill=False|PlotDrillGuidePair0_Checked=False|PlotDrillGuidePair0_DrillType=Regular|PlotDrillGuidePair0_FileName=WiFi_Drillmap_1.gbr|PlotDrillGuidePair0_HighLayer=Bottom Layer|PlotDrillGuidePair0_LowLayer=Top Layer|PlotDrillGuidePairs=False|PlotMicroViasPairs=True|PlotNPTHPair0_Backdrill=False|PlotNPTHPair0_Checked=True|PlotNPTHPair0_DrillType=Regular|PlotNPTHPair0_FileName= |PlotNPTHPair0_HighLayer=Top Layer|PlotNPTHPair0_LowLayer=Bottom Layer|PlotNPTHPairs=False|PlotPTHPair0_Backdrill=False|PlotPTHPair0_Checked=True|PlotPTHPair0_DrillType=Regular|PlotPTHPair0_FileName= |PlotPTHPair0_HighLayer=Top Layer|PlotPTHPair0_LowLayer=Bottom Layer|PlotPTHPairs=False|PlotX2.Set=SerializeLayerHash.Version~2,ClassName~TPlotLayerStateArray,16777217~1,16973835~1,16973833~1,16973832~1,16842751~1,16973834~1,16842754~1,16842753~1,16777219~1,16777218~1,16973831~1,16973830~1|PlusApertureTolerance=39|Record=GerberX2View|Sorted=False|UserLayerName.Caption0=WiFi_Legend_Bot.gbr|UserLayerName.Caption1=WiFi_Paste_Top.gbr|UserLayerName.Caption10=WiFi_Copper_Signal_1.gbr|UserLayerName.Caption11=WiFi_Bottom_3D.gbr|UserLayerName.Caption12=WiFi_Soldermask_Bot.gbr|UserLayerName.Caption13=WiFi_Copper_Signal_2.gbr|UserLayerName.Caption14=WiFi_Outline.gbr|UserLayerName.Caption15=WiFi_Copper_Signal_Bot.gbr|UserLayerName.Caption16=WiFi_Route_Tool_Path.gbr|UserLayerName.Caption17=WiFi_Placement_Outline_Top.gbr|UserLayerName.Caption18=WiFi_OGR.gbr|UserLayerName.Caption19=WiFi_Copper_Signal_Top.gbr|UserLayerName.Caption2=WiFi_Legend_Top.gbr|UserLayerName.Caption20=WiFi_Paste_Bot.gbr|UserLayerName.Caption3=WiFi_Soldermask_Top.gbr|UserLayerName.Caption4=WiFi_Dimensions.gbr|UserLayerName.Caption5=WiFi_Placement_Outline_Bottom.gbr|UserLayerName.Caption6=WiFi_Top_3D.gbr|UserLayerName.Caption7=WiFi_Keep-out.gbr|UserLayerName.Caption8=WiFi_Pads_Top.gbr|UserLayerName.Caption9=WiFi_Pads_Bot.gbr|UserLayerName.Count=21|UserLayerName.Layer0=16973831|UserLayerName.Layer1=16973832|UserLayerName.Layer10=16777218|UserLayerName.Layer11=16908297|UserLayerName.Layer12=16973835|UserLayerName.Layer13=16777219|UserLayerName.Layer14=16908289|UserLayerName.Layer15=16842751|UserLayerName.Layer16=16908320|UserLayerName.Layer17=16908303|UserLayerName.Layer18=16908291|UserLayerName.Layer19=16777217|UserLayerName.Layer2=16973830|UserLayerName.Layer20=16973833|UserLayerName.Layer3=16973834|UserLayerName.Layer4=16908292|UserLayerName.Layer5=16908290|UserLayerName.Layer6=16908301|UserLayerName.Layer7=16973837|UserLayerName.Layer8=16973848|UserLayerName.Layer9=16973849|DocumentPath=WiFi.PcbDoc 41 | OutputType2=Test Points For Assembly 42 | OutputName2=Test Point Report 43 | OutputCategory2=Assembly 44 | OutputDocumentPath2=WiFi.PcbDoc 45 | OutputVariantName2= 46 | OutputEnabled2=1 47 | OutputEnabled2_OutputMedium1=2 48 | OutputEnabled2_OutputMedium2=2 49 | OutputDefault2=0 50 | Configuration2_Name1=OutputConfigurationParameter1 51 | Configuration2_Item1=AssyAdjacencyDistance=250000|AssyGenerateCSVFormat=False|AssyGenerateIPCFormat=True|AssyGenerateSpreadSheetFormat=False|AssyGenerateTextFormat=False|AssyMergeNetTieNets=False|AssyOriginPosition=Relative|AssyOutlineLayer=56|AssyOutputAdjancencies=False|AssyOutputBoardOutline=False|AssyOutputTraces=False|AssyReportBottomLayerTestpoints=True|AssyReportTopLayerTestpoints=True|AssyUnits=Imperial|Record=TestPointView|DocumentPath=C:\Users\Skylake\Documents\Altium\PX31B003_B0_95x115.PcbDoc 52 | OutputType3=BOM_PartType 53 | OutputName3=Bill of Materials 54 | OutputCategory3=Report 55 | OutputDocumentPath3=WiFi.PcbDoc 56 | OutputVariantName3= 57 | OutputEnabled3=1 58 | OutputEnabled3_OutputMedium1=3 59 | OutputEnabled3_OutputMedium2=3 60 | OutputDefault3=0 61 | PageOptions3=Record=PageOptions|CenterHorizontal=True|CenterVertical=True|PrintScale=1.00|XCorrection=1.00|YCorrection=1.00|PrintKind=1|BorderSize=5000000|LeftOffset=0|BottomOffset=0|Orientation=2|PaperLength=1000|PaperWidth=1000|Scale=100|PaperSource=7|PrintQuality=-3|MediaType=1|DitherType=10|PrintScaleMode=1|PaperKind=A4|PaperIndex=9 62 | Configuration3_Name1=ColumnNameFormat 63 | Configuration3_Item1=CaptionAsName 64 | Configuration3_Name2=General 65 | Configuration3_Item2=OpenExported=False|AddToProject=False|ReportBOMViolationsInMessages=False|ForceFit=False|NotFitted=False|Database=False|DatabasePriority=False|IncludePcbData=True|IncludeVaultData=False|IncludeCloudData=False|IncludeDocumentData=True|IncludeAlternatives=False|ShowExportOptions=True|TemplateFilename=|TemplateVaultGuid=|TemplateItemGuid=|TemplateRevisionGuid=|BatchMode=4|FormWidth=1768|FormHeight=899|SupplierProdQty=1|SupplierAutoQty=False|SupplierUseCachedPricing=False|SupplierCurrency=USD|SolutionsPerItem=1|SuppliersPerSolution=1|ViewType=1|UseDirectApi=False|BomSetName= 66 | Configuration3_Name3=GroupOrder 67 | Configuration3_Item3= 68 | Configuration3_Name4=SortOrder 69 | Configuration3_Item4=Designator=Up|Comment=Up|Footprint=Up 70 | Configuration3_Name5=VisibleOrder 71 | Configuration3_Item5=Comment=100|Designator=100|Footprint=100|Center-X(mm)=100|Center-Y(mm)=100|Mounting Technology=100|PartNumber=100|Layer=100|Rotation=100|Description=100|Part Number=100|MountingTechnology=100|Mount=100 72 | Configuration3_Name6=VisibleOrder_Flat 73 | Configuration3_Item6=Comment=100|Designator=100|Footprint=100|Center-X(mm)=100|Center-Y(mm)=100|Mounting Technology=100|PartNumber=100|Layer=100|Rotation=100|Description=100|Part Number=100|MountingTechnology=100|Mount=100 74 | 75 | [PublishSettings] 76 | OutputFilePath1=C:\Windows\Temp\AISLER\ 77 | ReleaseManaged1=0 78 | OutputBasePath1=C:\Windows\Temp\ 79 | OutputPathMedia1=AISLER 80 | OutputPathMediaValue1=AISLER 81 | OutputPathOutputer1= 82 | OutputPathOutputerPrefix1= 83 | OutputPathOutputerValue1= 84 | OutputFileName1= 85 | OutputFileNameMulti1=output 86 | UseOutputNameForMulti1=0 87 | OutputFileNameSpecial1= 88 | OpenOutput1=0 89 | OutputFilePath2=.\Files for AISLER\ 90 | ReleaseManaged2=0 91 | OutputBasePath2=.\ 92 | OutputPathMedia2=[Media Name] 93 | OutputPathMediaValue2= 94 | OutputPathOutputer2=[Output Custom] 95 | OutputPathOutputerPrefix2= 96 | OutputPathOutputerValue2==ProjectName 97 | OutputFileName2= 98 | OutputFileNameMulti2=output 99 | UseOutputNameForMulti2=0 100 | OutputFileNameSpecial2= 101 | OpenOutput2=0 102 | 103 | [GeneratedFilesSettings] 104 | RelativeOutputPath1=C:\Windows\Temp\AISLER\ 105 | OpenOutputs1=0 106 | AddToProject1=0 107 | TimestampFolder1=0 108 | UseOutputName1=0 109 | OpenODBOutput1=0 110 | OpenGerberOutput1=0 111 | OpenNCDrillOutput1=0 112 | OpenIPCOutput1=0 113 | EnableReload1=0 114 | RelativeOutputPath2=.\Files for AISLER\ 115 | OpenOutputs2=0 116 | AddToProject2=0 117 | TimestampFolder2=0 118 | UseOutputName2=0 119 | OpenODBOutput2=0 120 | OpenGerberOutput2=0 121 | OpenNCDrillOutput2=0 122 | OpenIPCOutput2=0 123 | EnableReload2=0 124 | 125 | -------------------------------------------------------------------------------- /altium/push-for-altium-outjob/push-to-aisler-odb.Outjob: -------------------------------------------------------------------------------- 1 | [OutputJobFile] 2 | Version=1.0 3 | Caption= 4 | Description= 5 | VaultGUID= 6 | ItemGUID= 7 | ItemHRID= 8 | RevisionGUID= 9 | RevisionId= 10 | VaultHRID= 11 | AutoItemHRID= 12 | NextRevId= 13 | FolderGUID= 14 | LifeCycleDefinitionGUID= 15 | RevisionNamingSchemeGUID= 16 | 17 | [OutputGroup1] 18 | Name= 19 | Description= 20 | TargetOutputMedium=Push to AISLER 21 | VariantName=[No Variations] 22 | VariantScope=1 23 | CurrentConfigurationName= 24 | TargetPrinter= 25 | PrinterOptions=Record=PrinterOptions|Copies=1|Duplex=1|TrueTypeOptions=3|Collate=1|PrintJobKind=1|PrintWhat=1 26 | OutputMedium1=Push to AISLER 27 | OutputMedium1_Type=GeneratedFiles 28 | OutputMedium2=ODB++ Files for AISLER 29 | OutputMedium2_Type=GeneratedFiles 30 | OutputType1=ODB 31 | OutputName1=ODB++ Files 32 | OutputCategory1=Fabrication 33 | OutputDocumentPath1= 34 | OutputVariantName1= 35 | OutputEnabled1=1 36 | OutputEnabled1_OutputMedium1=1 37 | OutputEnabled1_OutputMedium2=1 38 | OutputDefault1=0 39 | Configuration1_Name1=OutputConfigurationParameter1 40 | Configuration1_Item1=Compression_None=False|Compression_tar_tgz=False|Compression_zip=True|DifferentFootprints=False|ExportPositivePlaneLayers=False|GenerateDRCRulesFile=False|IncludeUnconnectedMidLayerPads=False|MergeNetTieNets=False|ObjsInsideBoardOutlineOnly=False|ODBProfileLayer=-1000|ODBProfileLayerV7=-1|PlotBackDrillingPairs=False|PlotBlindViasPairs=False|PlotBottomLayerPlot=True|PlotBottomOverlayPlot=True|PlotBottomPastePlot=True|PlotBottomSolderPlot=True|PlotCounterHolesPairs=False|PlotDrillDrawingPair0_DrillType=Regular|PlotDrillDrawingPair0_HighLayer=Bottom Layer|PlotDrillDrawingPair0_LowLayer=Top Layer|PlotDrillDrawingPair0_Plot=False|PlotDrillDrawingPairs=False|PlotDrillGuidePair0_DrillType=Regular|PlotDrillGuidePair0_HighLayer=Bottom Layer|PlotDrillGuidePair0_LowLayer=Top Layer|PlotDrillGuidePair0_Plot=False|PlotDrillGuidePairs=False|PlotInternalPlane10Plot=False|PlotInternalPlane11Plot=False|PlotInternalPlane12Plot=False|PlotInternalPlane13Plot=False|PlotInternalPlane14Plot=False|PlotInternalPlane15Plot=False|PlotInternalPlane16Plot=False|PlotInternalPlane1Plot=False|PlotInternalPlane2Plot=False|PlotInternalPlane3Plot=False|PlotInternalPlane4Plot=False|PlotInternalPlane5Plot=False|PlotInternalPlane6Plot=False|PlotInternalPlane7Plot=False|PlotInternalPlane8Plot=False|PlotInternalPlane9Plot=False|PlotKeepOutLayerPlot=False|PlotMechanical10Plot=False|PlotMechanical11Plot=False|PlotMechanical12Plot=False|PlotMechanical13Plot=False|PlotMechanical14Plot=False|PlotMechanical15Plot=False|PlotMechanical16Plot=False|PlotMechanical1Plot=False|PlotMechanical2Plot=False|PlotMechanical3Plot=False|PlotMechanical4Plot=False|PlotMechanical5Plot=False|PlotMechanical6Plot=False|PlotMechanical7Plot=False|PlotMechanical8Plot=False|PlotMechanical9Plot=False|PlotMicroViasPairs=False|PlotMidLayer10Plot=False|PlotMidLayer11Plot=False|PlotMidLayer12Plot=False|PlotMidLayer13Plot=False|PlotMidLayer14Plot=False|PlotMidLayer15Plot=False|PlotMidLayer16Plot=False|PlotMidLayer17Plot=False|PlotMidLayer18Plot=False|PlotMidLayer19Plot=False|PlotMidLayer1Plot=False|PlotMidLayer20Plot=False|PlotMidLayer21Plot=False|PlotMidLayer22Plot=False|PlotMidLayer23Plot=False|PlotMidLayer24Plot=False|PlotMidLayer25Plot=False|PlotMidLayer26Plot=False|PlotMidLayer27Plot=False|PlotMidLayer28Plot=False|PlotMidLayer29Plot=False|PlotMidLayer2Plot=False|PlotMidLayer30Plot=False|PlotMidLayer3Plot=False|PlotMidLayer4Plot=False|PlotMidLayer5Plot=False|PlotMidLayer6Plot=False|PlotMidLayer7Plot=False|PlotMidLayer8Plot=False|PlotMidLayer9Plot=False|PlotNPTHPair0_DrillType=Regular|PlotNPTHPair0_HighLayer=Top Layer|PlotNPTHPair0_LowLayer=Bottom Layer|PlotNPTHPair0_Plot=True|PlotNPTHPairs=False|PlotPTHPair0_DrillType=Regular|PlotPTHPair0_HighLayer=Top Layer|PlotPTHPair0_LowLayer=Bottom Layer|PlotPTHPair0_Plot=True|PlotPTHPairs=False|PlotTopLayerPlot=True|PlotTopOverlayPlot=True|PlotTopPastePlot=True|PlotTopSolderPlot=True|PlotViaTypeDrillDrawingPairs=False|PlotViaTypeDrillGuidePairs=False|PlotViaTypeDrillPairs=False|Record=ODBView|Units=Metric|DocumentPath=C:\Users\Public\Documents\Altium\PCB_Project\PCB1.PcbDoc 41 | 42 | [PublishSettings] 43 | OutputFilePath1=C:\Windows\Temp\AISLER\ 44 | ReleaseManaged1=0 45 | OutputBasePath1=C:\Windows\Temp\ 46 | OutputPathMedia1=AISLER 47 | OutputPathMediaValue1=AISLER 48 | OutputPathOutputer1=[Output Type] 49 | OutputPathOutputerPrefix1= 50 | OutputPathOutputerValue1= 51 | OutputFileName1= 52 | OutputFileNameMulti1=output 53 | UseOutputNameForMulti1=0 54 | OutputFileNameSpecial1= 55 | OpenOutput1=0 56 | OutputFilePath2=.\AISLER\ 57 | ReleaseManaged2=0 58 | OutputBasePath2=.\ 59 | OutputPathMedia2=AISLER 60 | OutputPathMediaValue2=AISLER 61 | OutputPathOutputer2=[Output Type] 62 | OutputPathOutputerPrefix2= 63 | OutputPathOutputerValue2= 64 | OutputFileName2= 65 | OutputFileNameMulti2= 66 | UseOutputNameForMulti2=1 67 | OutputFileNameSpecial2= 68 | OpenOutput2=1 69 | 70 | [GeneratedFilesSettings] 71 | RelativeOutputPath1=C:\Windows\Temp\AISLER\ 72 | OpenOutputs1=0 73 | AddToProject1=0 74 | TimestampFolder1=0 75 | UseOutputName1=0 76 | OpenODBOutput1=0 77 | OpenGerberOutput1=0 78 | OpenNCDrillOutput1=0 79 | OpenIPCOutput1=0 80 | EnableReload1=0 81 | RelativeOutputPath2=.\AISLER\ 82 | OpenOutputs2=1 83 | AddToProject2=1 84 | TimestampFolder2=0 85 | UseOutputName2=0 86 | OpenODBOutput2=0 87 | OpenGerberOutput2=0 88 | OpenNCDrillOutput2=0 89 | OpenIPCOutput2=0 90 | EnableReload2=0 91 | 92 | -------------------------------------------------------------------------------- /diptrace/aisler-2-layer-complex/aisler-2-layer-complex.rul: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AislerHQ/aisler-support/55bcc1f88e22addb788a44c764f768c9baadf3df/diptrace/aisler-2-layer-complex/aisler-2-layer-complex.rul -------------------------------------------------------------------------------- /diptrace/aisler-2-layer-simple/aisler-2-layer-simple.rul: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AislerHQ/aisler-support/55bcc1f88e22addb788a44c764f768c9baadf3df/diptrace/aisler-2-layer-simple/aisler-2-layer-simple.rul -------------------------------------------------------------------------------- /diptrace/aisler-4-layer-complex/aisler-4-layer-complex.rul: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AislerHQ/aisler-support/55bcc1f88e22addb788a44c764f768c9baadf3df/diptrace/aisler-4-layer-complex/aisler-4-layer-complex.rul -------------------------------------------------------------------------------- /eagle/cam/AISLER-2-Layer.cam: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "email": "support@aisler.net", 4 | "name": "T. Krug" 5 | }, 6 | "description": { 7 | "EN": "Default AISLER CAM file for 2 Layer boards created in Autodesk EAGLE. If you wish to include custom layer please adjust the file accordingly. " 8 | }, 9 | "output_type": "zip", 10 | "outputs": [ 11 | { 12 | "filename_prefix": "CAMOutputs/GerberFiles", 13 | "format_specifier": { 14 | "decimal": 4, 15 | "integer": 3 16 | }, 17 | "generate_job_file": true, 18 | "gerber_job_filepath": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/gerber_job.gbrjob", 19 | "output_type": "gerber", 20 | "outputs": [ 21 | { 22 | "advanced_options": { 23 | "mirror": false, 24 | "offset_x": 0, 25 | "offset_y": 0, 26 | "rotate": false, 27 | "upside_down": false 28 | }, 29 | "board_outline": false, 30 | "config": { 31 | "file_function": "Copper", 32 | "layer": 1, 33 | "layer_details": "mixed", 34 | "layer_type": "top" 35 | }, 36 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/copper_top.gbr", 37 | "layers": [ 38 | 1, 39 | 17, 40 | 18 41 | ], 42 | "name": "Top Copper", 43 | "polarity": "positive", 44 | "type": "gerber_layer" 45 | }, 46 | { 47 | "advanced_options": { 48 | "mirror": false, 49 | "offset_x": 0, 50 | "offset_y": 0, 51 | "rotate": false, 52 | "upside_down": false 53 | }, 54 | "board_outline": false, 55 | "config": { 56 | "file_function": "Copper", 57 | "layer": 2, 58 | "layer_details": "mixed", 59 | "layer_type": "bottom" 60 | }, 61 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/copper_bottom.gbr", 62 | "layers": [ 63 | 16, 64 | 17, 65 | 18 66 | ], 67 | "name": "Bottom Copper", 68 | "polarity": "positive", 69 | "type": "gerber_layer" 70 | }, 71 | { 72 | "advanced_options": { 73 | "mirror": false, 74 | "offset_x": 0, 75 | "offset_y": 0, 76 | "rotate": false, 77 | "upside_down": false 78 | }, 79 | "board_outline": true, 80 | "config": { 81 | "file_function": "Profile", 82 | "plating": "non-plated" 83 | }, 84 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/profile.gbr", 85 | "layers": [ 86 | ], 87 | "milling": true, 88 | "polarity": "positive", 89 | "type": "gerber_layer" 90 | }, 91 | { 92 | "advanced_options": { 93 | "mirror": false, 94 | "offset_x": 0, 95 | "offset_y": 0, 96 | "rotate": false, 97 | "upside_down": false 98 | }, 99 | "board_outline": false, 100 | "config": { 101 | "file_function": "Soldermask", 102 | "index": 1, 103 | "layer_type": "top" 104 | }, 105 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/soldermask_top.gbr", 106 | "layers": [ 107 | 29 108 | ], 109 | "name": "Soldermask Top", 110 | "polarity": "positive", 111 | "type": "gerber_layer" 112 | }, 113 | { 114 | "advanced_options": { 115 | "mirror": false, 116 | "offset_x": 0, 117 | "offset_y": 0, 118 | "rotate": false, 119 | "upside_down": false 120 | }, 121 | "board_outline": false, 122 | "config": { 123 | "file_function": "Soldermask", 124 | "index": 1, 125 | "layer_type": "bottom" 126 | }, 127 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/soldermask_bottom.gbr", 128 | "layers": [ 129 | 30 130 | ], 131 | "name": "Soldermask Bottom", 132 | "polarity": "positive", 133 | "type": "gerber_layer" 134 | }, 135 | { 136 | "advanced_options": { 137 | "mirror": false, 138 | "offset_x": 0, 139 | "offset_y": 0, 140 | "rotate": false, 141 | "upside_down": false 142 | }, 143 | "board_outline": false, 144 | "config": { 145 | "file_function": "Paste", 146 | "layer_type": "top" 147 | }, 148 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/solderpaste_top.gbr", 149 | "layers": [ 150 | 31 151 | ], 152 | "milling": false, 153 | "name": "Solderpaste Top", 154 | "polarity": "positive", 155 | "type": "gerber_layer" 156 | }, 157 | { 158 | "advanced_options": { 159 | "mirror": false, 160 | "offset_x": 0, 161 | "offset_y": 0, 162 | "rotate": false, 163 | "upside_down": false 164 | }, 165 | "board_outline": false, 166 | "config": { 167 | "file_function": "Paste", 168 | "layer_type": "bottom" 169 | }, 170 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/solderpaste_bottom.gbr", 171 | "layers": [ 172 | 32 173 | ], 174 | "milling": false, 175 | "name": "Solderpaste Bottom", 176 | "polarity": "positive", 177 | "type": "gerber_layer" 178 | }, 179 | { 180 | "advanced_options": { 181 | "mirror": false, 182 | "offset_x": 0, 183 | "offset_y": 0, 184 | "rotate": false, 185 | "upside_down": false 186 | }, 187 | "board_outline": false, 188 | "config": { 189 | "file_function": "Legend", 190 | "index": 1, 191 | "layer_type": "top" 192 | }, 193 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/silkscreen_top.gbr", 194 | "layers": [ 195 | 21, 196 | 25 197 | ], 198 | "milling": false, 199 | "name": "Silkscreen Top", 200 | "polarity": "positive", 201 | "type": "gerber_layer" 202 | }, 203 | { 204 | "advanced_options": { 205 | "mirror": false, 206 | "offset_x": 0, 207 | "offset_y": 0, 208 | "rotate": false, 209 | "upside_down": false 210 | }, 211 | "board_outline": false, 212 | "config": { 213 | "file_function": "Legend", 214 | "index": 1, 215 | "layer_type": "bottom" 216 | }, 217 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%PREFIX/silkscreen_bottom.gbr", 218 | "layers": [ 219 | 22, 220 | 26 221 | ], 222 | "milling": false, 223 | "name": "Silkscreen Bottom", 224 | "polarity": "positive", 225 | "type": "gerber_layer" 226 | } 227 | ], 228 | "version": "RS274X" 229 | }, 230 | { 231 | "filename_prefix": "CAMOutputs/DrillFiles", 232 | "format_specifier": { 233 | "decimal": 3, 234 | "integer": 3 235 | }, 236 | "output_type": "drill", 237 | "outputs": [ 238 | { 239 | "drills": { 240 | "NPTH": false, 241 | "PTH": true, 242 | "VIA": true 243 | }, 244 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%DRILLPREFIX/drills_pth.xln", 245 | "layers": { 246 | "from": 1, 247 | "to": 16 248 | }, 249 | "name": "PTH Export", 250 | "type": "excellon" 251 | }, 252 | { 253 | "drills": { 254 | "NPTH": true, 255 | "PTH": false, 256 | "VIA": false 257 | }, 258 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%DRILLPREFIX/holes_npth.xln", 259 | "layers": { 260 | "from": 1, 261 | "to": 16 262 | }, 263 | "name": "NPTH Export", 264 | "type": "excellon" 265 | } 266 | ] 267 | }, 268 | { 269 | "filename_prefix": "CAMOutputs/Assembly", 270 | "output_type": "assembly", 271 | "outputs": [ 272 | ] 273 | }, 274 | { 275 | "filename_prefix": "CAMOutputs/DrawingFiles", 276 | "output_type": "drawing", 277 | "outputs": [ 278 | ] 279 | } 280 | ], 281 | "timestamp": "2024-01-29T12:18:06", 282 | "type": "Fusion 360 Electronics CAM job", 283 | "units": "metric", 284 | "version": "9.2.0" 285 | } 286 | -------------------------------------------------------------------------------- /eagle/cam/AISLER-4-Layer.cam: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "email": "support@aisler.net", 4 | "name": "T. Krug" 5 | }, 6 | "description": { 7 | "EN": "Default AISLER CAM file for 4 Layer boards created in Autodesk EAGLE. If you wish to include custom layer please adjust the file accordingly" 8 | }, 9 | "output_type": "zip", 10 | "outputs": [ 11 | { 12 | "filename_prefix": "CAMOutputs/GerberFiles", 13 | "format_specifier": { 14 | "decimal": 4, 15 | "integer": 3 16 | }, 17 | "generate_job_file": true, 18 | "output_type": "gerber", 19 | "outputs": [ 20 | { 21 | "advanced_options": { 22 | "mirror": false, 23 | "offset_x": 0, 24 | "offset_y": 0, 25 | "rotate": false, 26 | "upside_down": false 27 | }, 28 | "board_outline": false, 29 | "config": { 30 | "file_function": "Copper", 31 | "layer": 1, 32 | "layer_details": "mixed", 33 | "layer_type": "top" 34 | }, 35 | "filename_format": "%PREFIX/copper_top_l1.gbr", 36 | "layers": [ 37 | 1, 38 | 17, 39 | 18 40 | ], 41 | "name": "Top Copper", 42 | "polarity": "positive", 43 | "type": "gerber_layer" 44 | }, 45 | { 46 | "advanced_options": { 47 | "mirror": false, 48 | "offset_x": 0, 49 | "offset_y": 0, 50 | "rotate": false, 51 | "upside_down": false 52 | }, 53 | "board_outline": false, 54 | "config": { 55 | "file_function": "Copper", 56 | "layer": 2, 57 | "layer_details": "mixed", 58 | "layer_type": "Inner" 59 | }, 60 | "filename_format": "%PREFIX/copper_inner_l2.gbr", 61 | "layers": [ 62 | 2, 63 | 17, 64 | 18 65 | ], 66 | "name": "Copper Layer 2", 67 | "polarity": "positive", 68 | "type": "gerber_layer" 69 | }, 70 | { 71 | "advanced_options": { 72 | "mirror": false, 73 | "offset_x": 0, 74 | "offset_y": 0, 75 | "rotate": false, 76 | "upside_down": false 77 | }, 78 | "board_outline": false, 79 | "config": { 80 | "file_function": "Copper", 81 | "layer": 3, 82 | "layer_details": "mixed", 83 | "layer_type": "Inner" 84 | }, 85 | "filename_format": "%PREFIX/copper_inner_l3.gbr", 86 | "layers": [ 87 | 15, 88 | 17, 89 | 18 90 | ], 91 | "name": "Copper Layer 15", 92 | "polarity": "positive", 93 | "type": "gerber_layer" 94 | }, 95 | { 96 | "advanced_options": { 97 | "mirror": false, 98 | "offset_x": 0, 99 | "offset_y": 0, 100 | "rotate": false, 101 | "upside_down": false 102 | }, 103 | "board_outline": false, 104 | "config": { 105 | "file_function": "Copper", 106 | "layer": 4, 107 | "layer_details": "mixed", 108 | "layer_type": "bottom" 109 | }, 110 | "filename_format": "%PREFIX/copper_bottom_l4.gbr", 111 | "layers": [ 112 | 16, 113 | 17, 114 | 18 115 | ], 116 | "name": "Bottom Copper", 117 | "polarity": "positive", 118 | "type": "gerber_layer" 119 | }, 120 | { 121 | "advanced_options": { 122 | "mirror": false, 123 | "offset_x": 0, 124 | "offset_y": 0, 125 | "rotate": false, 126 | "upside_down": false 127 | }, 128 | "board_outline": true, 129 | "config": { 130 | "file_function": "Profile", 131 | "plating": "non-plated" 132 | }, 133 | "filename_format": "%PREFIX/profile.gbr", 134 | "layers": [ 135 | ], 136 | "milling": true, 137 | "polarity": "positive", 138 | "type": "gerber_layer" 139 | }, 140 | { 141 | "advanced_options": { 142 | "mirror": false, 143 | "offset_x": 0, 144 | "offset_y": 0, 145 | "rotate": false, 146 | "upside_down": false 147 | }, 148 | "board_outline": false, 149 | "config": { 150 | "file_function": "Soldermask", 151 | "index": 1, 152 | "layer_type": "top" 153 | }, 154 | "filename_format": "%PREFIX/soldermask_top.gbr", 155 | "layers": [ 156 | 29 157 | ], 158 | "name": "Soldermask Top", 159 | "polarity": "positive", 160 | "type": "gerber_layer" 161 | }, 162 | { 163 | "advanced_options": { 164 | "mirror": false, 165 | "offset_x": 0, 166 | "offset_y": 0, 167 | "rotate": false, 168 | "upside_down": false 169 | }, 170 | "board_outline": false, 171 | "config": { 172 | "file_function": "Soldermask", 173 | "index": 1, 174 | "layer_type": "bottom" 175 | }, 176 | "filename_format": "%PREFIX/soldermask_bottom.gbr", 177 | "layers": [ 178 | 30 179 | ], 180 | "name": "Soldermask Bottom", 181 | "polarity": "positive", 182 | "type": "gerber_layer" 183 | }, 184 | { 185 | "advanced_options": { 186 | "mirror": false, 187 | "offset_x": 0, 188 | "offset_y": 0, 189 | "rotate": false, 190 | "upside_down": false 191 | }, 192 | "board_outline": false, 193 | "config": { 194 | "file_function": "Paste", 195 | "layer_type": "top" 196 | }, 197 | "filename_format": "%PREFIX/solderpaste_top.gbr", 198 | "layers": [ 199 | 31 200 | ], 201 | "milling": false, 202 | "name": "Solderpaste Top", 203 | "polarity": "positive", 204 | "type": "gerber_layer" 205 | }, 206 | { 207 | "advanced_options": { 208 | "mirror": false, 209 | "offset_x": 0, 210 | "offset_y": 0, 211 | "rotate": false, 212 | "upside_down": false 213 | }, 214 | "board_outline": false, 215 | "config": { 216 | "file_function": "Paste", 217 | "layer_type": "bottom" 218 | }, 219 | "filename_format": "%PREFIX/solderpaste_bottom.gbr", 220 | "layers": [ 221 | 32 222 | ], 223 | "milling": false, 224 | "name": "Solderpaste Bottom", 225 | "polarity": "positive", 226 | "type": "gerber_layer" 227 | }, 228 | { 229 | "advanced_options": { 230 | "mirror": false, 231 | "offset_x": 0, 232 | "offset_y": 0, 233 | "rotate": false, 234 | "upside_down": false 235 | }, 236 | "board_outline": false, 237 | "config": { 238 | "file_function": "Legend", 239 | "index": 1, 240 | "layer_type": "top" 241 | }, 242 | "filename_format": "%PREFIX/silkscreen_top.gbr", 243 | "layers": [ 244 | 21, 245 | 25 246 | ], 247 | "milling": false, 248 | "name": "Silkscreen Top", 249 | "polarity": "positive", 250 | "type": "gerber_layer" 251 | }, 252 | { 253 | "advanced_options": { 254 | "mirror": false, 255 | "offset_x": 0, 256 | "offset_y": 0, 257 | "rotate": false, 258 | "upside_down": false 259 | }, 260 | "board_outline": false, 261 | "config": { 262 | "file_function": "Legend", 263 | "index": 1, 264 | "layer_type": "bottom" 265 | }, 266 | "filename_format": "%PREFIX/silkscreen_bottom.gbr", 267 | "layers": [ 268 | 22, 269 | 26 270 | ], 271 | "milling": false, 272 | "name": "Silkscreen Bottom", 273 | "polarity": "positive", 274 | "type": "gerber_layer" 275 | } 276 | ], 277 | "version": "RS274X" 278 | }, 279 | { 280 | "filename_prefix": "CAMOutputs/DrillFiles", 281 | "format_specifier": { 282 | "decimal": 3, 283 | "integer": 3 284 | }, 285 | "output_type": "drill", 286 | "outputs": [ 287 | { 288 | "drills": { 289 | "NPTH": false, 290 | "PTH": true, 291 | "VIA": true 292 | }, 293 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%DRILLPREFIX/drills_pth.xln", 294 | "layers": { 295 | "from": 1, 296 | "to": 16 297 | }, 298 | "name": "PTH Export", 299 | "type": "excellon" 300 | }, 301 | { 302 | "drills": { 303 | "NPTH": true, 304 | "PTH": false, 305 | "VIA": false 306 | }, 307 | "filename_format": "%TEAMHUBNAME/%PROJECTNAME/%DRILLPREFIX/holes_npth.xln", 308 | "layers": { 309 | "from": 1, 310 | "to": 16 311 | }, 312 | "name": "NPTH Export", 313 | "type": "excellon" 314 | } 315 | ] 316 | }, 317 | { 318 | "filename_prefix": "CAMOutputs/Assembly", 319 | "output_type": "assembly", 320 | "outputs": [ 321 | ] 322 | }, 323 | { 324 | "filename_prefix": "CAMOutputs/DrawingFiles", 325 | "output_type": "drawing", 326 | "outputs": [ 327 | ] 328 | } 329 | ], 330 | "timestamp": "2024-01-29T12:20:36", 331 | "type": "EAGLE CAM job", 332 | "units": "metric", 333 | "version": "9.2.0" 334 | } 335 | -------------------------------------------------------------------------------- /eagle/cam/legacy/aisler_2_layer.cam: -------------------------------------------------------------------------------- 1 | [CAM Processor Job] 2 | Description="" 3 | Section=Sec_1 4 | Section=Sec_2 5 | Section=Sec_3 6 | Section=Sec_4 7 | Section=Sec_5 8 | Section=Sec_6 9 | Section=Sec_7 10 | Section=Sec_8 11 | Section=Sec_9 12 | Section=Sec_10 13 | Section=Sec_11 14 | 15 | [Sec_1] 16 | Name[en]="top layer" 17 | Prompt="" 18 | Device="GERBER_RS274X" 19 | Wheel="" 20 | Rack="" 21 | Scale=1 22 | Output="output.toplayer.ger" 23 | Flags="0 0 0 1 0 1 1" 24 | Emulate="0" 25 | Offset="0.0mil 0.0mil" 26 | Sheet=1 27 | Tolerance="0 0 0 0 0 0" 28 | Pen="0.0mil 0" 29 | Page="12000.0mil 8000.0mil" 30 | Layers=" 1 17 18" 31 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 32 | 33 | [Sec_2] 34 | Name[en]="bottom layer" 35 | Prompt="" 36 | Device="GERBER_RS274X" 37 | Wheel="" 38 | Rack="" 39 | Scale=1 40 | Output="output.bottomlayer.ger" 41 | Flags="0 0 0 1 0 1 1" 42 | Emulate="0" 43 | Offset="0.0mil 0.0mil" 44 | Sheet=1 45 | Tolerance="0 0 0 0 0 0" 46 | Pen="0.0mil 0" 47 | Page="12000.0mil 8000.0mil" 48 | Layers=" 16 17 18" 49 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 50 | 51 | [Sec_3] 52 | Name[en]="top silkscreen" 53 | Prompt="" 54 | Device="GERBER_RS274X" 55 | Wheel="" 56 | Rack="" 57 | Scale=1 58 | Output="output.topsilkscreen.ger" 59 | Flags="0 0 0 1 0 1 1" 60 | Emulate="0" 61 | Offset="0.0mil 0.0mil" 62 | Sheet=1 63 | Tolerance="0 0 0 0 0 0" 64 | Pen="0.0mil 0" 65 | Page="12000.0mil 8000.0mil" 66 | Layers=" 21 25" 67 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 68 | 69 | [Sec_4] 70 | Name[en]="bottom silkscreen" 71 | Prompt="" 72 | Device="GERBER_RS274X" 73 | Wheel="" 74 | Rack="" 75 | Scale=1 76 | Output="output.bottomsilkscreen.ger" 77 | Flags="0 0 0 1 0 1 1" 78 | Emulate="0" 79 | Offset="0.0mil 0.0mil" 80 | Sheet=1 81 | Tolerance="0 0 0 0 0 0" 82 | Pen="0.0mil 0" 83 | Page="12000.0mil 8000.0mil" 84 | Layers=" 22 26" 85 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 86 | 87 | [Sec_5] 88 | Name[en]="top soldermask" 89 | Prompt="" 90 | Device="GERBER_RS274X" 91 | Wheel="" 92 | Rack="" 93 | Scale=1 94 | Output="output.topsoldermask.ger" 95 | Flags="0 0 0 1 0 1 1" 96 | Emulate="0" 97 | Offset="0.0mil 0.0mil" 98 | Sheet=1 99 | Tolerance="0 0 0 0 0 0" 100 | Pen="0.0mil 0" 101 | Page="12000.0mil 8000.0mil" 102 | Layers=" 29" 103 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 104 | 105 | [Sec_6] 106 | Name[en]="bottom soldermask" 107 | Prompt="" 108 | Device="GERBER_RS274X" 109 | Wheel="" 110 | Rack="" 111 | Scale=1 112 | Output="output.bottomsoldermask.ger" 113 | Flags="0 0 0 1 0 1 1" 114 | Emulate="0" 115 | Offset="0.0mil 0.0mil" 116 | Sheet=1 117 | Tolerance="0 0 0 0 0 0" 118 | Pen="0.0mil 0" 119 | Page="12000.0mil 8000.0mil" 120 | Layers=" 30" 121 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 122 | 123 | [Sec_7] 124 | Name[en]="top paste" 125 | Prompt="" 126 | Device="GERBER_RS274X" 127 | Wheel="" 128 | Rack="" 129 | Scale=1 130 | Output="output.toppaste.ger" 131 | Flags="0 0 0 1 0 1 1" 132 | Emulate="0" 133 | Offset="0.0mil 0.0mil" 134 | Sheet=1 135 | Tolerance="0 0 0 0 0 0" 136 | Pen="0.0mil 0" 137 | Page="12000.0mil 8000.0mil" 138 | Layers=" 31" 139 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 140 | 141 | [Sec_8] 142 | Name[en]="bottom paste" 143 | Prompt="" 144 | Device="GERBER_RS274X" 145 | Wheel="" 146 | Rack="" 147 | Scale=1 148 | Output="output.bottompaste.ger" 149 | Flags="0 0 0 1 0 1 1" 150 | Emulate="0" 151 | Offset="0.0mil 0.0mil" 152 | Sheet=1 153 | Tolerance="0 0 0 0 0 0" 154 | Pen="0.0mil 0" 155 | Page="12000.0mil 8000.0mil" 156 | Layers=" 32" 157 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 158 | 159 | [Sec_9] 160 | Name[en]="board outline" 161 | Prompt="" 162 | Device="GERBER_RS274X" 163 | Wheel="" 164 | Rack="" 165 | Scale=1 166 | Output="output.boardoutline.ger" 167 | Flags="0 0 0 1 0 1 1" 168 | Emulate="0" 169 | Offset="0.0mil 0.0mil" 170 | Sheet=1 171 | Tolerance="0 0 0 0 0 0" 172 | Pen="0.0mil 0" 173 | Page="12000.0mil 8000.0mil" 174 | Layers=" 20 46" 175 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 176 | 177 | [Sec_10] 178 | Name[en]="drills" 179 | Prompt="" 180 | Device="EXCELLON_24" 181 | Wheel="" 182 | Rack="" 183 | Scale=1 184 | Output="output.drills_pth.xln" 185 | Flags="0 0 0 1 0 1 1" 186 | Emulate="0" 187 | Offset="0.0mil 0.0mil" 188 | Sheet=1 189 | Tolerance="0 0 0 0 0 0" 190 | Pen="0.0mil 0" 191 | Page="12000.0mil 8000.0mil" 192 | Layers=" 44" 193 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 194 | 195 | [Sec_11] 196 | Name[en]="holes" 197 | Prompt="" 198 | Device="EXCELLON_24" 199 | Wheel="" 200 | Rack="" 201 | Scale=1 202 | Output="output.holes_npth.xln" 203 | Flags="0 0 0 1 0 1 1" 204 | Emulate="0" 205 | Offset="0.0mil 0.0mil" 206 | Sheet=1 207 | Tolerance="0 0 0 0 0 0" 208 | Pen="0.0mil 0" 209 | Page="12000.0mil 8000.0mil" 210 | Layers=" 45" 211 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 212 | -------------------------------------------------------------------------------- /eagle/cam/legacy/aisler_4_layer.cam: -------------------------------------------------------------------------------- 1 | [CAM Processor Job] 2 | Description="" 3 | Section=Sec_1 4 | Section=Sec_2 5 | Section=Sec_3 6 | Section=Sec_4 7 | Section=Sec_5 8 | Section=Sec_6 9 | Section=Sec_7 10 | Section=Sec_8 11 | Section=Sec_9 12 | Section=Sec_10 13 | Section=Sec_11 14 | Section=Sec_12 15 | Section=Sec_13 16 | 17 | [Sec_1] 18 | Name[en]="top layer" 19 | Prompt="" 20 | Device="GERBER_RS274X" 21 | Wheel="" 22 | Rack="" 23 | Scale=1 24 | Output="output.toplayer.ger" 25 | Flags="0 0 0 1 0 1 1" 26 | Emulate="0" 27 | Offset="0.0mil 0.0mil" 28 | Sheet=1 29 | Tolerance="0 0 0 0 0 0" 30 | Pen="0.0mil 0" 31 | Page="12000.0mil 8000.0mil" 32 | Layers=" 1 17 18" 33 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 34 | 35 | [Sec_2] 36 | Name[en]="bottom layer" 37 | Prompt="" 38 | Device="GERBER_RS274X" 39 | Wheel="" 40 | Rack="" 41 | Scale=1 42 | Output="output.bottomlayer.ger" 43 | Flags="0 0 0 1 0 1 1" 44 | Emulate="0" 45 | Offset="0.0mil 0.0mil" 46 | Sheet=1 47 | Tolerance="0 0 0 0 0 0" 48 | Pen="0.0mil 0" 49 | Page="12000.0mil 8000.0mil" 50 | Layers=" 16 17 18" 51 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 52 | 53 | [Sec_3] 54 | Name[en]="internal plane 1" 55 | Prompt="" 56 | Device="GERBER_RS274X" 57 | Wheel="" 58 | Rack="" 59 | Scale=1 60 | Output="output.internalplane1.ger" 61 | Flags="0 0 0 1 0 1 1" 62 | Emulate="0" 63 | Offset="0.0mil 0.0mil" 64 | Sheet=1 65 | Tolerance="0 0 0 0 0 0" 66 | Pen="0.0mil 0" 67 | Page="12000.0mil 8000.0mil" 68 | Layers=" 2 17 18" 69 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 70 | 71 | [Sec_4] 72 | Name[en]="internal plane 2" 73 | Prompt="" 74 | Device="GERBER_RS274X" 75 | Wheel="" 76 | Rack="" 77 | Scale=1 78 | Output="output.internalplane2.ger" 79 | Flags="0 0 0 1 0 1 1" 80 | Emulate="0" 81 | Offset="0.0mil 0.0mil" 82 | Sheet=1 83 | Tolerance="0 0 0 0 0 0" 84 | Pen="0.0mil 0" 85 | Page="12000.0mil 8000.0mil" 86 | Layers=" 15 17 18" 87 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 88 | 89 | [Sec_5] 90 | Name[en]="top silkscreen" 91 | Prompt="" 92 | Device="GERBER_RS274X" 93 | Wheel="" 94 | Rack="" 95 | Scale=1 96 | Output="output.topsilkscreen.ger" 97 | Flags="0 0 0 1 0 1 1" 98 | Emulate="0" 99 | Offset="0.0mil 0.0mil" 100 | Sheet=1 101 | Tolerance="0 0 0 0 0 0" 102 | Pen="0.0mil 0" 103 | Page="12000.0mil 8000.0mil" 104 | Layers=" 21 25" 105 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 106 | 107 | [Sec_6] 108 | Name[en]="bottom silkscreen" 109 | Prompt="" 110 | Device="GERBER_RS274X" 111 | Wheel="" 112 | Rack="" 113 | Scale=1 114 | Output="output.bottomsilkscreen.ger" 115 | Flags="0 0 0 1 0 1 1" 116 | Emulate="0" 117 | Offset="0.0mil 0.0mil" 118 | Sheet=1 119 | Tolerance="0 0 0 0 0 0" 120 | Pen="0.0mil 0" 121 | Page="12000.0mil 8000.0mil" 122 | Layers=" 22 26" 123 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 124 | 125 | [Sec_7] 126 | Name[en]="top soldermask" 127 | Prompt="" 128 | Device="GERBER_RS274X" 129 | Wheel="" 130 | Rack="" 131 | Scale=1 132 | Output="output.topsoldermask.ger" 133 | Flags="0 0 0 1 0 1 1" 134 | Emulate="0" 135 | Offset="0.0mil 0.0mil" 136 | Sheet=1 137 | Tolerance="0 0 0 0 0 0" 138 | Pen="0.0mil 0" 139 | Page="12000.0mil 8000.0mil" 140 | Layers=" 29" 141 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 142 | 143 | [Sec_8] 144 | Name[en]="bottom soldermask" 145 | Prompt="" 146 | Device="GERBER_RS274X" 147 | Wheel="" 148 | Rack="" 149 | Scale=1 150 | Output="output.bottomsoldermask.ger" 151 | Flags="0 0 0 1 0 1 1" 152 | Emulate="0" 153 | Offset="0.0mil 0.0mil" 154 | Sheet=1 155 | Tolerance="0 0 0 0 0 0" 156 | Pen="0.0mil 0" 157 | Page="12000.0mil 8000.0mil" 158 | Layers=" 30" 159 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 160 | 161 | [Sec_9] 162 | Name[en]="top paste" 163 | Prompt="" 164 | Device="GERBER_RS274X" 165 | Wheel="" 166 | Rack="" 167 | Scale=1 168 | Output="output.toppaste.ger" 169 | Flags="0 0 0 1 0 1 1" 170 | Emulate="0" 171 | Offset="0.0mil 0.0mil" 172 | Sheet=1 173 | Tolerance="0 0 0 0 0 0" 174 | Pen="0.0mil 0" 175 | Page="12000.0mil 8000.0mil" 176 | Layers=" 31" 177 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 178 | 179 | [Sec_10] 180 | Name[en]="bottom paste" 181 | Prompt="" 182 | Device="GERBER_RS274X" 183 | Wheel="" 184 | Rack="" 185 | Scale=1 186 | Output="output.bottompaste.ger" 187 | Flags="0 0 0 1 0 1 1" 188 | Emulate="0" 189 | Offset="0.0mil 0.0mil" 190 | Sheet=1 191 | Tolerance="0 0 0 0 0 0" 192 | Pen="0.0mil 0" 193 | Page="12000.0mil 8000.0mil" 194 | Layers=" 32" 195 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 196 | 197 | [Sec_11] 198 | Name[en]="board outline" 199 | Prompt="" 200 | Device="GERBER_RS274X" 201 | Wheel="" 202 | Rack="" 203 | Scale=1 204 | Output="output.boardoutline.ger" 205 | Flags="0 0 0 1 0 1 1" 206 | Emulate="0" 207 | Offset="0.0mil 0.0mil" 208 | Sheet=1 209 | Tolerance="0 0 0 0 0 0" 210 | Pen="0.0mil 0" 211 | Page="12000.0mil 8000.0mil" 212 | Layers=" 20 46" 213 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 214 | 215 | [Sec_12] 216 | Name[en]="drills" 217 | Prompt="" 218 | Device="EXCELLON_24" 219 | Wheel="" 220 | Rack="" 221 | Scale=1 222 | Output="output.drills_pth.xln" 223 | Flags="0 0 0 1 0 1 1" 224 | Emulate="0" 225 | Offset="0.0mil 0.0mil" 226 | Sheet=1 227 | Tolerance="0 0 0 0 0 0" 228 | Pen="0.0mil 0" 229 | Page="12000.0mil 8000.0mil" 230 | Layers=" 44" 231 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 232 | 233 | [Sec_13] 234 | Name[en]="holes" 235 | Prompt="" 236 | Device="EXCELLON_24" 237 | Wheel="" 238 | Rack="" 239 | Scale=1 240 | Output="output.holes_npth.xln" 241 | Flags="0 0 0 1 0 1 1" 242 | Emulate="0" 243 | Offset="0.0mil 0.0mil" 244 | Sheet=1 245 | Tolerance="0 0 0 0 0 0" 246 | Pen="0.0mil 0" 247 | Page="12000.0mil 8000.0mil" 248 | Layers=" 45" 249 | Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" 250 | -------------------------------------------------------------------------------- /eagle/cam/legacy/ipc-d-356.ulp: -------------------------------------------------------------------------------- 1 | #usage "Export IPC-D-356 data format\n" 2 | "

" 3 | "Generates a netlist in IPC-D-356 format from the current board." 4 | "

" 5 | "Please take care of net names. IPC-D-356 does not allow more than 14 characters! " 6 | "Written for EAGLE 4.1. " 7 | "

" 8 | "IPC-D-356 syntax generated according to the specifications of
" 9 | "
" 10 | "IPC-D-356 Simplified
" 11 | "Written by Rich Nedbal
" 12 | "DownStream Technologies, LLC
" 13 | "
" 14 | "

" 15 | "Author: support@cadsoft.de" 16 | 17 | #require 4.1602 18 | 19 | // THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED 20 | // 21 | // Release 1.0 -- November 2003 22 | // Release 1.0.1 -- May 2006, Added source of specification (ric) 23 | // Release 2.0.0 -- 2012-02-29, values calculated with u2inch (alf) 24 | // Release 2.0.1 -- 2012-03-13, corrected calulation of diameter (alf) 25 | // now generate the same data as the original ulp up to V5. 26 | // Release 2.0.2 -- corrected line 82, multiplicator 1000 -> 10000 27 | 28 | string Version = "2.0.2"; 29 | 30 | string fileName, RefDes, Access, Xpolarity, Ypolarity, RestOfLine, NoDiameter; 31 | int n, TypeNumber, Diameter, Xcoord, Ycoord, RectDataX, RectDataY, Angle ; 32 | 33 | 34 | void Header(UL_BOARD B) { 35 | printf("C IPC-D-356 generated by %s\n", EAGLE_SIGNATURE); 36 | printf("C Database %s -- Exported at %s\n", B.name, t2string(time())); 37 | //printf("C ULP-Version %s : Values = Inch/1000\n", Version); // 2012-03-13 38 | printf("C \n"); 39 | printf("P JOB EAGLE %d.%d NETLIST, DATE: %s\n", EAGLE_VERSION, EAGLE_RELEASE , t2string(time())); 40 | printf("P UNITS CUST 0\n"); 41 | printf("P DIM N\n"); 42 | } 43 | 44 | 45 | void TestRecord(UL_BOARD B) { 46 | B.signals(S) { 47 | S.vias(V) { 48 | TypeNumber = 317 ; 49 | RefDes = "VIA"; 50 | Diameter = round(u2inch(V.drill)*1000); 51 | if (V.start == 1 && V.end == 16) Access = "A00"; ///gibts auch andere? 52 | Xcoord = round(u2inch(V.x)*10000); 53 | Ycoord = round(u2inch(V.y)*10000); 54 | if (Xcoord >= 0) Xpolarity = "X "; 55 | if (Xcoord < 0) Xpolarity = "X-"; 56 | if (Ycoord >= 0) Ypolarity = "Y "; 57 | if (Ycoord < 0) Ypolarity = "Y-"; 58 | RectDataX = RectDataY = round(u2inch(V.diameter[V.start])*10000); 59 | RestOfLine = " " ; // 13 blanks to fill up 80 characters 60 | 61 | printf("%3d%-14s %-12sD%4dP%-3s%2s%6d%2s%6dX%4dY%4d%-13s\n", 62 | TypeNumber, S.name, RefDes, Diameter, Access, Xpolarity, abs(Xcoord), Ypolarity, abs(Ycoord), 63 | RectDataX, RectDataY, RestOfLine); 64 | } 65 | } 66 | B.elements(E) { 67 | E.package.contacts(C) { 68 | if (C.pad) { 69 | TypeNumber = 317 ; 70 | RefDes = E.name; 71 | Diameter = round(u2inch(C.pad.drill)*1000); 72 | Access = "A00"; 73 | Xcoord = round(u2inch(C.pad.x)*10000); 74 | Ycoord = round(u2inch(C.pad.y)*10000); 75 | if (Xcoord >= 0) Xpolarity = "X "; 76 | if (Xcoord < 0) Xpolarity = "X-"; 77 | if (Ycoord >= 0) Ypolarity = "Y "; 78 | if (Ycoord < 0) Ypolarity = "Y-"; 79 | if (C.pad.elongation == 0) 80 | RectDataX = RectDataY = round(u2inch(C.pad.diameter[LAYER_TOP])*10000); 81 | else { // if (C.pad.elongation != 0) 82 | RectDataX = round(u2inch(C.pad.diameter[LAYER_TOP])*10000); 83 | RectDataY = round((u2inch(C.pad.diameter[LAYER_TOP])*10000) * (C.pad.elongation / 100) + u2inch(C.pad.diameter[LAYER_TOP])*10000); 84 | } 85 | Angle = round(C.pad.angle); 86 | RestOfLine = " "; 87 | 88 | printf("%3d%-14s %-6s-%-4s D%4dP%-3s%2s%6d%2s%6dX%4dY%4dR%3d%-9s\n", 89 | TypeNumber, C.pad.signal, RefDes, C.pad.name, Diameter, Access, 90 | Xpolarity, abs(Xcoord), Ypolarity, abs(Ycoord), RectDataX, RectDataY, Angle, RestOfLine); 91 | } 92 | if (C.smd) { 93 | TypeNumber = 327 ; 94 | RefDes = E.name; 95 | NoDiameter = " "; // No drill ==> coloum 33-38 empty 96 | if (C.smd.layer == 1) Access = "A01"; 97 | if (C.smd.layer == 16) Access = "A16"; 98 | Xcoord = round(u2inch(C.smd.x)*10000); 99 | Ycoord = round(u2inch(C.smd.y)*10000); 100 | if (Xcoord >= 0) Xpolarity = "X "; 101 | if (Xcoord < 0) Xpolarity = "X-"; 102 | if (Ycoord >= 0) Ypolarity = "Y "; 103 | if (Ycoord < 0) Ypolarity = "Y-"; 104 | RectDataX = round(u2inch(C.smd.dx) * 10000) ; 105 | RectDataY = round(u2inch(C.smd.dy) * 10000) ; 106 | Angle = round(C.smd.angle); 107 | RestOfLine = " "; 108 | 109 | printf("%3d%-14s %-6s-%-4s %-6s%-3s%2s%6d%2s%6dX%4dY%4dR%3d%-9s\n", 110 | TypeNumber, C.smd.signal, RefDes, C.smd.name, NoDiameter, Access, 111 | Xpolarity, abs(Xcoord), Ypolarity, abs(Ycoord), RectDataX, RectDataY, Angle, RestOfLine); 112 | } 113 | } 114 | // B.holes(H) TypeNumber = 347 ; printf("%d", TypeNumber); 115 | // E.package.holes(H) TypeNumber = 347 ; printf("%d", TypeNumber); 116 | } 117 | } 118 | 119 | 120 | void EndOfFile(void) { 121 | printf("999\n"); 122 | } 123 | 124 | //==========main=========== 125 | 126 | 127 | if (board) { 128 | board(B) { 129 | fileName = dlgFileSave("Save IPC-D-356 File", filesetext(B.name, ".ipc"), "*.ipc"); 130 | if (fileName == "") exit(0); 131 | 132 | output(fileName) { 133 | Header(B); 134 | TestRecord(B); 135 | EndOfFile(); 136 | } 137 | } 138 | } 139 | 140 | else { 141 | dlgMessageBox("!Start this ULP in a Board."); 142 | exit (0); 143 | } 144 | -------------------------------------------------------------------------------- /eagle/cam/legacy/mount.ulp: -------------------------------------------------------------------------------- 1 | #usage "Data generation for mounting machines\n" 2 | "

" 3 | "Generates a file that can be used with mounting machines. " 4 | "The x- and y- coordinates (units: mil) are calculated as mean of " 5 | "maximum and mimimum value of the pads or smds origin points. " 6 | "The calculated value does not necessarily fit with the origin " 7 | "point of the part in the layout." 8 | "

" 9 | "The syntax of the output data looks like this:" 10 | "

" 11 | "value;x-coord;y-coord;rotation;name" 12 | "

" 13 | "Author: support@cadsoft.de" 14 | 15 | // THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED 16 | 17 | if (board) board(B) { 18 | 19 | // Get filename 20 | string fileName = dlgFileSave("Save File", filesetext(B.name, ".mnt"), "*.mnt"); 21 | if (fileName == "") exit(0); 22 | 23 | output(fileName) { 24 | 25 | B.elements(E) { 26 | 27 | int xmax =-2147483648, 28 | xmin = 2147483647, 29 | ymax = xmax, 30 | ymin = xmin; 31 | 32 | E.package.contacts(C) { 33 | 34 | if (C.x > xmax) xmax = C.x; 35 | if (C.y > ymax) ymax = C.y; 36 | if (C.x < xmin) xmin = C.x; 37 | if (C.y < ymin) ymin = C.y; } 38 | 39 | 40 | printf("%s;%5.0f;%5.0f;%3.0f;%s \n", 41 | E.value, u2mil((xmin + xmax)/2), u2mil((ymin + ymax)/2), 42 | E.angle, E.name ); 43 | } 44 | } 45 | } 46 | 47 | else { 48 | dlgMessageBox("\n Start this ULP in a Board \n"); 49 | exit (0); 50 | } 51 | -------------------------------------------------------------------------------- /eagle/drc/aisler_2_layer_complex.dru: -------------------------------------------------------------------------------- 1 | description[de] = Aisler Design Rules - 2 Layers - complex\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 2 | description[en] = Aisler Design Rules - 2 Layers - complex\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 3 | layerSetup = (1*16) 4 | mtCopper = 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 5 | mtIsolate = 1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 6 | mdWireWire = 0.125mm 7 | mdWirePad = 0.125mm 8 | mdWireVia = 0.125mm 9 | mdPadPad = 0.125mm 10 | mdPadVia = 0.125mm 11 | mdViaVia = 0.125mm 12 | mdSmdPad = 0mil 13 | mdSmdVia = 0mil 14 | mdSmdSmd = 0mil 15 | mdViaViaSameLayer = 8mil 16 | mnLayersViaInSmd = 2 17 | mdCopperDimension = 0.3mm 18 | mdDrill = 0.3mm 19 | mdSmdStop = 0mil 20 | msWidth = 0.125mm 21 | msDrill = 0.25mm 22 | msMicroVia = 9.99mm 23 | msBlindViaRatio = 1.000000 24 | rvPadTop = 0.250000 25 | rvPadInner = 0.250000 26 | rvPadBottom = 0.250000 27 | rvViaOuter = 0.250000 28 | rvViaInner = 0.250000 29 | rvMicroViaOuter = 0.250000 30 | rvMicroViaInner = 0.250000 31 | rlMinPadTop = 0.3mm 32 | rlMaxPadTop = 100mm 33 | rlMinPadInner = 0.3mm 34 | rlMaxPadInner = 100mm 35 | rlMinPadBottom = 0.3mm 36 | rlMaxPadBottom = 100mm 37 | rlMinViaOuter = 0.1mm 38 | rlMaxViaOuter = 100mm 39 | rlMinViaInner = 0.1mm 40 | rlMaxViaInner = 100mm 41 | rlMinMicroViaOuter = 2.5mm 42 | rlMaxMicroViaOuter = 100mm 43 | rlMinMicroViaInner = 2.5mm 44 | rlMaxMicroViaInner = 100mm 45 | psTop = -1 46 | psBottom = -1 47 | psFirst = -1 48 | psElongationLong = 100 49 | psElongationOffset = 100 50 | mvStopFrame = 0.000000 51 | mvCreamFrame = 0.000000 52 | mlMinStopFrame = 0mil 53 | mlMaxStopFrame = 0mil 54 | mlMinCreamFrame = 0mil 55 | mlMaxCreamFrame = 0mil 56 | mlViaStopLimit = 0mil 57 | srRoundness = 0.000000 58 | srMinRoundness = 0mil 59 | srMaxRoundness = 100mm 60 | slThermalIsolate = 10mil 61 | slThermalsForVias = 0 62 | dpMaxLengthDifference = 10mm 63 | dpGapFactor = 2.500000 64 | checkAngle = 0 65 | checkFont = 1 66 | checkRestrict = 1 67 | checkStop = 0 68 | checkValues = 0 69 | checkNames = 1 70 | checkWireStubs = 1 71 | checkPolygonWidth = 1 72 | useDiameter = 13 73 | maxErrors = 50 74 | -------------------------------------------------------------------------------- /eagle/drc/aisler_2_layer_simple.dru: -------------------------------------------------------------------------------- 1 | description[de] = Aisler Design Rules - 2 Layers - simple\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 2 | description[en] = Aisler Design Rules - 2 Layers - simple\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 3 | layerSetup = (1*16) 4 | mtCopper = 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 5 | mtIsolate = 1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 6 | mdWireWire = 0.15mm 7 | mdWirePad = 0.15mm 8 | mdWireVia = 0.15mm 9 | mdPadPad = 0.15mm 10 | mdPadVia = 0.15mm 11 | mdViaVia = 0.15mm 12 | mdSmdPad = 0mil 13 | mdSmdVia = 0mil 14 | mdSmdSmd = 0mil 15 | mdViaViaSameLayer = 8mil 16 | mnLayersViaInSmd = 2 17 | mdCopperDimension = 0.3mm 18 | mdDrill = 0.3mm 19 | mdSmdStop = 0mil 20 | msWidth = 0.2mm 21 | msDrill = 0.3mm 22 | msMicroVia = 9.99mm 23 | msBlindViaRatio = 1.000000 24 | rvPadTop = 0.250000 25 | rvPadInner = 0.250000 26 | rvPadBottom = 0.250000 27 | rvViaOuter = 0.250000 28 | rvViaInner = 0.250000 29 | rvMicroViaOuter = 0.250000 30 | rvMicroViaInner = 0.250000 31 | rlMinPadTop = 0.3mm 32 | rlMaxPadTop = 100mm 33 | rlMinPadInner = 0.3mm 34 | rlMaxPadInner = 100mm 35 | rlMinPadBottom = 0.3mm 36 | rlMaxPadBottom = 100mm 37 | rlMinViaOuter = 0.2mm 38 | rlMaxViaOuter = 100mm 39 | rlMinViaInner = 0.2mm 40 | rlMaxViaInner = 100mm 41 | rlMinMicroViaOuter = 2.5mm 42 | rlMaxMicroViaOuter = 100mm 43 | rlMinMicroViaInner = 2.5mm 44 | rlMaxMicroViaInner = 100mm 45 | psTop = -1 46 | psBottom = -1 47 | psFirst = -1 48 | psElongationLong = 100 49 | psElongationOffset = 100 50 | mvStopFrame = 0.000000 51 | mvCreamFrame = 0.000000 52 | mlMinStopFrame = 0mil 53 | mlMaxStopFrame = 0mil 54 | mlMinCreamFrame = 0mil 55 | mlMaxCreamFrame = 0mil 56 | mlViaStopLimit = 0mil 57 | srRoundness = 0.000000 58 | srMinRoundness = 0mil 59 | srMaxRoundness = 100mm 60 | slThermalIsolate = 10mil 61 | slThermalsForVias = 0 62 | dpMaxLengthDifference = 10mm 63 | dpGapFactor = 2.500000 64 | checkAngle = 0 65 | checkFont = 1 66 | checkRestrict = 1 67 | checkStop = 0 68 | checkValues = 0 69 | checkNames = 1 70 | checkWireStubs = 1 71 | checkPolygonWidth = 1 72 | useDiameter = 13 73 | maxErrors = 50 74 | -------------------------------------------------------------------------------- /eagle/drc/aisler_4_layer_complex.dru: -------------------------------------------------------------------------------- 1 | description[de] = Aisler Design Rules - 4 Layers - complex\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 2 | description[en] = Aisler Design Rules - 4 Layers - complex\n\n

\nPlease note that the design rules provided here constitute the limit of our manufacturing capabilities. Especially in combination with the autorouter, boards are not guaranteed to be functional. So if possible, try not to exploit the drc minimum.\n\nEverything else you will find on https://aisler.net/help 3 | layerSetup = (1+2*15+16) 4 | mtCopper = 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 5 | mtIsolate = 0.138mm 1.13mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.138mm 6 | mdWireWire = 0.125mm 7 | mdWirePad = 0.125mm 8 | mdWireVia = 0.125mm 9 | mdPadPad = 0.125mm 10 | mdPadVia = 0.125mm 11 | mdViaVia = 0.125mm 12 | mdSmdPad = 0mil 13 | mdSmdVia = 0mil 14 | mdSmdSmd = 0mil 15 | mdViaViaSameLayer = 8mil 16 | mnLayersViaInSmd = 2 17 | mdCopperDimension = 0.3mm 18 | mdDrill = 0.3mm 19 | mdSmdStop = 0mil 20 | msWidth = 0.125mm 21 | msDrill = 0.1mm 22 | msMicroVia = 9.99mm 23 | msBlindViaRatio = 1.000000 24 | rvPadTop = 0.250000 25 | rvPadInner = 0.250000 26 | rvPadBottom = 0.250000 27 | rvViaOuter = 0.250000 28 | rvViaInner = 0.250000 29 | rvMicroViaOuter = 0.250000 30 | rvMicroViaInner = 0.250000 31 | rlMinPadTop = 0.3mm 32 | rlMaxPadTop = 100mm 33 | rlMinPadInner = 0.3mm 34 | rlMaxPadInner = 100mm 35 | rlMinPadBottom = 0.3mm 36 | rlMaxPadBottom = 100mm 37 | rlMinViaOuter = 0.1mm 38 | rlMaxViaOuter = 100mm 39 | rlMinViaInner = 0.1mm 40 | rlMaxViaInner = 100mm 41 | rlMinMicroViaOuter = 2.5mm 42 | rlMaxMicroViaOuter = 100mm 43 | rlMinMicroViaInner = 2.5mm 44 | rlMaxMicroViaInner = 100mm 45 | psTop = -1 46 | psBottom = -1 47 | psFirst = -1 48 | psElongationLong = 100 49 | psElongationOffset = 100 50 | mvStopFrame = 0.000000 51 | mvCreamFrame = 0.000000 52 | mlMinStopFrame = 0mil 53 | mlMaxStopFrame = 0mil 54 | mlMinCreamFrame = 0mil 55 | mlMaxCreamFrame = 0mil 56 | mlViaStopLimit = 0mil 57 | srRoundness = 0.000000 58 | srMinRoundness = 0mil 59 | srMaxRoundness = 100mm 60 | slThermalIsolate = 10mil 61 | slThermalsForVias = 0 62 | dpMaxLengthDifference = 10mm 63 | dpGapFactor = 2.500000 64 | checkAngle = 0 65 | checkFont = 1 66 | checkRestrict = 1 67 | checkStop = 0 68 | checkValues = 0 69 | checkNames = 1 70 | checkWireStubs = 1 71 | checkPolygonWidth = 1 72 | useDiameter = 13 73 | maxErrors = 50 74 | -------------------------------------------------------------------------------- /eagle/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AislerHQ/aisler-support/55bcc1f88e22addb788a44c764f768c9baadf3df/eagle/readme.md -------------------------------------------------------------------------------- /flux.ai/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AislerHQ/aisler-support/55bcc1f88e22addb788a44c764f768c9baadf3df/flux.ai/README.md -------------------------------------------------------------------------------- /kicad/aisler-2-layer-hd-drc/aisler-2-layer-hd-drc.kicad_dru: -------------------------------------------------------------------------------- 1 | (version 1.1) 2 | #---------------------------------------------------------------------------------------------------- 3 | # AISLER custom DRC rules. 4 | # Make Hardware less Hard. 5 | #---------------------------------------------------------------------------------------------------- 6 | # We created these custom rules to warn you if your design hits our manufacturing bounderies. 7 | # You can disable the custom rules by commenting them out, though we advise against it. 8 | # These rules are valid as of May 2024, please check for updated ones on our forum. 9 | # Please also note that these rules do not catch every single manufacturing limit. 10 | # If you are not certain please check the documentation on our website. 11 | #---------------------------------------------------------------------------------------------------- 12 | 13 | # As our tooling is finite we only support certain trough hole sizes. 14 | # Please keep the plated trough holes below 5.6mm in diameter. 15 | # We provide a community post for more details: 16 | # https://community.aisler.net/t/plated-and-non-plated-holes/50 17 | 18 | (rule "Max Drill Hole Size PTH" 19 | (constraint hole_size (max 5.6mm)) 20 | (condition "A.Pad_Type == 'Through-hole'")) 21 | 22 | #---------------------------------------------------------------------------------------------------- 23 | # We dont support micro or buried vias 24 | 25 | (rule "Disallow buried via" 26 | (constraint disallow buried_via)) 27 | 28 | (rule "Disallow micro via" 29 | (constraint disallow micro_via)) 30 | 31 | #---------------------------------------------------------------------------------------------------- 32 | # The Soldermask is pulled back by a bit to account for slight missalignment during manufacturing. 33 | # We do this on our own, please keep the soldermask margin set to 0. 34 | 35 | (rule "Disallow solder mask margin overrides" 36 | (constraint assertion "A.Soldermask_Margin_Override == 0mm") 37 | (condition "A.Type == 'Pad'")) 38 | 39 | #---------------------------------------------------------------------------------------------------- 40 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-hd-drc/aisler-2-layer-hd-drc.kicad_pcb: -------------------------------------------------------------------------------- 1 | (kicad_pcb 2 | (version 20240108) 3 | (generator "pcbnew") 4 | (generator_version "8.0") 5 | (general 6 | (thickness 1.579) 7 | (legacy_teardrops no) 8 | ) 9 | (paper "A4") 10 | (layers 11 | (0 "F.Cu" signal) 12 | (31 "B.Cu" signal) 13 | (32 "B.Adhes" user "B.Adhesive") 14 | (33 "F.Adhes" user "F.Adhesive") 15 | (34 "B.Paste" user) 16 | (35 "F.Paste" user) 17 | (36 "B.SilkS" user "B.Silkscreen") 18 | (37 "F.SilkS" user "F.Silkscreen") 19 | (38 "B.Mask" user) 20 | (39 "F.Mask" user) 21 | (40 "Dwgs.User" user "User.Drawings") 22 | (41 "Cmts.User" user "User.Comments") 23 | (42 "Eco1.User" user "User.Eco1") 24 | (43 "Eco2.User" user "User.Eco2") 25 | (44 "Edge.Cuts" user) 26 | (45 "Margin" user) 27 | (46 "B.CrtYd" user "B.Courtyard") 28 | (47 "F.CrtYd" user "F.Courtyard") 29 | (48 "B.Fab" user) 30 | (49 "F.Fab" user) 31 | (50 "User.1" user) 32 | (51 "User.2" user) 33 | (52 "User.3" user) 34 | (53 "User.4" user) 35 | (54 "User.5" user) 36 | (55 "User.6" user) 37 | (56 "User.7" user) 38 | (57 "User.8" user) 39 | (58 "User.9" user) 40 | ) 41 | (setup 42 | (stackup 43 | (layer "F.SilkS" 44 | (type "Top Silk Screen") 45 | (color "White") 46 | (material "Peters SD2692") 47 | ) 48 | (layer "F.Paste" 49 | (type "Top Solder Paste") 50 | ) 51 | (layer "F.Mask" 52 | (type "Top Solder Mask") 53 | (color "Green") 54 | (thickness 0.025) 55 | (material "Elpemer AS 2467 SM-DG") 56 | (epsilon_r 3.7) 57 | (loss_tangent 0) 58 | ) 59 | (layer "F.Cu" 60 | (type "copper") 61 | (thickness 0.035) 62 | ) 63 | (layer "dielectric 1" 64 | (type "core") 65 | (color "FR4 natural") 66 | (thickness 1.459) 67 | (material "FR4") 68 | (epsilon_r 4.5) 69 | (loss_tangent 0.02) 70 | ) 71 | (layer "B.Cu" 72 | (type "copper") 73 | (thickness 0.035) 74 | ) 75 | (layer "B.Mask" 76 | (type "Bottom Solder Mask") 77 | (color "Green") 78 | (thickness 0.025) 79 | (material "Elpemer AS 2467 SM-DG") 80 | (epsilon_r 3.7) 81 | (loss_tangent 0) 82 | ) 83 | (layer "B.Paste" 84 | (type "Bottom Solder Paste") 85 | ) 86 | (layer "B.SilkS" 87 | (type "Bottom Silk Screen") 88 | (color "White") 89 | (material "Peters SD2692") 90 | ) 91 | (copper_finish "ENIG") 92 | (dielectric_constraints no) 93 | ) 94 | (pad_to_mask_clearance 0) 95 | (allow_soldermask_bridges_in_footprints no) 96 | (pcbplotparams 97 | (layerselection 0x00010fc_ffffffff) 98 | (plot_on_all_layers_selection 0x0000000_00000000) 99 | (disableapertmacros no) 100 | (usegerberextensions no) 101 | (usegerberattributes yes) 102 | (usegerberadvancedattributes yes) 103 | (creategerberjobfile yes) 104 | (dashed_line_dash_ratio 12.000000) 105 | (dashed_line_gap_ratio 3.000000) 106 | (svgprecision 4) 107 | (plotframeref no) 108 | (viasonmask no) 109 | (mode 1) 110 | (useauxorigin no) 111 | (hpglpennumber 1) 112 | (hpglpenspeed 20) 113 | (hpglpendiameter 15.000000) 114 | (pdf_front_fp_property_popups yes) 115 | (pdf_back_fp_property_popups yes) 116 | (dxfpolygonmode yes) 117 | (dxfimperialunits yes) 118 | (dxfusepcbnewfont yes) 119 | (psnegative no) 120 | (psa4output no) 121 | (plotreference yes) 122 | (plotvalue yes) 123 | (plotfptext yes) 124 | (plotinvisibletext no) 125 | (sketchpadsonfab no) 126 | (subtractmaskfromsilk no) 127 | (outputformat 1) 128 | (mirror no) 129 | (drillshape 1) 130 | (scaleselection 1) 131 | (outputdirectory "") 132 | ) 133 | ) 134 | (net 0 "") 135 | ) 136 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-hd-drc/aisler-2-layer-hd-drc.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "apply_defaults_to_fp_fields": false, 7 | "apply_defaults_to_fp_shapes": false, 8 | "apply_defaults_to_fp_text": false, 9 | "board_outline_line_width": 0.05, 10 | "copper_line_width": 0.2, 11 | "copper_text_italic": false, 12 | "copper_text_size_h": 1.5, 13 | "copper_text_size_v": 1.5, 14 | "copper_text_thickness": 0.3, 15 | "copper_text_upright": false, 16 | "courtyard_line_width": 0.05, 17 | "dimension_precision": 4, 18 | "dimension_units": 3, 19 | "dimensions": { 20 | "arrow_length": 1270000, 21 | "extension_offset": 500000, 22 | "keep_text_aligned": true, 23 | "suppress_zeroes": false, 24 | "text_position": 0, 25 | "units_format": 1 26 | }, 27 | "fab_line_width": 0.1, 28 | "fab_text_italic": false, 29 | "fab_text_size_h": 1.0, 30 | "fab_text_size_v": 1.0, 31 | "fab_text_thickness": 0.15, 32 | "fab_text_upright": false, 33 | "other_line_width": 0.1, 34 | "other_text_italic": false, 35 | "other_text_size_h": 1.0, 36 | "other_text_size_v": 1.0, 37 | "other_text_thickness": 0.15, 38 | "other_text_upright": false, 39 | "pads": { 40 | "drill": 0.762, 41 | "height": 1.524, 42 | "width": 1.524 43 | }, 44 | "silk_line_width": 0.1, 45 | "silk_text_italic": false, 46 | "silk_text_size_h": 1.0, 47 | "silk_text_size_v": 1.0, 48 | "silk_text_thickness": 0.1, 49 | "silk_text_upright": false, 50 | "zones": { 51 | "min_clearance": 0.5 52 | } 53 | }, 54 | "diff_pair_dimensions": [ 55 | { 56 | "gap": 0.0, 57 | "via_gap": 0.0, 58 | "width": 0.0 59 | } 60 | ], 61 | "drc_exclusions": [], 62 | "meta": { 63 | "version": 2 64 | }, 65 | "rule_severities": { 66 | "annular_width": "error", 67 | "clearance": "error", 68 | "connection_width": "warning", 69 | "copper_edge_clearance": "error", 70 | "copper_sliver": "warning", 71 | "courtyards_overlap": "error", 72 | "diff_pair_gap_out_of_range": "error", 73 | "diff_pair_uncoupled_length_too_long": "error", 74 | "drill_out_of_range": "error", 75 | "duplicate_footprints": "warning", 76 | "extra_footprint": "warning", 77 | "footprint": "error", 78 | "footprint_symbol_mismatch": "warning", 79 | "footprint_type_mismatch": "ignore", 80 | "hole_clearance": "error", 81 | "hole_near_hole": "error", 82 | "invalid_outline": "error", 83 | "isolated_copper": "warning", 84 | "item_on_disabled_layer": "error", 85 | "items_not_allowed": "error", 86 | "length_out_of_range": "error", 87 | "lib_footprint_issues": "warning", 88 | "lib_footprint_mismatch": "warning", 89 | "malformed_courtyard": "error", 90 | "microvia_drill_out_of_range": "error", 91 | "missing_courtyard": "ignore", 92 | "missing_footprint": "warning", 93 | "net_conflict": "warning", 94 | "npth_inside_courtyard": "ignore", 95 | "padstack": "warning", 96 | "pth_inside_courtyard": "ignore", 97 | "shorting_items": "error", 98 | "silk_edge_clearance": "warning", 99 | "silk_over_copper": "warning", 100 | "silk_overlap": "warning", 101 | "skew_out_of_range": "error", 102 | "solder_mask_bridge": "error", 103 | "starved_thermal": "error", 104 | "text_height": "warning", 105 | "text_thickness": "warning", 106 | "through_hole_pad_without_hole": "error", 107 | "too_many_vias": "error", 108 | "track_dangling": "warning", 109 | "track_width": "error", 110 | "tracks_crossing": "error", 111 | "unconnected_items": "error", 112 | "unresolved_variable": "error", 113 | "via_dangling": "warning", 114 | "zones_intersect": "error" 115 | }, 116 | "rules": { 117 | "max_error": 0.005, 118 | "min_clearance": 0.125, 119 | "min_connection": 0.125, 120 | "min_copper_edge_clearance": 0.3, 121 | "min_hole_clearance": 0.25, 122 | "min_hole_to_hole": 0.3, 123 | "min_microvia_diameter": 0.0, 124 | "min_microvia_drill": 0.0, 125 | "min_resolved_spokes": 2, 126 | "min_silk_clearance": 0.0, 127 | "min_text_height": 0.8, 128 | "min_text_thickness": 0.15, 129 | "min_through_hole_diameter": 0.25, 130 | "min_track_width": 0.125, 131 | "min_via_annular_width": 0.1, 132 | "min_via_diameter": 0.45, 133 | "solder_mask_to_copper_clearance": 0.0, 134 | "use_height_for_length_calcs": true 135 | }, 136 | "teardrop_options": [ 137 | { 138 | "td_onpadsmd": true, 139 | "td_onroundshapesonly": false, 140 | "td_ontrackend": false, 141 | "td_onviapad": true 142 | } 143 | ], 144 | "teardrop_parameters": [ 145 | { 146 | "td_allow_use_two_tracks": true, 147 | "td_curve_segcount": 0, 148 | "td_height_ratio": 1.0, 149 | "td_length_ratio": 0.5, 150 | "td_maxheight": 2.0, 151 | "td_maxlen": 1.0, 152 | "td_on_pad_in_zone": false, 153 | "td_target_name": "td_round_shape", 154 | "td_width_to_size_filter_ratio": 0.9 155 | }, 156 | { 157 | "td_allow_use_two_tracks": true, 158 | "td_curve_segcount": 0, 159 | "td_height_ratio": 1.0, 160 | "td_length_ratio": 0.5, 161 | "td_maxheight": 2.0, 162 | "td_maxlen": 1.0, 163 | "td_on_pad_in_zone": false, 164 | "td_target_name": "td_rect_shape", 165 | "td_width_to_size_filter_ratio": 0.9 166 | }, 167 | { 168 | "td_allow_use_two_tracks": true, 169 | "td_curve_segcount": 0, 170 | "td_height_ratio": 1.0, 171 | "td_length_ratio": 0.5, 172 | "td_maxheight": 2.0, 173 | "td_maxlen": 1.0, 174 | "td_on_pad_in_zone": false, 175 | "td_target_name": "td_track_end", 176 | "td_width_to_size_filter_ratio": 0.9 177 | } 178 | ], 179 | "track_widths": [ 180 | 0.0, 181 | 0.125, 182 | 0.15, 183 | 0.175, 184 | 0.2, 185 | 0.25, 186 | 0.3, 187 | 0.35, 188 | 0.4, 189 | 0.45, 190 | 0.5, 191 | 0.55, 192 | 0.6, 193 | 0.8, 194 | 1.0 195 | ], 196 | "tuning_pattern_settings": { 197 | "diff_pair_defaults": { 198 | "corner_radius_percentage": 80, 199 | "corner_style": 1, 200 | "max_amplitude": 1.0, 201 | "min_amplitude": 0.2, 202 | "single_sided": false, 203 | "spacing": 1.0 204 | }, 205 | "diff_pair_skew_defaults": { 206 | "corner_radius_percentage": 80, 207 | "corner_style": 1, 208 | "max_amplitude": 1.0, 209 | "min_amplitude": 0.2, 210 | "single_sided": false, 211 | "spacing": 0.6 212 | }, 213 | "single_track_defaults": { 214 | "corner_radius_percentage": 80, 215 | "corner_style": 1, 216 | "max_amplitude": 1.0, 217 | "min_amplitude": 0.2, 218 | "single_sided": false, 219 | "spacing": 0.6 220 | } 221 | }, 222 | "via_dimensions": [ 223 | { 224 | "diameter": 0.0, 225 | "drill": 0.0 226 | }, 227 | { 228 | "diameter": 0.45, 229 | "drill": 0.25 230 | }, 231 | { 232 | "diameter": 0.5, 233 | "drill": 0.25 234 | }, 235 | { 236 | "diameter": 0.55, 237 | "drill": 0.3 238 | }, 239 | { 240 | "diameter": 0.6, 241 | "drill": 0.3 242 | }, 243 | { 244 | "diameter": 0.65, 245 | "drill": 0.3 246 | }, 247 | { 248 | "diameter": 0.7, 249 | "drill": 0.4 250 | }, 251 | { 252 | "diameter": 0.75, 253 | "drill": 0.45 254 | }, 255 | { 256 | "diameter": 0.8, 257 | "drill": 0.45 258 | } 259 | ], 260 | "zones_allow_external_fillets": false 261 | }, 262 | "ipc2581": { 263 | "dist": "", 264 | "distpn": "", 265 | "internal_id": "", 266 | "mfg": "", 267 | "mpn": "" 268 | }, 269 | "layer_presets": [], 270 | "viewports": [] 271 | }, 272 | "boards": [], 273 | "cvpcb": { 274 | "equivalence_files": [] 275 | }, 276 | "libraries": { 277 | "pinned_footprint_libs": [], 278 | "pinned_symbol_libs": [] 279 | }, 280 | "meta": { 281 | "filename": "aisler-2-layer-hd-drc.kicad_pro", 282 | "version": 1 283 | }, 284 | "net_settings": { 285 | "classes": [ 286 | { 287 | "bus_width": 12, 288 | "clearance": 0.2, 289 | "diff_pair_gap": 0.25, 290 | "diff_pair_via_gap": 0.25, 291 | "diff_pair_width": 0.2, 292 | "line_style": 0, 293 | "microvia_diameter": 0.3, 294 | "microvia_drill": 0.1, 295 | "name": "Default", 296 | "pcb_color": "rgba(0, 0, 0, 0.000)", 297 | "schematic_color": "rgba(0, 0, 0, 0.000)", 298 | "track_width": 0.2, 299 | "via_diameter": 0.6, 300 | "via_drill": 0.3, 301 | "wire_width": 6 302 | } 303 | ], 304 | "meta": { 305 | "version": 3 306 | }, 307 | "net_colors": null, 308 | "netclass_assignments": null, 309 | "netclass_patterns": [] 310 | }, 311 | "pcbnew": { 312 | "last_paths": { 313 | "gencad": "", 314 | "idf": "", 315 | "netlist": "", 316 | "plot": "", 317 | "pos_files": "", 318 | "specctra_dsn": "", 319 | "step": "", 320 | "svg": "", 321 | "vrml": "" 322 | }, 323 | "page_layout_descr_file": "" 324 | }, 325 | "schematic": { 326 | "legacy_lib_dir": "", 327 | "legacy_lib_list": [] 328 | }, 329 | "sheets": [], 330 | "text_variables": {} 331 | } 332 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-hd-drc/aisler-2-layer-hd-drc.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20231120) (generator "eeschema") (generator_version "8.0") 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) 6 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-simple-drc/aisler-2-layer-simple-drc.kicad_dru: -------------------------------------------------------------------------------- 1 | (version 1.1) 2 | #---------------------------------------------------------------------------------------------------- 3 | # AISLER custom DRC rules. 4 | # Make Hardware less Hard. 5 | #---------------------------------------------------------------------------------------------------- 6 | # We created these custom rules to warn you if your design hits our manufacturing bounderies. 7 | # You can disable the custom rules by commenting them out, though we advise against it. 8 | # These rules are valid as of May 2024, please check for updated ones on our forum. 9 | # Please also note that these rules do not catch every single manufacturing limit. 10 | # If you are not certain please check the documentation on our website. 11 | #---------------------------------------------------------------------------------------------------- 12 | 13 | # As our tooling is finite we only support certain trough hole sizes. 14 | # Please keep the plated trough holes below 5.6mm in diameter. 15 | # We provide a community post for more details: 16 | # https://community.aisler.net/t/plated-and-non-plated-holes/50 17 | 18 | (rule "Max Drill Hole Size PTH" 19 | (constraint hole_size (max 5.6mm)) 20 | (condition "A.Pad_Type == 'Through-hole'")) 21 | 22 | #---------------------------------------------------------------------------------------------------- 23 | # We dont support micro or buried vias 24 | 25 | (rule "Disallow buried via" 26 | (constraint disallow buried_via)) 27 | 28 | (rule "Disallow micro via" 29 | (constraint disallow micro_via)) 30 | 31 | #---------------------------------------------------------------------------------------------------- 32 | # The Soldermask is pulled back by a bit to account for slight missalignment during manufacturing. 33 | # We do this on our own, please keep the soldermask margin set to 0. 34 | 35 | (rule "Disallow solder mask margin overrides" 36 | (constraint assertion "A.Soldermask_Margin_Override == 0mm") 37 | (condition "A.Type == 'Pad'")) 38 | 39 | #---------------------------------------------------------------------------------------------------- 40 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-simple-drc/aisler-2-layer-simple-drc.kicad_pcb: -------------------------------------------------------------------------------- 1 | (kicad_pcb 2 | (version 20240108) 3 | (generator "pcbnew") 4 | (generator_version "8.0") 5 | (general 6 | (thickness 1.579) 7 | (legacy_teardrops no) 8 | ) 9 | (paper "A4") 10 | (layers 11 | (0 "F.Cu" signal) 12 | (31 "B.Cu" signal) 13 | (32 "B.Adhes" user "B.Adhesive") 14 | (33 "F.Adhes" user "F.Adhesive") 15 | (34 "B.Paste" user) 16 | (35 "F.Paste" user) 17 | (36 "B.SilkS" user "B.Silkscreen") 18 | (37 "F.SilkS" user "F.Silkscreen") 19 | (38 "B.Mask" user) 20 | (39 "F.Mask" user) 21 | (40 "Dwgs.User" user "User.Drawings") 22 | (41 "Cmts.User" user "User.Comments") 23 | (42 "Eco1.User" user "User.Eco1") 24 | (43 "Eco2.User" user "User.Eco2") 25 | (44 "Edge.Cuts" user) 26 | (45 "Margin" user) 27 | (46 "B.CrtYd" user "B.Courtyard") 28 | (47 "F.CrtYd" user "F.Courtyard") 29 | (48 "B.Fab" user) 30 | (49 "F.Fab" user) 31 | (50 "User.1" user) 32 | (51 "User.2" user) 33 | (52 "User.3" user) 34 | (53 "User.4" user) 35 | (54 "User.5" user) 36 | (55 "User.6" user) 37 | (56 "User.7" user) 38 | (57 "User.8" user) 39 | (58 "User.9" user) 40 | ) 41 | (setup 42 | (stackup 43 | (layer "F.SilkS" 44 | (type "Top Silk Screen") 45 | (color "White") 46 | (material "Peters SD2692") 47 | ) 48 | (layer "F.Paste" 49 | (type "Top Solder Paste") 50 | ) 51 | (layer "F.Mask" 52 | (type "Top Solder Mask") 53 | (color "Green") 54 | (thickness 0.025) 55 | (material "Elpemer AS 2467 SM-DG") 56 | (epsilon_r 3.7) 57 | (loss_tangent 0) 58 | ) 59 | (layer "F.Cu" 60 | (type "copper") 61 | (thickness 0.035) 62 | ) 63 | (layer "dielectric 1" 64 | (type "core") 65 | (color "FR4 natural") 66 | (thickness 1.459) 67 | (material "FR4") 68 | (epsilon_r 4.5) 69 | (loss_tangent 0.02) 70 | ) 71 | (layer "B.Cu" 72 | (type "copper") 73 | (thickness 0.035) 74 | ) 75 | (layer "B.Mask" 76 | (type "Bottom Solder Mask") 77 | (color "Green") 78 | (thickness 0.025) 79 | (material "Elpemer AS 2467 SM-DG") 80 | (epsilon_r 3.7) 81 | (loss_tangent 0) 82 | ) 83 | (layer "B.Paste" 84 | (type "Bottom Solder Paste") 85 | ) 86 | (layer "B.SilkS" 87 | (type "Bottom Silk Screen") 88 | (color "White") 89 | (material "Peters SD2692") 90 | ) 91 | (copper_finish "HAL lead-free") 92 | (dielectric_constraints no) 93 | ) 94 | (pad_to_mask_clearance 0) 95 | (allow_soldermask_bridges_in_footprints no) 96 | (pcbplotparams 97 | (layerselection 0x00010fc_ffffffff) 98 | (plot_on_all_layers_selection 0x0000000_00000000) 99 | (disableapertmacros no) 100 | (usegerberextensions no) 101 | (usegerberattributes yes) 102 | (usegerberadvancedattributes yes) 103 | (creategerberjobfile yes) 104 | (dashed_line_dash_ratio 12.000000) 105 | (dashed_line_gap_ratio 3.000000) 106 | (svgprecision 4) 107 | (plotframeref no) 108 | (viasonmask no) 109 | (mode 1) 110 | (useauxorigin no) 111 | (hpglpennumber 1) 112 | (hpglpenspeed 20) 113 | (hpglpendiameter 15.000000) 114 | (pdf_front_fp_property_popups yes) 115 | (pdf_back_fp_property_popups yes) 116 | (dxfpolygonmode yes) 117 | (dxfimperialunits yes) 118 | (dxfusepcbnewfont yes) 119 | (psnegative no) 120 | (psa4output no) 121 | (plotreference yes) 122 | (plotvalue yes) 123 | (plotfptext yes) 124 | (plotinvisibletext no) 125 | (sketchpadsonfab no) 126 | (subtractmaskfromsilk no) 127 | (outputformat 1) 128 | (mirror no) 129 | (drillshape 1) 130 | (scaleselection 1) 131 | (outputdirectory "") 132 | ) 133 | ) 134 | (net 0 "") 135 | ) 136 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-simple-drc/aisler-2-layer-simple-drc.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "apply_defaults_to_fp_fields": false, 7 | "apply_defaults_to_fp_shapes": false, 8 | "apply_defaults_to_fp_text": false, 9 | "board_outline_line_width": 0.05, 10 | "copper_line_width": 0.2, 11 | "copper_text_italic": false, 12 | "copper_text_size_h": 1.5, 13 | "copper_text_size_v": 1.5, 14 | "copper_text_thickness": 0.3, 15 | "copper_text_upright": false, 16 | "courtyard_line_width": 0.05, 17 | "dimension_precision": 4, 18 | "dimension_units": 3, 19 | "dimensions": { 20 | "arrow_length": 1270000, 21 | "extension_offset": 500000, 22 | "keep_text_aligned": true, 23 | "suppress_zeroes": false, 24 | "text_position": 0, 25 | "units_format": 1 26 | }, 27 | "fab_line_width": 0.1, 28 | "fab_text_italic": false, 29 | "fab_text_size_h": 1.0, 30 | "fab_text_size_v": 1.0, 31 | "fab_text_thickness": 0.15, 32 | "fab_text_upright": false, 33 | "other_line_width": 0.1, 34 | "other_text_italic": false, 35 | "other_text_size_h": 1.0, 36 | "other_text_size_v": 1.0, 37 | "other_text_thickness": 0.15, 38 | "other_text_upright": false, 39 | "pads": { 40 | "drill": 0.762, 41 | "height": 1.524, 42 | "width": 1.524 43 | }, 44 | "silk_line_width": 0.1, 45 | "silk_text_italic": false, 46 | "silk_text_size_h": 1.0, 47 | "silk_text_size_v": 1.0, 48 | "silk_text_thickness": 0.1, 49 | "silk_text_upright": false, 50 | "zones": { 51 | "min_clearance": 0.5 52 | } 53 | }, 54 | "diff_pair_dimensions": [ 55 | { 56 | "gap": 0.0, 57 | "via_gap": 0.0, 58 | "width": 0.0 59 | } 60 | ], 61 | "drc_exclusions": [], 62 | "meta": { 63 | "version": 2 64 | }, 65 | "rule_severities": { 66 | "annular_width": "error", 67 | "clearance": "error", 68 | "connection_width": "warning", 69 | "copper_edge_clearance": "error", 70 | "copper_sliver": "warning", 71 | "courtyards_overlap": "error", 72 | "diff_pair_gap_out_of_range": "error", 73 | "diff_pair_uncoupled_length_too_long": "error", 74 | "drill_out_of_range": "error", 75 | "duplicate_footprints": "warning", 76 | "extra_footprint": "warning", 77 | "footprint": "error", 78 | "footprint_symbol_mismatch": "warning", 79 | "footprint_type_mismatch": "ignore", 80 | "hole_clearance": "error", 81 | "hole_near_hole": "error", 82 | "invalid_outline": "error", 83 | "isolated_copper": "warning", 84 | "item_on_disabled_layer": "error", 85 | "items_not_allowed": "error", 86 | "length_out_of_range": "error", 87 | "lib_footprint_issues": "warning", 88 | "lib_footprint_mismatch": "warning", 89 | "malformed_courtyard": "error", 90 | "microvia_drill_out_of_range": "error", 91 | "missing_courtyard": "ignore", 92 | "missing_footprint": "warning", 93 | "net_conflict": "warning", 94 | "npth_inside_courtyard": "ignore", 95 | "padstack": "warning", 96 | "pth_inside_courtyard": "ignore", 97 | "shorting_items": "error", 98 | "silk_edge_clearance": "warning", 99 | "silk_over_copper": "warning", 100 | "silk_overlap": "warning", 101 | "skew_out_of_range": "error", 102 | "solder_mask_bridge": "error", 103 | "starved_thermal": "error", 104 | "text_height": "warning", 105 | "text_thickness": "warning", 106 | "through_hole_pad_without_hole": "error", 107 | "too_many_vias": "error", 108 | "track_dangling": "warning", 109 | "track_width": "error", 110 | "tracks_crossing": "error", 111 | "unconnected_items": "error", 112 | "unresolved_variable": "error", 113 | "via_dangling": "warning", 114 | "zones_intersect": "error" 115 | }, 116 | "rules": { 117 | "max_error": 0.005, 118 | "min_clearance": 0.15, 119 | "min_connection": 0.2, 120 | "min_copper_edge_clearance": 0.3, 121 | "min_hole_clearance": 0.25, 122 | "min_hole_to_hole": 0.3, 123 | "min_microvia_diameter": 0.0, 124 | "min_microvia_drill": 0.0, 125 | "min_resolved_spokes": 2, 126 | "min_silk_clearance": 0.0, 127 | "min_text_height": 0.8, 128 | "min_text_thickness": 0.15, 129 | "min_through_hole_diameter": 0.3, 130 | "min_track_width": 0.2, 131 | "min_via_annular_width": 0.2, 132 | "min_via_diameter": 0.7, 133 | "solder_mask_to_copper_clearance": 0.0, 134 | "use_height_for_length_calcs": true 135 | }, 136 | "teardrop_options": [ 137 | { 138 | "td_onpadsmd": true, 139 | "td_onroundshapesonly": false, 140 | "td_ontrackend": false, 141 | "td_onviapad": true 142 | } 143 | ], 144 | "teardrop_parameters": [ 145 | { 146 | "td_allow_use_two_tracks": true, 147 | "td_curve_segcount": 0, 148 | "td_height_ratio": 1.0, 149 | "td_length_ratio": 0.5, 150 | "td_maxheight": 2.0, 151 | "td_maxlen": 1.0, 152 | "td_on_pad_in_zone": false, 153 | "td_target_name": "td_round_shape", 154 | "td_width_to_size_filter_ratio": 0.9 155 | }, 156 | { 157 | "td_allow_use_two_tracks": true, 158 | "td_curve_segcount": 0, 159 | "td_height_ratio": 1.0, 160 | "td_length_ratio": 0.5, 161 | "td_maxheight": 2.0, 162 | "td_maxlen": 1.0, 163 | "td_on_pad_in_zone": false, 164 | "td_target_name": "td_rect_shape", 165 | "td_width_to_size_filter_ratio": 0.9 166 | }, 167 | { 168 | "td_allow_use_two_tracks": true, 169 | "td_curve_segcount": 0, 170 | "td_height_ratio": 1.0, 171 | "td_length_ratio": 0.5, 172 | "td_maxheight": 2.0, 173 | "td_maxlen": 1.0, 174 | "td_on_pad_in_zone": false, 175 | "td_target_name": "td_track_end", 176 | "td_width_to_size_filter_ratio": 0.9 177 | } 178 | ], 179 | "track_widths": [ 180 | 0.0, 181 | 0.2, 182 | 0.25, 183 | 0.3, 184 | 0.35, 185 | 0.4, 186 | 0.45, 187 | 0.5, 188 | 0.55, 189 | 0.6, 190 | 0.8, 191 | 1.0 192 | ], 193 | "tuning_pattern_settings": { 194 | "diff_pair_defaults": { 195 | "corner_radius_percentage": 80, 196 | "corner_style": 1, 197 | "max_amplitude": 1.0, 198 | "min_amplitude": 0.2, 199 | "single_sided": false, 200 | "spacing": 1.0 201 | }, 202 | "diff_pair_skew_defaults": { 203 | "corner_radius_percentage": 80, 204 | "corner_style": 1, 205 | "max_amplitude": 1.0, 206 | "min_amplitude": 0.2, 207 | "single_sided": false, 208 | "spacing": 0.6 209 | }, 210 | "single_track_defaults": { 211 | "corner_radius_percentage": 80, 212 | "corner_style": 1, 213 | "max_amplitude": 1.0, 214 | "min_amplitude": 0.2, 215 | "single_sided": false, 216 | "spacing": 0.6 217 | } 218 | }, 219 | "via_dimensions": [ 220 | { 221 | "diameter": 0.0, 222 | "drill": 0.0 223 | }, 224 | { 225 | "diameter": 0.7, 226 | "drill": 0.3 227 | }, 228 | { 229 | "diameter": 0.75, 230 | "drill": 0.3 231 | }, 232 | { 233 | "diameter": 0.8, 234 | "drill": 0.4 235 | }, 236 | { 237 | "diameter": 0.85, 238 | "drill": 0.45 239 | }, 240 | { 241 | "diameter": 0.9, 242 | "drill": 0.45 243 | }, 244 | { 245 | "diameter": 1.0, 246 | "drill": 0.45 247 | } 248 | ], 249 | "zones_allow_external_fillets": false 250 | }, 251 | "ipc2581": { 252 | "dist": "", 253 | "distpn": "", 254 | "internal_id": "", 255 | "mfg": "", 256 | "mpn": "" 257 | }, 258 | "layer_presets": [], 259 | "viewports": [] 260 | }, 261 | "boards": [], 262 | "cvpcb": { 263 | "equivalence_files": [] 264 | }, 265 | "libraries": { 266 | "pinned_footprint_libs": [], 267 | "pinned_symbol_libs": [] 268 | }, 269 | "meta": { 270 | "filename": "aisler-2-layer-simple-drc.kicad_pro", 271 | "version": 1 272 | }, 273 | "net_settings": { 274 | "classes": [ 275 | { 276 | "bus_width": 12, 277 | "clearance": 0.2, 278 | "diff_pair_gap": 0.25, 279 | "diff_pair_via_gap": 0.25, 280 | "diff_pair_width": 0.2, 281 | "line_style": 0, 282 | "microvia_diameter": 0.3, 283 | "microvia_drill": 0.1, 284 | "name": "Default", 285 | "pcb_color": "rgba(0, 0, 0, 0.000)", 286 | "schematic_color": "rgba(0, 0, 0, 0.000)", 287 | "track_width": 0.2, 288 | "via_diameter": 0.7, 289 | "via_drill": 0.3, 290 | "wire_width": 6 291 | } 292 | ], 293 | "meta": { 294 | "version": 3 295 | }, 296 | "net_colors": null, 297 | "netclass_assignments": null, 298 | "netclass_patterns": [] 299 | }, 300 | "pcbnew": { 301 | "last_paths": { 302 | "gencad": "", 303 | "idf": "", 304 | "netlist": "", 305 | "plot": "", 306 | "pos_files": "", 307 | "specctra_dsn": "", 308 | "step": "", 309 | "svg": "", 310 | "vrml": "" 311 | }, 312 | "page_layout_descr_file": "" 313 | }, 314 | "schematic": { 315 | "legacy_lib_dir": "", 316 | "legacy_lib_list": [] 317 | }, 318 | "sheets": [], 319 | "text_variables": {} 320 | } 321 | -------------------------------------------------------------------------------- /kicad/aisler-2-layer-simple-drc/aisler-2-layer-simple-drc.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20231120) (generator "eeschema") (generator_version "8.0") 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) 6 | -------------------------------------------------------------------------------- /kicad/aisler-4-layer-hd-drc/aisler-4-layer-hd-drc.kicad_dru: -------------------------------------------------------------------------------- 1 | (version 1.1) 2 | #---------------------------------------------------------------------------------------------------- 3 | # AISLER custom DRC rules. 4 | # Make Hardware less Hard. 5 | #---------------------------------------------------------------------------------------------------- 6 | # We created these custom rules to warn you if your design hits our manufacturing bounderies. 7 | # You can disable the custom rules by commenting them out, though we advise against it. 8 | # These rules are valid as of May 2024, please check for updated ones on our forum. 9 | # Please also note that these rules do not catch every single manufacturing limit. 10 | # If you are not certain please check the documentation on our website. 11 | #---------------------------------------------------------------------------------------------------- 12 | 13 | # As our tooling is finite we only support certain trough hole sizes. 14 | # Please keep the plated trough holes below 5.6mm in diameter. 15 | # We provide a community post for more details: 16 | # https://community.aisler.net/t/plated-and-non-plated-holes/50 17 | 18 | (rule "Max Drill Hole Size PTH" 19 | (constraint hole_size (max 5.6mm)) 20 | (condition "A.Pad_Type == 'Through-hole'")) 21 | 22 | #---------------------------------------------------------------------------------------------------- 23 | # We dont support micro or buried vias 24 | 25 | (rule "Disallow buried via" 26 | (constraint disallow buried_via)) 27 | 28 | (rule "Disallow micro via" 29 | (constraint disallow micro_via)) 30 | 31 | #---------------------------------------------------------------------------------------------------- 32 | # The Soldermask is pulled back by a bit to account for slight missalignment during manufacturing. 33 | # We do this on our own, please keep the soldermask margin set to 0. 34 | 35 | (rule "Disallow solder mask margin overrides" 36 | (constraint assertion "A.Soldermask_Margin_Override == 0mm") 37 | (condition "A.Type == 'Pad'")) 38 | 39 | #---------------------------------------------------------------------------------------------------- 40 | -------------------------------------------------------------------------------- /kicad/aisler-4-layer-hd-drc/aisler-4-layer-hd-drc.kicad_pcb: -------------------------------------------------------------------------------- 1 | (kicad_pcb 2 | (version 20240108) 3 | (generator "pcbnew") 4 | (generator_version "8.0") 5 | (general 6 | (thickness 1.579) 7 | (legacy_teardrops no) 8 | ) 9 | (paper "A4") 10 | (layers 11 | (0 "F.Cu" signal) 12 | (1 "In1.Cu" signal) 13 | (2 "In2.Cu" signal) 14 | (31 "B.Cu" signal) 15 | (32 "B.Adhes" user "B.Adhesive") 16 | (33 "F.Adhes" user "F.Adhesive") 17 | (34 "B.Paste" user) 18 | (35 "F.Paste" user) 19 | (36 "B.SilkS" user "B.Silkscreen") 20 | (37 "F.SilkS" user "F.Silkscreen") 21 | (38 "B.Mask" user) 22 | (39 "F.Mask" user) 23 | (40 "Dwgs.User" user "User.Drawings") 24 | (41 "Cmts.User" user "User.Comments") 25 | (42 "Eco1.User" user "User.Eco1") 26 | (43 "Eco2.User" user "User.Eco2") 27 | (44 "Edge.Cuts" user) 28 | (45 "Margin" user) 29 | (46 "B.CrtYd" user "B.Courtyard") 30 | (47 "F.CrtYd" user "F.Courtyard") 31 | (48 "B.Fab" user) 32 | (49 "F.Fab" user) 33 | (50 "User.1" user) 34 | (51 "User.2" user) 35 | (52 "User.3" user) 36 | (53 "User.4" user) 37 | (54 "User.5" user) 38 | (55 "User.6" user) 39 | (56 "User.7" user) 40 | (57 "User.8" user) 41 | (58 "User.9" user) 42 | ) 43 | (setup 44 | (stackup 45 | (layer "F.SilkS" 46 | (type "Top Silk Screen") 47 | (color "White") 48 | (material "Peters SD2692") 49 | ) 50 | (layer "F.Paste" 51 | (type "Top Solder Paste") 52 | ) 53 | (layer "F.Mask" 54 | (type "Top Solder Mask") 55 | (color "Green") 56 | (thickness 0.025) 57 | (material "Elpemer AS 2467 SM-DG") 58 | (epsilon_r 3.7) 59 | (loss_tangent 0) 60 | ) 61 | (layer "F.Cu" 62 | (type "copper") 63 | (thickness 0.035) 64 | ) 65 | (layer "dielectric 1" 66 | (type "prepreg") 67 | (color "FR4 natural") 68 | (thickness 0.138) 69 | (material "Pansonic R-1551(W)") 70 | (epsilon_r 4.3) 71 | (loss_tangent 0) 72 | ) 73 | (layer "In1.Cu" 74 | (type "copper") 75 | (thickness 0.035) 76 | ) 77 | (layer "dielectric 2" 78 | (type "core") 79 | (color "FR4 natural") 80 | (thickness 1.113) 81 | (material "Panasonic R-1566(W)") 82 | (epsilon_r 4.6) 83 | (loss_tangent 0) 84 | ) 85 | (layer "In2.Cu" 86 | (type "copper") 87 | (thickness 0.035) 88 | ) 89 | (layer "dielectric 3" 90 | (type "prepreg") 91 | (color "FR4 natural") 92 | (thickness 0.138) 93 | (material "Pansonic R-1551(W)") 94 | (epsilon_r 4.3) 95 | (loss_tangent 0) 96 | ) 97 | (layer "B.Cu" 98 | (type "copper") 99 | (thickness 0.035) 100 | ) 101 | (layer "B.Mask" 102 | (type "Bottom Solder Mask") 103 | (color "Green") 104 | (thickness 0.025) 105 | (material "Elpemer AS 2467 SM-DG") 106 | (epsilon_r 3.7) 107 | (loss_tangent 0) 108 | ) 109 | (layer "B.Paste" 110 | (type "Bottom Solder Paste") 111 | ) 112 | (layer "B.SilkS" 113 | (type "Bottom Silk Screen") 114 | (color "White") 115 | (material "Peters SD2692") 116 | ) 117 | (copper_finish "ENIG") 118 | (dielectric_constraints no) 119 | ) 120 | (pad_to_mask_clearance 0) 121 | (allow_soldermask_bridges_in_footprints no) 122 | (pcbplotparams 123 | (layerselection 0x00010fc_ffffffff) 124 | (plot_on_all_layers_selection 0x0000000_00000000) 125 | (disableapertmacros no) 126 | (usegerberextensions no) 127 | (usegerberattributes yes) 128 | (usegerberadvancedattributes yes) 129 | (creategerberjobfile yes) 130 | (dashed_line_dash_ratio 12.000000) 131 | (dashed_line_gap_ratio 3.000000) 132 | (svgprecision 4) 133 | (plotframeref no) 134 | (viasonmask no) 135 | (mode 1) 136 | (useauxorigin no) 137 | (hpglpennumber 1) 138 | (hpglpenspeed 20) 139 | (hpglpendiameter 15.000000) 140 | (pdf_front_fp_property_popups yes) 141 | (pdf_back_fp_property_popups yes) 142 | (dxfpolygonmode yes) 143 | (dxfimperialunits yes) 144 | (dxfusepcbnewfont yes) 145 | (psnegative no) 146 | (psa4output no) 147 | (plotreference yes) 148 | (plotvalue yes) 149 | (plotfptext yes) 150 | (plotinvisibletext no) 151 | (sketchpadsonfab no) 152 | (subtractmaskfromsilk no) 153 | (outputformat 1) 154 | (mirror no) 155 | (drillshape 1) 156 | (scaleselection 1) 157 | (outputdirectory "") 158 | ) 159 | ) 160 | (net 0 "") 161 | ) 162 | -------------------------------------------------------------------------------- /kicad/aisler-4-layer-hd-drc/aisler-4-layer-hd-drc.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "apply_defaults_to_fp_fields": false, 7 | "apply_defaults_to_fp_shapes": false, 8 | "apply_defaults_to_fp_text": false, 9 | "board_outline_line_width": 0.05, 10 | "copper_line_width": 0.2, 11 | "copper_text_italic": false, 12 | "copper_text_size_h": 1.5, 13 | "copper_text_size_v": 1.5, 14 | "copper_text_thickness": 0.3, 15 | "copper_text_upright": false, 16 | "courtyard_line_width": 0.05, 17 | "dimension_precision": 4, 18 | "dimension_units": 3, 19 | "dimensions": { 20 | "arrow_length": 1270000, 21 | "extension_offset": 500000, 22 | "keep_text_aligned": true, 23 | "suppress_zeroes": false, 24 | "text_position": 0, 25 | "units_format": 1 26 | }, 27 | "fab_line_width": 0.1, 28 | "fab_text_italic": false, 29 | "fab_text_size_h": 1.0, 30 | "fab_text_size_v": 1.0, 31 | "fab_text_thickness": 0.15, 32 | "fab_text_upright": false, 33 | "other_line_width": 0.1, 34 | "other_text_italic": false, 35 | "other_text_size_h": 1.0, 36 | "other_text_size_v": 1.0, 37 | "other_text_thickness": 0.15, 38 | "other_text_upright": false, 39 | "pads": { 40 | "drill": 0.762, 41 | "height": 1.524, 42 | "width": 1.524 43 | }, 44 | "silk_line_width": 0.1, 45 | "silk_text_italic": false, 46 | "silk_text_size_h": 1.0, 47 | "silk_text_size_v": 1.0, 48 | "silk_text_thickness": 0.1, 49 | "silk_text_upright": false, 50 | "zones": { 51 | "min_clearance": 0.5 52 | } 53 | }, 54 | "diff_pair_dimensions": [ 55 | { 56 | "gap": 0.0, 57 | "via_gap": 0.0, 58 | "width": 0.0 59 | } 60 | ], 61 | "drc_exclusions": [], 62 | "meta": { 63 | "version": 2 64 | }, 65 | "rule_severities": { 66 | "annular_width": "error", 67 | "clearance": "error", 68 | "connection_width": "warning", 69 | "copper_edge_clearance": "error", 70 | "copper_sliver": "warning", 71 | "courtyards_overlap": "error", 72 | "diff_pair_gap_out_of_range": "error", 73 | "diff_pair_uncoupled_length_too_long": "error", 74 | "drill_out_of_range": "error", 75 | "duplicate_footprints": "warning", 76 | "extra_footprint": "warning", 77 | "footprint": "error", 78 | "footprint_symbol_mismatch": "warning", 79 | "footprint_type_mismatch": "ignore", 80 | "hole_clearance": "error", 81 | "hole_near_hole": "error", 82 | "invalid_outline": "error", 83 | "isolated_copper": "warning", 84 | "item_on_disabled_layer": "error", 85 | "items_not_allowed": "error", 86 | "length_out_of_range": "error", 87 | "lib_footprint_issues": "warning", 88 | "lib_footprint_mismatch": "warning", 89 | "malformed_courtyard": "error", 90 | "microvia_drill_out_of_range": "error", 91 | "missing_courtyard": "ignore", 92 | "missing_footprint": "warning", 93 | "net_conflict": "warning", 94 | "npth_inside_courtyard": "ignore", 95 | "padstack": "warning", 96 | "pth_inside_courtyard": "ignore", 97 | "shorting_items": "error", 98 | "silk_edge_clearance": "warning", 99 | "silk_over_copper": "warning", 100 | "silk_overlap": "warning", 101 | "skew_out_of_range": "error", 102 | "solder_mask_bridge": "error", 103 | "starved_thermal": "error", 104 | "text_height": "warning", 105 | "text_thickness": "warning", 106 | "through_hole_pad_without_hole": "error", 107 | "too_many_vias": "error", 108 | "track_dangling": "warning", 109 | "track_width": "error", 110 | "tracks_crossing": "error", 111 | "unconnected_items": "error", 112 | "unresolved_variable": "error", 113 | "via_dangling": "warning", 114 | "zones_intersect": "error" 115 | }, 116 | "rules": { 117 | "max_error": 0.005, 118 | "min_clearance": 0.125, 119 | "min_connection": 0.125, 120 | "min_copper_edge_clearance": 0.3, 121 | "min_hole_clearance": 0.25, 122 | "min_hole_to_hole": 0.3, 123 | "min_microvia_diameter": 0.0, 124 | "min_microvia_drill": 0.0, 125 | "min_resolved_spokes": 2, 126 | "min_silk_clearance": 0.0, 127 | "min_text_height": 0.8, 128 | "min_text_thickness": 0.15, 129 | "min_through_hole_diameter": 0.25, 130 | "min_track_width": 0.125, 131 | "min_via_annular_width": 0.1, 132 | "min_via_diameter": 0.45, 133 | "solder_mask_to_copper_clearance": 0.0, 134 | "use_height_for_length_calcs": true 135 | }, 136 | "teardrop_options": [ 137 | { 138 | "td_onpadsmd": true, 139 | "td_onroundshapesonly": false, 140 | "td_ontrackend": false, 141 | "td_onviapad": true 142 | } 143 | ], 144 | "teardrop_parameters": [ 145 | { 146 | "td_allow_use_two_tracks": true, 147 | "td_curve_segcount": 0, 148 | "td_height_ratio": 1.0, 149 | "td_length_ratio": 0.5, 150 | "td_maxheight": 2.0, 151 | "td_maxlen": 1.0, 152 | "td_on_pad_in_zone": false, 153 | "td_target_name": "td_round_shape", 154 | "td_width_to_size_filter_ratio": 0.9 155 | }, 156 | { 157 | "td_allow_use_two_tracks": true, 158 | "td_curve_segcount": 0, 159 | "td_height_ratio": 1.0, 160 | "td_length_ratio": 0.5, 161 | "td_maxheight": 2.0, 162 | "td_maxlen": 1.0, 163 | "td_on_pad_in_zone": false, 164 | "td_target_name": "td_rect_shape", 165 | "td_width_to_size_filter_ratio": 0.9 166 | }, 167 | { 168 | "td_allow_use_two_tracks": true, 169 | "td_curve_segcount": 0, 170 | "td_height_ratio": 1.0, 171 | "td_length_ratio": 0.5, 172 | "td_maxheight": 2.0, 173 | "td_maxlen": 1.0, 174 | "td_on_pad_in_zone": false, 175 | "td_target_name": "td_track_end", 176 | "td_width_to_size_filter_ratio": 0.9 177 | } 178 | ], 179 | "track_widths": [ 180 | 0.0, 181 | 0.125, 182 | 0.15, 183 | 0.175, 184 | 0.2, 185 | 0.25, 186 | 0.3, 187 | 0.35, 188 | 0.4, 189 | 0.45, 190 | 0.5, 191 | 0.55, 192 | 0.6, 193 | 0.8, 194 | 1.0 195 | ], 196 | "tuning_pattern_settings": { 197 | "diff_pair_defaults": { 198 | "corner_radius_percentage": 80, 199 | "corner_style": 1, 200 | "max_amplitude": 1.0, 201 | "min_amplitude": 0.2, 202 | "single_sided": false, 203 | "spacing": 1.0 204 | }, 205 | "diff_pair_skew_defaults": { 206 | "corner_radius_percentage": 80, 207 | "corner_style": 1, 208 | "max_amplitude": 1.0, 209 | "min_amplitude": 0.2, 210 | "single_sided": false, 211 | "spacing": 0.6 212 | }, 213 | "single_track_defaults": { 214 | "corner_radius_percentage": 80, 215 | "corner_style": 1, 216 | "max_amplitude": 1.0, 217 | "min_amplitude": 0.2, 218 | "single_sided": false, 219 | "spacing": 0.6 220 | } 221 | }, 222 | "via_dimensions": [ 223 | { 224 | "diameter": 0.0, 225 | "drill": 0.0 226 | }, 227 | { 228 | "diameter": 0.45, 229 | "drill": 0.25 230 | }, 231 | { 232 | "diameter": 0.5, 233 | "drill": 0.25 234 | }, 235 | { 236 | "diameter": 0.55, 237 | "drill": 0.3 238 | }, 239 | { 240 | "diameter": 0.6, 241 | "drill": 0.3 242 | }, 243 | { 244 | "diameter": 0.65, 245 | "drill": 0.3 246 | }, 247 | { 248 | "diameter": 0.7, 249 | "drill": 0.4 250 | }, 251 | { 252 | "diameter": 0.75, 253 | "drill": 0.45 254 | }, 255 | { 256 | "diameter": 0.8, 257 | "drill": 0.45 258 | } 259 | ], 260 | "zones_allow_external_fillets": false 261 | }, 262 | "ipc2581": { 263 | "dist": "", 264 | "distpn": "", 265 | "internal_id": "", 266 | "mfg": "", 267 | "mpn": "" 268 | }, 269 | "layer_presets": [], 270 | "viewports": [] 271 | }, 272 | "boards": [], 273 | "cvpcb": { 274 | "equivalence_files": [] 275 | }, 276 | "libraries": { 277 | "pinned_footprint_libs": [], 278 | "pinned_symbol_libs": [] 279 | }, 280 | "meta": { 281 | "filename": "aisler-4-layer-hd-drc.kicad_pro", 282 | "version": 1 283 | }, 284 | "net_settings": { 285 | "classes": [ 286 | { 287 | "bus_width": 12, 288 | "clearance": 0.2, 289 | "diff_pair_gap": 0.25, 290 | "diff_pair_via_gap": 0.25, 291 | "diff_pair_width": 0.2, 292 | "line_style": 0, 293 | "microvia_diameter": 0.3, 294 | "microvia_drill": 0.1, 295 | "name": "Default", 296 | "pcb_color": "rgba(0, 0, 0, 0.000)", 297 | "schematic_color": "rgba(0, 0, 0, 0.000)", 298 | "track_width": 0.2, 299 | "via_diameter": 0.6, 300 | "via_drill": 0.3, 301 | "wire_width": 6 302 | } 303 | ], 304 | "meta": { 305 | "version": 3 306 | }, 307 | "net_colors": null, 308 | "netclass_assignments": null, 309 | "netclass_patterns": [] 310 | }, 311 | "pcbnew": { 312 | "last_paths": { 313 | "gencad": "", 314 | "idf": "", 315 | "netlist": "", 316 | "plot": "", 317 | "pos_files": "", 318 | "specctra_dsn": "", 319 | "step": "", 320 | "svg": "", 321 | "vrml": "" 322 | }, 323 | "page_layout_descr_file": "" 324 | }, 325 | "schematic": { 326 | "legacy_lib_dir": "", 327 | "legacy_lib_list": [] 328 | }, 329 | "sheets": [], 330 | "text_variables": {} 331 | } 332 | -------------------------------------------------------------------------------- /kicad/aisler-4-layer-hd-drc/aisler-4-layer-hd-drc.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20231120) (generator "eeschema") (generator_version "8.0") 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) 6 | -------------------------------------------------------------------------------- /ultiboard-deprecated/cam/aisler_ultiboard_export.uxcfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | --------------------------------------------------------------------------------