The PML offers  several CNC machines such as “Hank” (Haas Mini Mill), “Yolanda” (Haas TL-1), and ProtoTRAK in 3 Axis. This page outlines the use of several machines. The following reference guides are only for the use of trained personnel who have been given permission to use these machines. For formal training or permission to machine please contact Pete Szczesniak (


Haas Mini Mill Guide


Welcome to a quick start guide to the Haas Mini Mill. This step-by-step guide will walk you through the machine start-up, configuration, and pre-machining workflow.

1. Obtain permission.

You will need to have a Machining Work Permit signed by a full-time member of the shop staff prior to working on the Haas.
2. Save G-code for your machining operations onto a USB Flash drive as a .txt file.

PLEASE CHECK YOUR COORDINATE SYSTEMS!!! This is the most important thing to check for in your G-code. The machine has six coordinate systems, spanning from G54 to G59. These are meant to be used if you are setting up multiple fixtures. However, to make life easy, please define all your operations within the G54 coordinate system. This means that when you save the G-code, YOU MUST REPLACE ALL INSTANCES OF G53, G55, G56, G57, G58, AND G59 WITH G54This is is what happens when you don’t!

NOTE: Your USB drive must be formatted as either a FAT or FAT16 file system.
3. Have all of the stock, tooling, and fixtures you will need to machine your part(s) on hand.

4. Start up the Haas Mini Mill.

  • Press the green Power On button on the upper-left corner of the machine’s console.
  • Wait for the machine to boot up. This process takes approximately 90 seconds.
  • If an Alarm screen reading “102 SERVOS OFF” appears:
    • Press the big red Reset button.
    • The screen should then say “NO ALARM”.

5. Set door-hold override.

  • In the Display section of the console (top-center), select the Setting Graph button.
  • Press Page Down to advance to the next screen of the machine settings window.
  • Press the ↓ (down arrow) until you get to row number 51, titled “DOOR HOLD OVERRIDE”. (NOTE: the rows are not in numerical order).
  • Press the → (right arrow) until the override is set to “ON”
  • Press Write | Enter, which is on the bottom-right corner of the console.
  • Press the Y button when prompted to confirm that you wish to enable the door hold override.

6. Re-home the machine.

  • Ensure that the machine’s vise is empty (except for a vice-stop if one has been pre-installed).
  • If there is a tool in the spindle:
    • Firmly hold onto the tool holder and press the Tool Release button (approximately one foot above the spindle, inside the machine), holding it down for about one second. A burst of compressed air will blow away loose chips and release the tool holder from the spindle.
    • CAUTION: Tools are often heavier than they appear!
  • Press the Power Up | Restart button.
  • The machine will go through a calibration cycle, zeroing all three axes and inserting Tool #1 into the spindle.

7. Load tool carousel.

Prior to loading each tool, ensure that the taper of the tool holder is free of all debris.

After re-homing, the tool changer is ready to have Tool #1 loaded.

  • To load Tool #1 into the spindle, align the two slots on the tool holder with the corresponding posts on the spindle.
  • Insert the tool holder into the spindle, holding it approximately 1 inch below full insertion.
  • Press the Tool Release button (approximately one foot above the spindle, inside the machine), and hold it for about one second. A burst of compressed air will blow away any loose chips. Firmly press the aligned tool holder into the spindle, release the Tool Release button, and the tool will be sucked into position. Ensure the tool is secure before carefully letting go of the tool holder.
  • To insert another tool, you must CHANGE TO A DIFFERENT TOOL NUMBER:
    • Enter MDI (Manual Data Input) mode by pressing the MDI DNC button on the touch pad.
    • Use the Delete button to delete any existing code that has been entered.
    • Type “M06 TX” (where X is the tool number you wish to set the spindle to), then press Write | Enter.
    • Hit the green ”Cycle Start” button in the lower-left corner of the machine console. The machine will place the existing tool in the carousel and move to location X in the carousel. If a tool was already loaded into position X, it will be loaded into the spindle, and you will have to remove it to install a different tool.
  • At this point, repeat all of the above steps to insert the remaining tools into the spindle.


8. Set tool height offsets.

A note regarding Z: You will be independently zeroing all of the tools to a known, repeatable surface (typically the bed), rather than to the part. This provides numerous benefits, including the ability to utilize the same tools for multiple part setups, with different part Z-zero heights. Furthermore, this process allows any tool to be replaced without impacting the Z offsets of the other tools, as they are all set independently.

Using a Digital Height Gage, you must set all of the tool length offsets for your tools. The Gage is 2.0000 inches tall, but you should always verify this.

  • Use the CHANGE TO A DIFFERENT TOOL NUMBER procedure listed above to change to the desired tool. Typically, it is easiest to start with Tool #1, and set the Z-Zero of each of the tools sequentially.
  • Hit Offset to enter into the offset registry.
  • Place the height gage on the mill’s bed (NOTE: You can also place the gage on any other repeatable surface to set tool length offsets, but there must be a conductive path for the height gage to function properly).
  • Press the Hand Jog button, and then the .01 increment button. Select the Z axis by pressing either +Z or –Z, and use the rotating dial to bring the tool down NEAR (but not yet touching) the top of the height gage. You might also need to jog in the X and Y axes, using the same procedure, substituting the +X/-X or +Y/-Y buttons accordingly.
  • Place the handle jog into the .001” increment by pressing the .001 button.
  • Lower the tool until it contacts the top of the gage. The red indicator light on the gage will tell you when the tool is in contact. Back off until the indicator light just turns off.
  • Select the .0001” increment by pressing the .0001 button and repeat the zeroing process.
  • Ensure that the cursor on the screen highlights the length offset for the current tool, and press the Tool Offset Measure button to set the Tool Length Offset register for that tool.
  • Repeat this process for all of the tools that have been inserted into the machine. Be consistent in your methodology.
  • Now, all of the tools have been zero’d 2.0000 inches above the bed of the machine.


9. Establish the X-Y Origin of your part.

  • Mount your work to the table (via the vise or other means). Make sure it is VERY secure.
  • Using the procedures listed above, insert the digital edge-finder into a tool holder, and load that holder into the spindle.
  • Use the same hand-jog operations from Part 8 to locate the X-Axis of your machining operation. Raise the spindle, and compensate for the radius of the edge-finder!
  • Hit the Offset button twice to enter into the Work Zero Offset menu.
  • Page down (or up) until you see the G54 register (or the G55 register if your G-code is based in G55).
  • Place the cursor on the X register, and press Part Zero Set. This has now set the X-zero location for your part.
  • Repeat the same procedure to set the Y-axis.


10. Establish the Z-Zero of your part.

A second note regarding Z: Recall that we set the tools relative to a known surface. In this step, we are going to determine the offset between that surface and the Z-zero height of our part.

  • Load one of your pre-set tools, Tool X, into the spindle.
  • Place the digital height gage onto the Z-Zero plane of your part (based on the settings in your G-code).  NOTE: The height gage relies on the conductivity of the work surface to complete a circuit, thus indicating when the tool comes in contact with the gage. If you are machining any non-metal, you must create a conductive “bridge” in order to use the height gage.
  • Follow the same procedure defined in part 8 to locate Tool #X exactly 2.0000 inches above the Z-zero height.
  • Hit the Offset” button twice to enter into the Work Zero Offset” Menu.
  • Page down (or up) until you see the G54 register (or the G55 register if your G-code is based in G55).
  • Move the cursor to the Z entry and type 0.000, then press F1 to set a zero into that register.
  • Note the “Z-Position” listed in the lowest row of the machine’s screen.
  • Type this number (which is usually negative), and then press Write | Enter.
  • The G54 (or G55) Work Zero Offset in Z should now match the current “Z Position”.
  • Press Offset to view the Tool Offset Registry.
  • Remember the Offset Length for Tool #X.
  • Press Offset again to return to the Work Zero Offset screen.
  • Move to the G54 (or G55) Z registry, and type the negative of the Offset Length for Tool #X that you just committed to memory. Press Write | Enter.
  • Type -2.0. Press Write | Enter, and the Z-Zero will be properly set to your part’s Z-zero height. This step accounts for the height of the gage.


11. Loading your G-code into active memory.

  • Insert your USB drive (formatted as either a FAT or FAT16 file system) into the machine.
  • Press List Prog.
  • Use the ↓ (down arrow) to scroll down the left column until “Floppy” is selected.
  • Press F4.
  • Press the → (right arrow), then the ↓ (down arrow) to scroll through the files saved on the floppy disk.
  • Once the desired file is highlighted, press Write | Enter to copy the file.
  • Press the ← (left arrow), then press the ↓ (down arrow) to scroll down the left column until “Hard Drive” is selected.
  • Press F4.
  • Press the → (right arrow).
  • Press F2 to paste the file into the hard drive.
  • The machine will say “Processing” for approximately 30 seconds. NOTE: If the machine processes for longer than 2 minutes, you will need to power-cycle the machine, set the door-hold override, and re-home the axes, then try again. Fortunately, you will not need to reset any of the tool data.
  • Once the file is ready, the screen will say “Done”.
  • Press End to advance to the file most recently pasted into the hard drive. This should be your program.
  • Press Select Program to open your code.
  • Hitting Currnt Comds will show the G-code being executed by the Haas in real-time. You can use the scrolling arrows to view the tool’s current position in the machine’s different coordinate systems.

12. Run your code.

You may not operate the Haas without supervision from an authorized individual. This individual will tell you everything you need to know.

.TL-1 CNC Lathe Guide


Welcome to a quick start guide to the TL-1 lathe. This will help you through start up, setting offsets, and loading your program into the machine.

1. Obtain permission

You will need to have a Machining Work Permit signed by a full-time member of the shop staff prior to working on the TL-1.

2. Starting the machine

Before turning the TL-1 on, you must move the tailstock and carriage out of the way, both for your own safety and convenience. Both should be moved as far to the right as possible, with about two inches left between the tailstock and carriage. To start the machine, push the big green button located on the upper left hand side of the control panel that reads <POWER ON>. The machine will take a few seconds to boot up, and then you will be presented with the main user interface. There will most likely be a message displayed that warns “ALARM – SERVOS OFF”. To fix this, simply press the red RESET button a few times until the message goes away.

Because our door sensor is broken you must navigate to the machine settings page and turn on the door override. To do this, press <SETNG/GRAPH>, then <WRITE/ENTER> into the “PROGRAM” tab, then use the downward cursor arrow to scroll to option 51, the Door Hold Override. Use the right arrow to switch this option to on, and push <WRITE/ENTER>, at which point the display will prompt you that you’re entering a less safe work mode; press <Y>. Now you can move on to zeroing your parts.


3. Setting zeros and offsets

Now that you have that off, press <MDI/DNC>, then <PRGRM CONVRS>, then <POWER UP/RESTART>. The machine will now start to move and zero itself. When it has finished, the carriage will be in the lower right corner nearest the control panel and the machine will start to beep. Press <RESET>. Now it is time to set up your part and work offsets.

Press <OFFSET> once to enter the tool geometry page. From here you will zero your parts in the X- and Z-axes. To control the axes via the scroll wheel, push <HAND JOG> and the corresponding X+ or Z+ directional button. The resolution of the axes’ movements can be set using the buttons on the right side of the control panel. A single click on the wheel can move an axis 0.1 to 0.0001 inches. To control the axes via the hand wheels, push <HAND JOG>, <SHIFT>, and then the corresponding X+ or Z+ button; the screen will now display “XZ MANUAL JOG”. Note that the spindle can be turned on at any time while in the offset page by typing a number and pushing the spindle <FWD> button; press <STOP> to turn it off.

To zero the each tool, you first have to make sure that the tools are cutting at the correct height. Put a piece of sacrificial stock into the chuck, and face a small section. Change the tool height if necessary, and repeat until the tool is on center. The left handed cutters can be checked using the point of the tailstock. Next, load the TL-1 fixture into the machine such that the 2.000″ OD section sits flush against the chuck jaws. With the spindle OFF, put a piece of paper between the tool and the desired face of the fixture and slowly bring the tool closer. Stop when the piece of paper becomes difficult to move. If you are setting a Z coordinate, push <Z FACE MESUR>, then add/subtract the thickness of the piece of paper, depending on which face you are working on. Then subtract the length of the fixture so that your tools are in reference to the chuck face. Using a piece of paper again, bring the tool into contact with the outer diameter of the fixture. Press <X DIA MESUR>, and enter the diameter (remember to add twice the thickness of the piece of paper!). Repeat this with all of your tools. Remember that the X readings on the machine are in diameter.

The final step is to zero your work coordinates. Press <OFFSET> until the lower pane is highlighted. Use the cursor keys to highlight your coordinate system. Unless you have a reason to do otherwise, use the G54 coordinate system; this is the default for our machine. This is the coordinate system that the machine will use to run your CAM file; if this is incorrect then your part will be completely wrong and you risk breaking the machine. Work coordinates essentially move your entire frame of reference, and are very useful. A simple way to deal with them is to use an initial Z offset of +5.000, command the tool to go to Z0.0, measure how far you are from the chuck, subtract your intended stock length from that value, and then change the coordinate offset by that amount. An X offset of 0.000 is generally recommended. To move the head easily to that position, press <MDI DNC>, and enter the code below:
 G54 T1 X0. Z0.;
4. Opening and Editing CAM Files

Now that you have your zeros set properly you will want to import your G-code into the machine. Insert your thumb drive into the side of the control panel and press <LIST PROG>. You will see two tabs, one that says “Memory” and the one that says “USB”; select USB and press enter. Navigate to your file, press <WRITE/ENTER>, and then <F2>. A dialogue will appear that asks whether you want to save the file to memory, hit <Y> and <WRITE/ENTER>. Now your program is saved to the TL-1’s memory.

To navigate to your file, hit <MEM> and you should see your program in the left side pane. The first thing you will want to check is that you are not moving to a ridiculous X,Z position at the start of your program, which seems to happen on occasion depending on how you made your CAM file. I’d suggest using (X0.0, Z10.0) as your starting point, as well as your tool change location. If you need to edit anything press <EDIT> and navigate down to the proper line and enter the correct code using the keypad. A useful technique is the ability to simulate your G-code; simply press <CYCLE START> while in the editing pane. This is useful for debugging your code.

5. Running Your Code

You may not operate the Haas without supervision from an authorized individual. This individual will tell you everything you need to know. Before you run your code it is always good practice to offset the G54 work coordinates by a few inches in the positive Z direction and test your code to make sure unexpected happens.

Once you have done this, run your code by pushing <MEM> and then the green <CYCLE START>. The spindle will start and the tool post will begin moving. The TL-1 has been known to attack its operator if it is not shown enough respect, so beware!


.Prototrak Guide


Reminders!! The upper spindle limit of the ProtoTRAK is 3000 rpm. Remember to adjust your feeds to this upper limit of spindle speed.

1. Obtain permission.

You will need to have a Machining Work Permit signed by a full-time member of the shop staff prior to working in 3 Axis Mode on the ProtoTRAK.

2. Once you import your part into SolidCAM, select MEAM_ProtoTRAK as your machine.

3. Set up your coordinate system, stock, target, tools and operations as you normally would for the Haas Mini Mill.

  • Reminder : The upper spindle limit of the ProtoTRAK is 3000 rpm. Remember to adjust your feeds to this upper limit of spindle speed.

4. Generate and Save G-code for your machining operations onto a USB Flash drive as a .GCD file.

  • Generate each operation as a separate file
  • You’ll see why it Step 11

5. Have all of the stock, tooling, and fixtures you will need to machine your part(s) on hand.

6. Putting the machine into 3 Axis Mode.

  • When you reach the machine, the first thing you need to do it put the ProtoTRAK into 3-Axis mode. To do this go to setup and select “3 Axis”.

7. Loading your Code

  • Insert the Flashdrive with your code into the side of the machine.
  • Go to Mode -> Program in/out.
  • When prompted to List Supported Programs select No.
  • Navigate the File Explorer and select your program by choosing Open File.
  • If you file is not saved as a .GCD (it can be a .txt) you can open it as a .GCD using the “open as” option in the “open file” window

8. Setting the “Reference Position”

  • Go to Set-up –> Ref-Position.
  • Jog the Z Axis up enough that the tool will clear your part. This position is also knows as the Retract Position.
  • Once you are clear of your part by a considerable distance, set the position by selecting abs set.

9. Setting Tool Table

  • Go to Set-up –> Tool Table.
  • Enter all the information that is required of you.

10. Establish the X-Y Origin of your part.

  • Mount your work to the table (via the vise or other means). Make sure it is VERY secure.
  • Locate the XY origin corresponding to where you had it in your program using an edgefinder.

11. Establish the Z-Zero of your part.

A note regarding Z: Before every op that required a tool change, you will re-zero in Z.

A note regarding loading tools: You have the option to use a Welded Shank tool holder to verify your exposed length.

  • Load the tool require for your operation into the spindle.
  • Bring the tool down and locate Z by utilizing the quill until the tool is in contact with your Z-Zero surface.
  • Set the Z-Zero by selecting the Z Axis –> abs set.


12. Checking your tool path.

  • Go to Set up –> Tool Path.
  • Use the various options as a sanity check.

13. Run your code.

  • All standard methods of running CNC machines apply
    • Utilize a spray bottle.
    • Always have your hand on the Stop button.
  • You may not operate the ProtoTRAK in 3 Axis mode without confirmation from an authorized individual.
  • You can use the override options (the red and blue arrows next to the F/S button) to change your feeds and speeds

14. When you’re done…

  • Return the machine back into 2 Axis mode
  • Setup –> 2 Axis