Bird
Raised Fist0
PCB Designbi_tool~15 mins

Drill file generation in PCB Design - Real Business Scenario

Choose your learning style10 modes available
Scenario Mode
👤 Your Role: You are a PCB design engineer at an electronics manufacturing company.
📋 Request: Your manager wants you to generate drill files for a new printed circuit board design to send to the fabrication house.
📊 Data: You have the PCB layout data including the coordinates and sizes of all drill holes for vias and component leads.
🎯 Deliverable: You need to produce a complete drill file in the standard Excellon format that lists all drill hole locations and sizes.
Progress0 / 7 steps
Sample Data
Hole IDX Coordinate (mm)Y Coordinate (mm)Diameter (mm)Type
H110.015.00.8Via
H220.015.01.0Component Lead
H330.025.00.8Via
H440.035.01.2Component Lead
H550.045.00.8Via
H660.055.01.0Component Lead
H770.065.00.8Via
H880.075.01.2Component Lead
1
Step 1: Organize the drill holes by diameter to group similar drill sizes together.
Sort the sample data by 'Diameter (mm)' column in ascending order.
Expected Result
Holes grouped as 0.8 mm, 1.0 mm, and 1.2 mm diameters.
2
Step 2: Assign a tool number to each unique drill diameter for the drill file header.
Map 0.8 mm to T01, 1.0 mm to T02, 1.2 mm to T03.
Expected Result
Tool list: T01=0.8 mm, T02=1.0 mm, T03=1.2 mm.
3
Step 3: Format the drill hole coordinates and tool assignments into Excellon drill file commands.
For each hole, write: 'X' + X coordinate in mils + 'Y' + Y coordinate in mils + 'T' + tool number. Use 1 mm = 39.37 mils.
Expected Result
Lines like 'X393Y591T01' for hole H1 at (10.0 mm, 15.0 mm) with 0.8 mm drill.
4
Step 4: Create the drill file header with units, tool definitions, and start commands.
Write header lines: 'M48', 'INCH', tool definitions (e.g., 'T01C0.0315'), and '%' to start data.
Expected Result
Header with correct units and tool sizes in inches.
5
Step 5: Add the drill hole commands from step 3 under the header.
List all drill hole commands sequentially.
Expected Result
Drill commands for all holes listed under header.
6
Step 6: Add the drill file footer to end the file properly.
Write 'M30' to indicate end of program.
Expected Result
Drill file ends with 'M30'.
7
Step 7: Verify the drill file by checking coordinates and tool assignments match the sample data.
Cross-check each hole's coordinates and tool number with original data.
Expected Result
All holes correctly represented with proper tool numbers and coordinates.
Final Result
Drill File Preview:

M48
INCH
T01C0.0315
T02C0.0394
T03C0.0472
%
X394Y591T01
X787Y591T02
X1181Y984T01
X1575Y1378T03
X1969Y1772T01
X2362Y2165T02
X2756Y2559T01
X3150Y2953T03
M30
✓Drill holes are grouped by size for efficient tool changes.
✓Coordinates converted from millimeters to mils for Excellon format.
✓Drill file includes proper header, tool definitions, hole locations, and footer.
Bonus Challenge

Create a drill map visualization showing hole locations color-coded by drill size.

Show Hint
Use a simple scatter plot with X and Y coordinates, and assign colors based on diameter.

Practice

(1/5)
1. What is the main purpose of a drill file in PCB manufacturing?
easy
A. To specify the solder mask color
B. To provide instructions for drilling holes on the PCB
C. To define the copper layer layout
D. To list the components placement

Solution

  1. Step 1: Understand the role of drill files

    Drill files contain instructions for drilling holes, including sizes and positions.
  2. Step 2: Differentiate from other PCB files

    Other files define copper layers, solder mask, or component placement, not drilling.
  3. Final Answer:

    To provide instructions for drilling holes on the PCB -> Option B
  4. Quick Check:

    Drill file = hole instructions [OK]
Hint: Drill files tell machines where and how to drill holes [OK]
Common Mistakes:
  • Confusing drill files with copper layer files
  • Thinking drill files include component placement
  • Assuming drill files control solder mask color
2. Which of the following is the correct format for specifying a drill tool in a drill file?
easy
A. DrillTool(1, 0.8)
B. Tool1:Diameter=0.8
C. T01C0.8 (Tool 1, 0.8 mm diameter)
D. 01T0.8D

Solution

  1. Step 1: Recognize standard drill tool syntax

    Drill files use TxxCyy format where T is tool number and C is diameter.
  2. Step 2: Compare options to standard

    T01C0.8 (Tool 1, 0.8 mm diameter) matches standard format; others do not follow typical drill file syntax.
  3. Final Answer:

    T01C0.8 (Tool 1, 0.8 mm diameter) -> Option C
  4. Quick Check:

    Tool format = TxxCyy [OK]
Hint: Look for T + number + C + diameter format [OK]
Common Mistakes:
  • Using non-standard syntax like colons or parentheses
  • Swapping tool number and diameter order
  • Omitting the 'T' or 'C' letters
3. Given this drill file snippet:
T01C0.6
X10000Y20000
X15000Y25000
T02C1.0
X12000Y22000

What does this snippet specify?
medium
A. Tool 1 drills 0.6 mm holes at (1,2) and (1.5,2.5), Tool 2 drills 1.0 mm hole at (1.2,2.2)
B. Tool 1 drills 0.6 mm holes at (10000,20000) and (15000,25000), Tool 2 drills 1.0 mm hole at (12000,22000)
C. Tool 1 drills 6 mm holes at (10,20) and (15,25), Tool 2 drills 10 mm hole at (12,22)
D. Tool 1 drills 0.6 mm holes at (10,20) and (15,25), Tool 2 drills 1.0 mm hole at (12,22)

Solution

  1. Step 1: Interpret tool and coordinates

    T01C0.6 means tool 1 drills 0.6 mm holes. Coordinates X10000Y20000 mean 10.000 mm, 20.000 mm (units usually in thousandths of mm).
  2. Step 2: Convert coordinates to mm

    Coordinates like 10000 mean 10.000 mm, so (10000,20000) = (10,20) mm, similarly for others.
  3. Final Answer:

    Tool 1 drills 0.6 mm holes at (10,20) and (15,25), Tool 2 drills 1.0 mm hole at (12,22) -> Option D
  4. Quick Check:

    Coordinates in thousandths mm = (10,20) [OK]
Hint: Divide coordinates by 1000 to get mm positions [OK]
Common Mistakes:
  • Reading coordinates as raw numbers without unit conversion
  • Confusing tool numbers with hole sizes
  • Assuming coordinates are in mm without scaling
4. You find this line in a drill file:
T01C0.8
X10000Y20000
X15000Y

What is the problem with this drill file snippet?
medium
A. The second coordinate line is incomplete, missing Y value
B. Tool number is missing in the second coordinate line
C. Hole diameter is not specified for the second coordinate
D. Coordinates use wrong letter case (should be lowercase)

Solution

  1. Step 1: Check coordinate line format

    Coordinate lines must have both X and Y values, e.g., X15000Y25000.
  2. Step 2: Identify missing value

    The line X15000Y lacks a Y value, making it incomplete and invalid.
  3. Final Answer:

    The second coordinate line is incomplete, missing Y value -> Option A
  4. Quick Check:

    Coordinates need both X and Y [OK]
Hint: Check each coordinate line has both X and Y values [OK]
Common Mistakes:
  • Assuming missing Y is allowed
  • Thinking tool number is needed on every coordinate line
  • Believing letter case matters for coordinates
5. You need to generate a drill file for a PCB with two hole sizes: 0.5 mm and 1.2 mm. The holes are at positions (5,10), (15,20) for 0.5 mm, and (10,15) for 1.2 mm. Which drill file snippet correctly represents this?
hard
A. T01C0.5\nX5000Y10000\nX15000Y20000\nT02C1.2\nX10000Y15000
B. T01C0.5\nX5Y10\nX15Y20\nT02C1.2\nX10Y15
C. T01C0.5\nX0.5Y0.5\nX1.5Y2.0\nT02C1.2\nX1.0Y1.5
D. T1C0.5\nX5000Y10000\nX15000Y20000\nT2C1.2\nX10000Y15000

Solution

  1. Step 1: Confirm tool and diameter format

    Tool lines must use 'TxxCyy' format, e.g., T01C0.5 for tool 1 with 0.5 mm diameter.
  2. Step 2: Convert coordinates to drill file units

    Coordinates are in thousandths of mm, so (5,10) becomes X5000Y10000, etc.
  3. Step 3: Check all lines for correctness

    T01C0.5\nX5000Y10000\nX15000Y20000\nT02C1.2\nX10000Y15000 uses correct tool format and coordinate scaling; others have wrong formats or units.
  4. Final Answer:

    T01C0.5 X5000Y10000 X15000Y20000 T02C1.2 X10000Y15000 -> Option A
  5. Quick Check:

    Tool format + coordinates in thousandths mm = T01C0.5\nX5000Y10000\nX15000Y20000\nT02C1.2\nX10000Y15000 [OK]
Hint: Multiply mm by 1000 and use TxxCyy format [OK]
Common Mistakes:
  • Using mm directly without scaling
  • Incorrect tool number format (missing leading zero)
  • Mixing decimal and integer coordinate formats
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard