Compare commits

...
24 Commits
Author SHA1 Message Date
foley 76f94ab937 problems with import fixed 2026-09-29 15:30:01 +00:00
foley a7b40bada4 JLCPCB constraints added 2026-09-10 16:08:32 +00:00
foley b25ba8b558 Use unix line-endings 2026-09-08 23:02:08 +00:00
foley fb0f667d55 consistent levels of the titles and subtitles 2026-09-08 23:00:31 +00:00
foley e8bcade5ff dropped the inspection down a list level 2026-09-08 22:56:48 +00:00
foley 33ce8b592f reformatted rest of the procedure 2026-09-08 22:55:42 +00:00
foley e642d6aa71 grouped the PCB layout steps 2026-09-08 22:52:12 +00:00
foley 951d2d3f2f drop a level to make the numbering more sensible 2026-09-08 22:50:37 +00:00
foley 819e5a582b constraint numbering 2026-09-08 22:48:47 +00:00
foley 23ff08eea9 links to each of the PCB vendors 2026-09-08 22:45:07 +00:00
foley 2bc02f4dae ignore temporary render of MD 2026-09-08 22:36:39 +00:00
foley 949ce0f3ec testing bullet indentation 2026-09-08 22:35:34 +00:00
foley 391f6a5688 migrating more from ROB-IOT CANVAS 2026-09-02 10:53:02 +00:00
foley a886276492 Azure tools URL 2026-09-01 22:35:23 +00:00
foley a8cc10486f made student a sub-heading 2026-09-01 22:23:00 +00:00
foley 3e13d7b9c4 Moved student info to the top and added info for staff 2026-09-01 22:20:55 +00:00
foley 5987682cbc asking cad-admin 2026-09-01 22:16:07 +00:00
foley d8079a7f29 Trial license explanation 2026-09-01 22:12:18 +00:00
foley 73f864f382 Wrong product issue 2026-09-01 22:10:01 +00:00
foley f780bc6c9f forgot .png for graphics 2026-09-01 22:06:04 +00:00
foley 5a3c69a779 active and expired licenses 2026-09-01 22:05:08 +00:00
foley f7808ef311 download the right file 2026-09-01 21:59:05 +00:00
foley 224a217fc9 licence details 2026-09-01 21:48:05 +00:00
foley fd465d43e0 license email 2026-09-01 21:44:39 +00:00
9 changed files with 991 additions and 200 deletions
+1
View File
@@ -49,3 +49,4 @@ flycheck_*.el
/network-security.data /network-security.data
/README.html
Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

+723
View File
@@ -0,0 +1,723 @@
<ConstraintSets SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<Clearance SourceType="All - All" TypeFrom="All" NameFrom="All" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False" TypeTo="All" NameTo="All" IsClassTo="False" IsPredefinedTo="False"><![CDATA[<ClearanceMatrixItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<ClearanceConstraintSet Id="d05626c2-da15-4c95-a6c2-983395858870" Name="All - All">
<Clearances>
<ClearanceByLayer LayerId="2147483645" LayerType="Outer" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
<ClearanceByLayer LayerId="2147483646" LayerType="Inner" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
</Clearances>
</ClearanceConstraintSet>
</ClearanceMatrixItem>]]></Clearance>
<Physical SourceType="Net Class" TypeFrom="Net" NameFrom="All Nets" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="True"><![CDATA[<PhysicalItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<PhysicalConstraintSet Id="07e1fe1a-455c-4ffd-9f6f-3a0a21559215" Name="All Nets">
<PhysicalRule PhysicalRuleType="DifferentialPairsRouting">
<DiffPair ImpedanceId="" UseImpedanceProfile="False" MaximumUncoupledLength="500mil">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="15mil" PreferredWidth="15mil" MaximumWidth="15mil" MinimumGap="10mil" PreferredGap="10mil" MaximumGap="10mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="15mil" PreferredWidth="15mil" MaximumWidth="15mil" MinimumGap="10mil" PreferredGap="10mil" MaximumGap="10mil" />
</DiffPair>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="RoutingViaStyle">
<RoutingViaStyle ViaType="MinMax">
<Data ViaDiameterMin="50mil" ViaDiameterPreferred="50mil" ViaDiameterMax="50mil" ViaHoleSizeMin="28mil" ViaHoleSizePreferred="28mil" ViaHoleSizeMax="28mil" />
<Templates />
</RoutingViaStyle>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="PolygonConnectStyle">
<PolygonConnectStyle Advanced="False">
<ConnectType Type="THPad" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
<ConnectType Type="SMDPad" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
<ConnectType Type="Via" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
</PolygonConnectStyle>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="MaxMinWidth">
<Width Connected="False" ImpedanceId="" UseImpedanceProfile="False">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="7.874mil" PreferredWidth="9.8425mil" MaximumWidth="9.8425mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="7.874mil" PreferredWidth="9.8425mil" MaximumWidth="9.8425mil" />
</Width>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="PhysicalClearance">
<PhysicalClearance>
<ClearanceByLayer LayerId="2147483645" LayerType="Outer" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
<ClearanceByLayer LayerId="2147483646" LayerType="Inner" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
</PhysicalClearance>
</PhysicalRule>
</PhysicalConstraintSet>
</PhysicalItem>]]></Physical>
<Physical SourceType="Net Class" TypeFrom="Net" NameFrom="Power" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="False"><![CDATA[<PhysicalItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<PhysicalConstraintSet Id="e82ba30f-2476-4903-a950-5c358f67dc55" Name="Power">
<PhysicalRule PhysicalRuleType="MaxMinWidth">
<Width Connected="False" ImpedanceId="" UseImpedanceProfile="False">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="9.8425mil" PreferredWidth="39.3701mil" MaximumWidth="39.3701mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="9.8425mil" PreferredWidth="39.3701mil" MaximumWidth="39.3701mil" />
</Width>
</PhysicalRule>
</PhysicalConstraintSet>
</PhysicalItem>]]></Physical>
<ElectricalNet SourceType="Net Class" TypeFrom="Net" NameFrom="All Nets" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="True"><![CDATA[<ElectricalNetsItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<ElectricalNetsConstraintSet Id="95314dee-f6da-4f31-9e53-8d1c97854392" Name="All Nets">
<ElectricalNetsRule ElectricalNetsRuleType="RoutingTopology">
<RoutingTopology Topology="Shortest" />
</ElectricalNetsRule>
<ElectricalNetsRule ElectricalNetsRuleType="RoutingLayers">
<RoutingLayers>
<RoutingByLayer LayerId="1" LayerName="[1] Top Layer" />
<RoutingByLayer LayerId="32" LayerName="[2] Bottom Layer" />
</RoutingLayers>
</ElectricalNetsRule>
</ElectricalNetsConstraintSet>
</ElectricalNetsItem>]]></ElectricalNet>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="AssemblyTestpoint" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="d0dd1a6a-779f-4177-8029-94ace125f841" Name="AssemblyTestpoint">
<AdvancedRuleItem Type="AssemblyTestPointStyle" Id="BQBVBFKK" Name="AssemblyTestpoint" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<AssemblyTestpoint MinSize="40mil" MinHole="0mil" MaxSize="100mil" MaxHole="40mil" PreferredSize="60mil" PreferredHole="32mil" UseGrid="True" GridOriginX="-2496.0629mil" GridOriginY="-1000mil" GridSize="1mil" GridTolerance="0.01mil" UnderComponent="True" UseTopSide="True" UseBottomSide="True" MinInterSpacing="0mil" ComponentBodyClearance="0mil" BoardEdgeClearance="0mil" DistanceToPadHole="0mil" DistanceToViaHole="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="AssemblyTestPointUsage" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="7e6f8e3b-c237-4308-890f-287bd80b1a71" Name="AssemblyTestPointUsage">
<AdvancedRuleItem Type="AssemblyTestPointUsage" Id="USAMKQHQ" Name="AssemblyTestPointUsage" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<AssemblyTestPointUsage Kind="Require" AllowMultiple="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="ComponentClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="29c48281-b0c2-4a5c-a003-1a0130b45af7" Name="ComponentClearance">
<AdvancedRuleItem Type="ComponentClearance" Id="SXDGPCRM" Name="ComponentClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<ComponentClearance Vertical="10mil" Horizontal="10mil" ShowActual="False" DontCheckWithout3DBody="False" CheckByBoundary="False" VerticalMode="Specified" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="FabricationTestpoint" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="24ab44ba-f733-46c7-ba2f-0f867610626b" Name="FabricationTestpoint">
<AdvancedRuleItem Type="TestPointStyle" Id="VOUEIXMI" Name="FabricationTestpoint" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<FabricationTestpoint MinSize="40mil" MinHole="0mil" MaxSize="100mil" MaxHole="40mil" PreferredSize="60mil" PreferredHole="32mil" UseGrid="True" GridOriginX="-2496.0629mil" GridOriginY="-1000mil" GridSize="1mil" GridTolerance="0.01mil" UnderComponent="True" UseTopSide="True" UseBottomSide="True" MinInterSpacing="0mil" ComponentBodyClearance="0mil" BoardEdgeClearance="0mil" DistanceToPadHole="0mil" DistanceToViaHole="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="FabricationTestPointUsage" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="0ab045ce-6342-423a-bbc7-9adcc7e9e948" Name="FabricationTestPointUsage">
<AdvancedRuleItem Type="TestPointUsage" Id="EKMFCVMF" Name="FabricationTestPointUsage" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<FabricationTestPointUsage Kind="Require" AllowMultiple="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsBGA - All" TypeFrom="IsBGA - All" NameFrom="Fanout_BGA" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4f960e50-05d9-4a3c-8836-cf90c4e4652f" Name="Fanout_BGA">
<AdvancedRuleItem Type="FanoutControl" Id="BTCLLNAU" Name="Fanout_BGA" ScopeExpression="IsBGA" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="Fanout_BGA (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="Fanout_Default" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="c31f9a20-eb09-4161-8e72-8237456c53b8" Name="Fanout_Default">
<AdvancedRuleItem Type="FanoutControl" Id="TECDYNHP" Name="Fanout_Default" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="5" Comment="Fanout_Default (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsLCC - All" TypeFrom="IsLCC - All" NameFrom="Fanout_LCC" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="68c8071a-ec70-4c00-8b8b-a969f97c9305" Name="Fanout_LCC">
<AdvancedRuleItem Type="FanoutControl" Id="EMYERBSC" Name="Fanout_LCC" ScopeExpression="IsLCC" ScopeExpression2="All" IsEnabled="True" Priority="2" Comment="Fanout_LCC (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="(CompPinCount &lt; 5) - All" TypeFrom="(CompPinCount &lt; 5) - All" NameFrom="Fanout_Small" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="ffd60c06-712b-40c4-8569-f7cabd529dfb" Name="Fanout_Small">
<AdvancedRuleItem Type="FanoutControl" Id="PWGXRVTC" Name="Fanout_Small" ScopeExpression="(CompPinCount &lt; 5)" ScopeExpression2="All" IsEnabled="True" Priority="4" Comment="Fanout_Small (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="OutThenIn" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsSOIC - All" TypeFrom="IsSOIC - All" NameFrom="Fanout_SOIC" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="8364b979-8456-4ff6-a138-84065dfce31f" Name="Fanout_SOIC">
<AdvancedRuleItem Type="FanoutControl" Id="PGQOFBRC" Name="Fanout_SOIC" ScopeExpression="IsSOIC" ScopeExpression2="All" IsEnabled="True" Priority="3" Comment="Fanout_SOIC (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="Height" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5a679932-52f4-4d2f-9351-42281d80bdeb" Name="Height">
<AdvancedRuleItem Type="MaxMinHeight" Id="EGKSYKPS" Name="Height" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<Height Minimum="0mil" Preferred="500mil" Maximum="1000mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="HoleSize" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="e5daf43a-7841-4b8b-ad61-783f2638a62b" Name="HoleSize">
<AdvancedRuleItem Type="MaxMinHoleSize" Id="PJIOTTFN" Name="HoleSize" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<HoleSize Minimum="1mil" Maximum="100mil" MinimumPercents="0%" MaximumPercents="0%" MeasurementMethod="Absolute" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="HoleToHoleClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="f9242ab8-ab82-4105-94dd-06fe23e77776" Name="HoleToHoleClearance">
<AdvancedRuleItem Type="HoleToHoleClearance" Id="EKBNTGLH" Name="HoleToHoleClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<HoleToHoleClearance AllowStackedMicroVia="True" Clearance="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="LayerPairs" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="aca8d9a8-90f3-452c-9d7c-77e69062400d" Name="LayerPairs">
<AdvancedRuleItem Type="LayerPair" Id="BBXOLONW" Name="LayerPairs" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<LayerPairs EnforceLayerPairSettings="True" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="MinimumSolderMaskSliver" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="094c6621-ab44-44be-8b76-625b0f23f86d" Name="MinimumSolderMaskSliver">
<AdvancedRuleItem Type="MinimumSolderMaskSliver" Id="GVRVDBJD" Name="MinimumSolderMaskSliver" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<MinimumSolderMaskSliver Sliver="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="NetAntennae" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="df49cdb0-b895-42ce-96c4-99742e9a3592" Name="NetAntennae">
<AdvancedRuleItem Type="NetAntennae" Id="XDFKTIKY" Name="NetAntennae" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<NetAntennae Tolerance="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PasteMaskExpansion" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="f5c2e050-c553-4c6a-b312-69e298bae549" Name="PasteMaskExpansion">
<AdvancedRuleItem Type="PasteMaskExpansion" Id="SWSYOLQW" Name="PasteMaskExpansion" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PasteMaskExpansion Expansion="0mil" UsePaste="True" UsePercents="False" UseTopPaste="False" UseBottomPaste="False" Percents="0%" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PlaneClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="ab895dc5-44cf-41cd-be36-14a43c094e47" Name="PlaneClearance">
<AdvancedRuleItem Type="PowerPlaneClearance" Id="UWXAOJVA" Name="PlaneClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PowerPlaneClearance Clearance="20mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PlaneConnect" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="23e133b9-5cfb-4be2-8e04-9784a00c3e57" Name="PlaneConnect">
<AdvancedRuleItem Type="PowerPlaneConnectStyle" Id="SIBNMWWC" Name="PlaneConnect" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PowerPlaneConnectStyle Advanced="False">
<Pad Expansion="20mil" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" ConductorsCount="Four" />
<Via Expansion="20mil" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" ConductorsCount="Four" />
</PowerPlaneConnectStyle>
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="RoutingCorners" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4c06cb93-597c-4bb6-b24a-c887386f858e" Name="RoutingCorners">
<AdvancedRuleItem Type="RoutingCornerStyle" Id="LDSVCARF" Name="RoutingCorners" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<RoutingCorners MinSetBack="100mil" MaxSetBack="100mil" CornerType="Corner45" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="RoutingPriority" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="2a3495fa-ba9a-4435-a39c-e6620387f1b1" Name="RoutingPriority">
<AdvancedRuleItem Type="RoutingPriority" Id="MFPKARDV" Name="RoutingPriority" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<RoutingPriority RoutingPriority="0" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('7V2') - All" TypeFrom="InNet('7V2') - All" NameFrom="Schematic Supply Nets" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="c3c86105-e486-4bd0-8e6e-eeea7441328f" Name="Schematic Supply Nets">
<AdvancedRuleItem Type="SupplyNets" Id="4ba0ca50-146c-4fc4-820d-23f34597c78b" Name="Schematic Supply Nets" ScopeExpression="InNet('7V2')" ScopeExpression2="All" IsEnabled="True" Priority="4" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('3V3') - All" TypeFrom="InNet('3V3') - All" NameFrom="Schematic Supply Nets_1" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="7ea4b6d2-d325-428a-a393-21c02ce31abb" Name="Schematic Supply Nets_1">
<AdvancedRuleItem Type="SupplyNets" Id="8bcf80c3-975e-4b49-8d4a-dd217d7a9380" Name="Schematic Supply Nets_1" ScopeExpression="InNet('3V3')" ScopeExpression2="All" IsEnabled="True" Priority="3" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('5V') - All" TypeFrom="InNet('5V') - All" NameFrom="Schematic Supply Nets_2" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="06ddfb86-4a25-4aad-98f3-a17fea7d8108" Name="Schematic Supply Nets_2">
<AdvancedRuleItem Type="SupplyNets" Id="06476a4a-ba8e-4b27-b71c-ee6157ed993b" Name="Schematic Supply Nets_2" ScopeExpression="InNet('5V')" ScopeExpression2="All" IsEnabled="True" Priority="2" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('GND') - All" TypeFrom="InNet('GND') - All" NameFrom="Schematic Supply Nets_3" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="466aac9a-c222-48a9-a94a-717f20bae641" Name="Schematic Supply Nets_3">
<AdvancedRuleItem Type="SupplyNets" Id="1a1b096c-01e8-4640-ac9f-041b579b1dea" Name="Schematic Supply Nets_3" ScopeExpression="InNet('GND')" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="ShortCircuit" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4b682aec-0620-4d56-b2a5-7dd7e8dab804" Name="ShortCircuit">
<AdvancedRuleItem Type="ShortCircuit" Id="VRCQKAYR" Name="ShortCircuit" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<ShortCircuit AllowShortCircuit="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="SilkToSilkClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="22637064-3e09-4d1a-8ca9-3fb5c0df9674" Name="SilkToSilkClearance">
<AdvancedRuleItem Type="SilkToSilkClearance" Id="TLDITWEV" Name="SilkToSilkClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SilkToSilkClearance Clearance="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsPad" TypeFrom="IsPad" NameFrom="SilkToSolderMaskClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5aa43cfe-d733-476a-9215-8147130ea34d" Name="SilkToSolderMaskClearance">
<AdvancedRuleItem Type="SilkToSolderMaskClearance" Id="QSNYIIVI" Name="SilkToSolderMaskClearance" ScopeExpression="IsPad" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SilkToSolderMaskClearance Clearance="10mil" Mode="ExposedCooper" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="SolderMaskExpansion" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="a8982250-3a1b-4b5c-b525-dff67286b44e" Name="SolderMaskExpansion">
<AdvancedRuleItem Type="SolderMaskExpansion" Id="OMUSCKTI" Name="SolderMaskExpansion" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SolderMaskExpansion Top="0mil" Bottom="0mil" FromHoleEdge="False" TopAndBottomLinked="True" TentingTop="False" TentingBottom="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="UnpouredPolygon" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="58bd63a3-4946-4707-b289-ca67ef76f11d" Name="UnpouredPolygon">
<AdvancedRuleItem Type="ModifiedPolygon" Id="UJKRXLHK" Name="UnpouredPolygon" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<UnpouredPolygon AllowShelved="False" AllowModified="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="UnRoutedNet" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5da73f43-4648-40c1-bc2f-4d1fb2ab729e" Name="UnRoutedNet">
<AdvancedRuleItem Type="BrokenNets" Id="LPMVHADD" Name="UnRoutedNet" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<UnRoutedNet ChkForIncompleteConnections="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
</ConstraintSets>
+124 -79
View File
@@ -3,27 +3,43 @@
Documentation and support files for Altium at Reykjavik University Documentation and support files for Altium at Reykjavik University
* Maintainer: Joseph T. Foley * Maintainer: Joseph T. Foley
* Main Contact: cad-admin AT RU . IS * Main Contact: `cad-admin` at RU.IS
* Student issues, particularly licenses and private Workspaces: studentsupport AT altium . com
* More support files on related topics can be found at the Reykjavik University CANVAS course "Robotics and IOT". Contact the maintainer to join. ## Students:
* [Altium Education](altium-education.md) * Get your license at [Altium Education](altium-education.md)
* Getting help, particularly regarding licenses: `studentsupport@altium.com`
## Staff:
* Contact `cad-admin` requesting access. We have a very limited number of staff licenses.
# Overview # Overview
Altium Designer is an expensive professional-grade ECAD software for schematic capture, PCB layout, and simulation. They also sell cheaper (and free) PCB layout tools for hobbyists. Altium Designer is an expensive professional-grade ECAD software for schematic capture, PCB layout, and simulation. They also sell free PCB layout tools for hobbyists under the name [CircuitMaker](https://www.altium.com/circuitmaker).
* Altium requires the Windows operating system. If you are on linux or OSX, you will need to run it in a 64-bit virtual machine. We recommend using VirtualBox with Windows 11 Education at the Microsoft Azure websiteLinks to an external site. * Altium requires the Windows operating system. If you are on linux or OSX, you will need to run it in a 64-bit virtual machine. We recommend using VirtualBox with Windows 11 Education at the [Microsoft Azure Dev Tools for Teaching](https://aka.ms/devtoolsforteaching)
* All Altium licenses and content has been moved into the official Altium Cloud called Altium 365. You will be using Altium 365 Workspaces detailed at https://www.altium.com/documentation/altium-365/workspace One large benefit is that you will be able to access Altium off campus without needing to use the VPN. * All Altium licenses and content has been moved into the official Altium Cloud called Altium 365. You will be using Altium 365 Workspaces detailed at https://www.altium.com/documentation/altium-365/workspace One large benefit is that you will be able to access Altium off campus without needing to use the VPN.
## Documentation: https://www.altium.com/documentation/Links to an external site. ## Documentation: https://www.altium.com/documentation/
* Altium Education Tutorial (after registration): https://education.altium.com/courses/unit-1-introduction-to-pcb-design * Altium itself has a Help menu!
* Basic Tutorial: https://www.altium.com/documentation/altium-designer/tutorial-complete-design-walkthrough * Altium Education
** Introduction to Altium 365: https://education.altium.com/p/altium-365-for-students
** Tutorial (after registration): https://education.altium.com/courses/unit-1-introduction-to-pcb-design
* Altium365: https://www.altium.com/documentation/altium-365 * Altium365: https://www.altium.com/documentation/altium-365
* Classic Tutorial: https://www.altium.com/documentation/altium-designer/tutorial-complete-design-walkthrough
* Tutorial and Hint Videos http://altiumvideos.live.altium.com * Tutorial and Hint Videos http://altiumvideos.live.altium.com
* More videos: https://my.altium.com/discover
# Reykjavik University Workspace
1. After getting a license, you will need to contact `cad-admin AT ru.is`: explain what class/project you are working on and that you need access to the Altium "Reykjavik University Workspace"
1. The first window is "License Management". You need to pick a license and click on "Use" before you can get started.
2. To access our Workspace, click on the "Not Connected" on the top right corner and pick "Reykjavik University". **Of note, anyone in the Workspace can see the work and parts that you have in this Workspace.** For more private work, create a new Workspace.
1. Click on the same spot again and it will open the "Explorer" so you can see what parts are already in our library.
1. If you make a particularly useful component, please share it in the Workspace so others can use it as well.
1. By default, things are public so if you need to change permissions on a project related to an assignment, please contact your instructor to change the "Share" setting on a file or directory.
# General Workflow # Making a PCB
The process of making a PCB starts with a tested schematic.
## Setup the schematic and blank board
1. Setup what pins are allowed to connect in the Project > Options > Connection Matrix 1. Setup what pins are allowed to connect in the Project > Options > Connection Matrix
* The most common change is to change IO to Output to be "No Report" otherwise connecting a Pi GPIO to an output will create a warning. * The most common change is to change IO to Output to be "No Report" otherwise connecting a Pi GPIO to an output will create a warning.
1. Find the Schematic Symbols and PCB layout in the Reykjavik University Workspace library 1. Find the Schematic Symbols and PCB layout in the Reykjavik University Workspace library
@@ -43,76 +59,105 @@ Altium Designer is an expensive professional-grade ECAD software for schematic c
1. It will create an Engineering Change popup showing the operations it will do 1. It will create an Engineering Change popup showing the operations it will do
2. Click Validate (look for red X's for possible issues) 2. Click Validate (look for red X's for possible issues)
2. Click Execute 2. Click Execute
1. Pick a PCB manufacturer. This will determine the options for traces and vias. Some options in no particular order:
- AllPCB (as of 2026-06-15) ## Pick a PCB manufacturer.
- Manufacturing capabilities at https://www.allpcb.com/advanced_pcb_manufacturing_capability.html This will determine the options for traces and vias. Some options in no particular order:
- Drill hole size: 0.15-6.5mm ### [JLCPCB](https://jlcpcb.com/)
- Minimum via/pad: Double-side board: 0.2mm (inner diameter)/0.5mm (outer diameter) Multi-layer board: 0.15mm (inner diameter)/0.25mm (outer diameter) ①The outer diameter must be 0.1mm larger than the inner diameter, 0.15mm preferred ②Preferred Min. Via hole size: 0.2mm This company is located in [Hong Kong (China)](https://jlcpcb.com/help/article/terms-%26-conditions)
Minimum trace: This depends up on the copper thickness! (1OZ copper) 0.076/0.076mm(3mil/3mil). Tolerance is 20% so you probably want to set the width to 1mm This The boards in the 2026 rover kits were made here. Website: https://jlcpcb.com/
Silkscreen text minimum height 0.75mm, width 0.1mm ### [AllPCB](https://www.allpcb.com/)
Silkscreen spacing from character to copper: 0.15mm This company is somewhere in China. As of 2026-07-29 they were not accepting orders:
PCB4LessLinks to an external site. "Due to adjustments to the Company's corporate governance structure, our website will temporarily suspend operations effective immediately. Outstanding orders and services will still be fulfilled as agreed. For more information, please contact your dedicated customer service representative. We apologize for any inconvenience and appreciate your understanding."
EuroCircuitsLinks to an external site. The first iteration of the 2026 PowerMotor board was made here.
1. Setup the Constraints (according to your PCB manufacturer. These are for AllPCB) to ensure that they can make the board and the Design Rule Checker will catch the mistakes. Your chances of having a working board are very low if you skip this step! Manufacturing capabilities at https://www.allpcb.com/advanced_pcb_manufacturing_capability.html
Design > Constraint Manager * Drill hole size: 0.15-6.5mm
Clearances > All Nets * Minimum via/pad:
Click on the dimension and set it to "0.2mm". You can go as small as 0.1mm if you are using the 1Oz AllPCB copper. * Double-side board: 0.2mm (inner diameter)/0.5mm (outer diameter)
Physical > All Nets * Multi-layer board: 0.15mm (inner diameter)/0.25mm (outer diameter)
Click on "Min Width" and look at the bottom of the screen * The outer diameter must be 0.1mm larger than the inner diameter, 0.15mm preferred
Most manufacturers can handle Min: 0.2mm, Prefer: 2.5mm Max 2.5 as a default * Preferred Min. Via hole size: 0.2mm
Power nets might want to have larger traces: * Minimum trace: This depends up on the copper thickness! (1OZ copper) 0.076/0.076mm(3mil/3mil). Tolerance is 20% so you probably want to set the width to 1mm
Right click on "All Nets" > Classes > Add Class > Net Class * Silkscreen text minimum height 0.75mm, width 0.1mm
Set the class as "Power" * Silkscreen spacing from character to copper: 0.15mm
Select all the nets such as "GND" and "3V3" in Non-members and click ">" to make them members
Click OK ### [PCB4Less](https://pcb4less.com)
Click on the new "Power" class of nets This is a US PCB vendor, which may be helpful when collaborating with US partners.
Look at the bottom and set the Min: 0.5mm, Prefer 5.0mm, Max 0.9mm for some big traces ## [EuroCircuits](https://www.eurocircuits.com/)
Setup the layers of the board. Their headquarters is in Belgium.
RU CNC: Suggest doing it in one layer with jumper wires. Autoroute has an option for this.
Most projects: 2 layer is cheapest and enough for most projects ## Setup the Constraints
Fit in small space or lots of connections: 4 layers is commonly used on most modern devices These ensure that the vendor can make the board and the Design Rule Checker will catch the mistakes. Your chances of having a working board are very low if you skip this step! I have included some constraints as `.CstrDot` files to get people started.
Manually route wires (or use Autorouting, my favorite) to place all the wires.
If you need mounting holes, create Pads with a hole of the size you want Start by "Open Design > Constraint Manager"
You'll have to assign it an identifier (such as S1, S2, S3,..) and match it to a pin in the "Pins" list 1. Clearances > All Nets
Edit the schematic symbol and put the new pins slightly off the symbol 2. Click on the dimension and set it to "0.2mm". You can go as small as 0.1mm if you are using the 1Oz AllPCB copper.
Click on a blank spot 2. Physical > All Nets
Properties: Pins tab > click on the pencil to edit 1. Click on "Min Width" and look at the bottom of the screen
Uncheck the boxes for Show, Number, and Name on the mounting hole pads to hide them 3. Most manufacturers can handle Min: 0.2mm, Prefer: 2.5mm Max 2.5 as a default
If the hole is bigger than 2.5mm, you'll have to increase the max hole constraint 3. Power nets might want to have larger traces:
Constraint Manager > All Rules 1. Right click on "All Nets" > Classes > Add Class > Net Class
Scroll to Manufacturing > Hole size 4. Set the class as "Power"
Expand "Advanced Rules" 4. Select all the nets such as "GND" and "3V3" in Non-members and click ">" to make them members
Increase the maximum to your mounting hole size 4. Click OK
Check for Design Rule violations and fix them 4. Click on the new "Power" class of nets
Tools > Design Rule Check 4. Look at the bottom and set the Min: 0.5mm, Prefer 5.0mm, Max 0.9mm for some big traces
Click "Run Design Rule Check" which is on the bottom left! OK will just close the dialog.
Create an Outjob to produce the files the PCB manufacturer wants (Gerber and NC drill usually) ## Layout the board
Right click on the project > Add New to Project > Output Job File 1. Setup the layers of the board.
Click on [Add New Fabrication Output] > Gerber Files > pick the PCB file 1. RU CNC: Suggest doing it in one layer with jumper wires. Autoroute has an option for this.
Right click on Gerber Files and choose "Configure" 2. Most projects: 2 layer is cheapest and enough for most projects
Change the Units to Inches 2. Fit in small space or lots of connections: 4 layers is commonly used on most modern devices
Click on "Plot Layers" and choose "Select Used" 1. Manually route wires (or use Autorouting, my favorite) to place all the wires.
Click on [Add New Fabrication Output] > NC Drill Files > pick the PCB file 1. If you need mounting holes, create Pads with a hole of the size you want
Click on "Folder Structure" in the output containers on the right size 1. You'll have to assign it an identifier (such as S1, S2, S3,..) and match it to a pin in the "Pins" list
Click on both of these Fabrication outputs on the right where there is a circle 2. Edit the schematic symbol and put the new pins slightly off the symbol
Click on the "Generate Content" 2. Click on a blank spot
This will put files into the folder on that container. This is usually something like "Documents\Altium\<projectname>\|Project Outputs for <projectname>\<type>" 2. Properties: Pins tab > click on the pencil to edit
Take all the files in the Gerber and "NC Drill" folder and put them in a zip file 2. Uncheck the boxes for Show, Number, and Name on the mounting hole pads to hide them
Submit the Gerber file and the NC Drill files to the PCB manufacturer and pay them the money. Some vendors have the option to have them send you the files to review before production: I choose that even if it costs more to avoid having an issue such as no holes getting drilled. Usually it takes 1 week to get your board back due to Icelandic shipping and customs. 2. If the hole is bigger than 2.5mm, you'll have to increase the max hole constraint
If you asked for a check before production, they will often send you a zip file with their CAM output. To check it (AllPCB example): 1. Constraint Manager > All Rules
Decompress the file somewhere easily accessible such as "AllPCB-cam". It will have two subdirectories: 3. Scroll to Manufacturing > Hole size
yg: the original Gerber files you sent in 3. Expand "Advanced Rules"
ok: the company's CAM output for you to look at 3. Increase the maximum to your mounting hole size
Create a CAM document in your project such as "<projectname>-AllPCB.cam" 1. Check for Design Rule violations and fix them
File > Import > Quick Load 1. Tools > Design Rule Check
Change the filter to "all files" because the files do not have extensions (.gbl) instead the filename is just gbl 2. Click "Run Design Rule Check" which is on the bottom left! OK will just close the dialog.
Navigate to the AllPCB-cam/ok and click OK
Examine the file to make sure that it looks like what you expect: no missing traces or holes ## Output the job to send to the PCB manufacturer
When the board arrives: inspect it for missing traces, shorts, etc. (In one case, the board was missing an entire layer!) Create an Outjob to produce the files the PCB manufacturer wants (Gerber and NC drill usually)
Solder one the components to the board (or send it to a fabricator for larger orders with a pick and place) 1. Right click on the project > Add New to Project > Output Job File
Test, Share, and Enjoy! 1. Click on [Add New Fabrication Output] > Gerber Files > pick the PCB file
1. Right click on Gerber Files and choose "Configure"
1. Change the Units to Inches
2. Click on "Plot Layers" and choose "Select Used"
2. Click on [Add New Fabrication Output] > NC Drill Files > pick the PCB file
2. Click on "Folder Structure" in the output containers on the right size
2. Click on both of these Fabrication outputs on the right where there is a circle
2. Click on the "Generate Content"
1. This will put files into the folder on that container. This is usually something like "Documents\Altium\<projectname>\|Project Outputs for <projectname>\<type>"
1. Take all the files in the Gerber and "NC Drill" folder and put them in a zip file
1. Submit the Gerber file and the NC Drill files to the PCB manufacturer and pay them the money. Some vendors have the option to have them send you the files to review before production: I choose that even if it costs more to avoid having an issue such as no holes getting drilled. Usually it takes 1 week to get your board back due to Icelandic shipping and customs.
## Check the board before it goes to production
If you asked for a check before production, they will often send you a zip file with their CAM output. To check it (AllPCB example):
1. Decompress the file somewhere easily accessible such as "AllPCB-cam". It will have two subdirectories:
* yg: the original Gerber files you sent in
* ok: the company's CAM output for you to look at
1. Create a CAM document in your project such as `<projectname>-AllPCB.cam`
1. File > Import > Quick Load
1. Change the filter to "all files" because the files do not have extensions (.gbl) instead the filename is just gbl
1. Navigate to the AllPCB-cam/ok and click OK
1. Examine the file to make sure that it looks like what you expect: no missing traces or holes
## Check the board once it arrives
1. Inspect it for missing traces, shorts, etc. (In one case, the board was missing an entire layer!)
1. Solder one the components to the board (or send it to a fabricator for larger orders with a pick and place)
1. Test, Share, and Enjoy!
# FAQ # FAQ
## I'm trying to Design > Import changes from Schematic for my new PCB file but it keeps giving an error that the file does not exist.
1. The Engineering Change Order requires that an empty file exist on your computer before it starts. Do a "Save As" of the file before trying to import.
## How do I keep the part Comment from getting changed when the part in the library is updated? ## How do I keep the part Comment from getting changed when the part in the library is updated?
1. In the SCH, click on the part and look at the Properties window 1. In the SCH, click on the part and look at the Properties window
1. Click the lock symbol next to the Comment field 1. Click the lock symbol next to the Comment field
+22
View File
@@ -25,3 +25,25 @@ It will force you to scroll through the privacy policy near the end before you c
![Student Lab enrollment](Graphics/enrollment.png) ![Student Lab enrollment](Graphics/enrollment.png)
1. After completing the form, your enrollment is complete. You will need to wait up to a few hours to receive your license in email. 1. After completing the form, your enrollment is complete. You will need to wait up to a few hours to receive your license in email.
![Student Lab enrollment complete](Graphics/enrollment-complete.png) ![Student Lab enrollment complete](Graphics/enrollment-complete.png)
1. The email will come from `admin@altium.com` and give the next steps you need to complete.
![Altium emailed the license](Graphics/license-email.png)
Save this email because it contains your license serial number and activation code.
![Altium license information](Graphics/license-email-details.png)
1. Your first step is to click on the "Activate AltiumLive" to create your account used to manage your workspaces and licenses. The link should look something like `https://live.altium.com/ActivateEval/HEXADEXIMALLETTERSANDNUMBERS?utm_source=altiumdatabase&utm_medium=email` Most importantly, the domain is `live.altium.com`
1. Once you have logged into AltiumLive, you are able to access the [downloads area](https://www.altium.com/products/downloads). This is where some people have run into trouble as you want "Altium Designer" not any of the other variants such as "Develop" or "Agile".
Click on the "Online Download" to get the right executable, which is circled in green.
![Altium download center](Graphics/downloads.png)
1. When you run the executable, it will download and setup Altium. The defaults it chooses are generally sensible. You will need to authenticate to AltiumLive during the installation so that it can check that you have the right license. Altium provides detailed documentation explaining the installation process at https://www.altium.com/documentation/altium-designer/installation-management/installing
1. Once your license is setup in Altium, check that you can use it. This is an image of a student license being used.
![Student license active](Graphics/studentlicense-active.png)
1. Once you have finished setting up all the previous steps, email `cad-admin` and ask to be added to the Reykjavik University Workspace. You should explain why you should have access. Common reasons are "I'm taking Mechatronics 1" or "I'm doing a project in class EngineeringX". This helps the administrator figure out what you should have access to.
1. When you have been added, you will receive an email from Altium indicating that you now have access.
# Common Problems and Questions
## I got an error about "author seats" and can't seem to access the License Manager menu
You have probably fallen into the trap of installing [Altium Develop](https://www.altium.com/develop) or [CircuitMaker](https://www.altium.com/circuitmaker). Altium Develop is a different product with a free 30-day license which doesn't have a License Manager menu. CircuitMaker is the free version of Altium, but all of your designs are public. CircuitMaker is also incompatible with our Altium Cloud server. If you go and install Altium Designer with an Altium Develop license, it looks like the picture below:
![Free 30 day Develop License](Graphics/develop-triallicense.png)
## How can I tell if my license expired?
A student license lasts for a year and shows that information in the "License Management" menu. You can access it by clicking on your user icon on the top right in Altium. If it expired, it will look like the image below with the word "Expired" and in red color:
![Student license expired](Graphics/studentlicense-expired.png)