CNC Mill Operations

From Hack Manhattan Wiki
Jump to: navigation, search


The CNC Mill/Router

<a id="Contents">Contents</h1>

  • <a href="#1.">1.</a> Introduction
  • <a href="#2.">2.</a> CNC Mill Capabilities
    • <a href="#2.1.">2.1.</a> Materials
    • <a href="#2.2.">2.2.</a> Dimensions
    • <a href="#2.3.">2.3.</a> Spindle Speed
    • <a href="#2.4.">2.4.</a> Collet Diameter
  • <a href="#3.">3.</a> Prepare Your Computer
    • <a href="#3.1.">3.1.</a> Inkscape
      • <a href="#3.1.1.">3.1.1.</a> Install Inkscape
      • <a href="#3.1.2.">3.1.2.</a> Install the Gcodetools Extension
    • <a href="#3.2.">3.2.</a> CAMotics
    • <a href="#3.3.">3.3.</a> Remote Connection to the CNC Mill Controller
      • <a href="#3.3.1.">3.3.1.</a> Windows
        • <a href="#"></a> Install PuTTY
        • <a href="#"></a> Install Xming
        • <a href="#"></a> Install WinSCP
      • <a href="#3.3.2.">3.3.2.</a> OS X
      • <a href="#3.3.3.">3.3.3.</a> Linux
        • <a href="#"></a> SSH
        • <a href="#"></a> X11
    • <a href="#3.3.4.">3.3.4</a> Android
      • <a href="#"></a> ConnectBot
      • <a href="#"></a> Xvnc
    • <a href="#3.3.5.">3.3.5.</a> iOS
      • <a href="#"></a> iSSH
  • <a href="#4.">4.</a> Create Your Gcode
    • <a href="#4.1.">4.1.</a> Convert your object to a path
    • <a href="#4.2.">4.2.</a> Add Orientation Points
    • <a href="#4.3.">4.3.</a> Define a tool
    • <a href="#4.4.">4.4.</a> Create a tool path
    • <a href="#4.5.">4.5.</a> Create the Gcode
  • <a href="#5.">5.</a> Verify your Gcode
  • <a href="#6.">6.</a> Preparing the Mill
    • <a href="#6.1.">6.1.</a> Fixtures
      • <a href="#6.1.1.">6.1.1.</a>Types of Fixtures
        • <a href="#"></a>Step Block Pairs
        • <a href="#"></a>Incra Clamps
        • <a href="#">6.1.1,3.</a>Double-Stick Carpet Tape
        • <a href="#">6.1.1,4.</a>Hot Glue
      • <a href="#6.1.2.">6.1.2.</a>Fixture Placement
    • <a href="#6.2.">6.2.</a> Spoil Board
    • <a href="#6.3.">6.3.</a> Workpiece
    • <a href="#6.4.">6.4.</a> Motors
      • <a href="#6.4.1.">6.4.1.</a> Milling Wood
      • <a href="#6.4.2.">6.4.2.</a> Milling Plastics
      • <a href="#6.4.3.">6.4.3.</a> Milling Metals
    • <a href="#6.5.">6.5.</a> Tool
      • <a href="#6.5.1.">6.5.1.</a> Bits for milling Wood
      • <a href="#6.5.2.">6.5.2.</a> Bits for Milling Plastic
      • <a href="#6.5.3.">6.5.3.</a> Bits for milling non-ferrous Metals
    • <a href="#6.5.">6.6.</a> Controller
      • <a href="#6.5.1.">6.6.1.</a> Power Switch
      • <a href="#6.5.2.">6.6.2.</a> Emergency Stop
      • <a href="#6.5.3.">6.6.3.</a> Motor Stop
  • <a href="#7.">7.</a> Controlling the Mill
    • <a href=#7.1.">7.1.</a> Pendant Control
    • <a href=#7.2.">7.2.</a> Mobile Device Control
      • <a href="#7.2.1.">7.2.1.</a> Android
        • <a href="#"></a>ConnectBot
        • <a href="#"></a>Xvnc
      • <a href="#7.2.2.">7.2.2.</a>iOS
        • <a href="#"</a> isSH
      • <a href="#7.2.3.">7.2.3.</a> Windows
      • <a href=#7.3.">7.3.</a> Computer Control

      • ### RENUMBER  
      • <a href="#7.1.">7.1.</a> Windows
        • <a href="#7.1.1.">7.1.1.</a> WinSCP
        • <a href="#7.1.2.">7.1.2.</a> Xming
        • <a href="#7.1.3.">7.1.3.</a> Putty
      • <a href="#7.2.">7.2.</a> OS X
        • <a href="#7.2.1.">7.2.1.</a> _____
        • <a href="#7.2.2.">7.2.2.</a> _____
        • <a href="#7.2.3.">7.2.3.</a> _____
      • <a href="#7.3.">7.3.</a> Linux
        • <a href="#7.3.1.">7.3.1.</a> SSH
        • <a href="#7.3.2.">7.3.2.</a> _____
        • <a href="#7.3.3.">7.3.3.</a> _____
      • <a href="#7.4.">7.4. Android</a>
        • <a href="#7.4.1.">7.4.1. Xvnc</a>
        • <a href="#7.4.2.">7.4.2. Connectbot</a>
      • <a href="#7.5.">7.5. iOS</a>
        • <a href="#7.5.1.">7.5.1. iSSH</a>
    • <a href="#8.">8.</a> Running the Mill
      • <a href="#8.1.">8.1.</a> Personal Protective Gear
        • <a href="#8.1.1.">8.1.1.</a> Hearing Protection
        • <a href="#8.1.2.">8.1.2.</a> Eyesight Protection
        • <a href="#8.1.3.">8.1.3.</a> Respiratory Protection
      • <a href="#8.2.">8.2.</a> Debris Removal
      • <a href="#8.3.">8.3.</a> Start the Job
        • <a href="#8.3.1.">8.3.1.</a> LinuxCNC
          • <a href="#"></a> Prepare LinuxCNC
          • <a href="#"></a> Prepare the Mill
          • <a href="#"></a> Home All axes
          • <a href=""></a> Offset the Mill
        • <a href="#8.3.2.">8.3.2</a> Start Milling
    • <a href="#9.">9.</a> Cleanup
    • <a href="#10.">10.</a> Maintenance
    • <a href="#11.">11.</a> Authorized CNC Mill Users
    • <a href="#12.">12.</a> Glossary
    • <a href="#13.">13.</a> Change Log

<a id="1.">
CNC MILL ORIENTATION CONDUCTED BY <a href="">Konstantin Avdaschenko</a>.

1.   Introduction

These instructions have been written from the viewpoint of a Windows 10 user. If you are using another version of Windows, OS X, or one of the multiple flavors of Linux, things may be in different places and your software options may be different, but the principles will be the same.

As much as I have been able to ferret them out, I have included relevant information about the various other OSes. Since a Wiki is a participatory document, I have included places here where users of the various OSes can add the relevant data required.

<a href="#Contents">[ Table of Contents ]</a>

<a id="2.">

2.   CNC Mill Capabilities

    <a id="2.1.">

    2.1   Materials

    • Wood
    • Plastics
    • Non-Ferrous Metals
      • We still need to make some electrical connections for the metals motor so, while the mill is capable of milling metals, we cannot mill metals at this time.

    <a id="2.2.">

    2.2.   Dimensions

    There are three dimensions of concern:

      X axis
      Y axis
      Z axis

    and each of these axes has two or three diension of concern:

    • Maximum X: 400 mm
    • Maximum Y: 228 mm
    • Maximum Z: depends on the motor and bit used. Measure after Homing All with the bit installed. Remember to subtract the thickness of your workpiece and the spoil board.
    <a id="2.3.">

    2.3.   Spindle Speed

    • Wood: 35,000 RPM fixed
    • Plastic: 0-15,000 RPM or 35,000 RPM depending on which motor is used
    • Non-Ferrous Metals: 0-15,000 RPM
    <a id="2.4.">

    2.4   Collet Diameter

    • Wood: 0.25 in
    • Plastics: depends on whch motor is used
    • Non-Ferrous Metals: 1.2 mm - 3.18 mm

<a href="#Contents">[ Table of Contents ]</a>

<a id="3.">

3.   Prepare Your Computer<o:p></o:p></span>

To create the Gcode that will control the mill we will be using Inkscape to draw the shape and then the Inkscape extension Gcodetools to convert that shape to Gcode.

Inkscape → Gcodetools → CAMotics → SSH

Will other toolchains work? Probably. But we have not tested them so have documented this one which we know does work.

    <a id="3.1.">

    3.1.   Inkscape

    <p>Inkscape is a drawing tool much like Adobe IllustratorTM, only it is free. It produces Scalable Vector Graphics (SVG) files and can export Portable Document Format (PDF) files. It is not as finished as Illustrator but it gets the job done. Could you use Illustrator instead? Probably. But, since this known working toolchain is based on using Gcodetools, which is an Inkscape plugin, you will need to use Inkscape anyway. So, you might as well bite the bullet and create your drawing in Inkscape rather than creating it elsewhere, and then importing it into Inkscape so that you can use the Inkscape Gcodetools extension to create the Gcode file.</p>

      <a id="3.1.1.">

      3.1.1.   Install Inkscape

      • Download Inscape from <a href="http"></a>
      • Click the installer to begin the Inkscape install.
        Usually the default settings work fine but if you are a power user you might want to tweak things.
      • Launch Inkscape
      • In File > Document Properties
        • Edit the following settings:
          • General > Display units : mm
          • Custom Size > Units: mm
          • Custom Size > Width: 400 mm
          • Custom Size > Height: 280 mm
      <a id="3.1.2.">

      3.1.2.   Install the Gcodetools Extension

      • Download the Gcodetools extension from <a href=""></a>
      • Decompress the archive and copy all of the files to the Inkscape extensions directory.
        Do not nest the extension files in their own subdirectory.
      • Windows
        C:/Program Files/Inkscape/share/extensions
        OS X
    <a id="3.2.">

    3.2.   CAMotics

    <p>CAMotics' raison d'être is to let you visualize what your mill will do before you tell it to go and do something that will be destructive to itself or to your workpiece. Its capabilities are a bit limited as everything is shows you is predicated on the toolpath it reads from your Gcode, so it knows nothing about the size and shape of your workpiece or the location of holddowns that may be in the path of the tool.</p>

    <a id="3.3.">

    3.3.   Remote Connection to the CNC Mill Controller

    <p>You will notice that there is no keyboard, no mouse nor display near the CNC mill. To connect to Linux on the BeagleBone Green controlling the CNC mill we will be sing our laptop to establish an SSH connection with PuTTY and using Xming to visualize the X11 windows of the Linux install. We will also use WinSCP to copy the file from the Windows machine to the Linux box. There are other SSH clients and file copy programs that will do the same thing, but unless you already have them installed and are familiar with their use, I would suggest you use this toolchain, which is known to work.</p>

      <a id="3.3.1.">

      3.3.1.   Windows

        <a id="">   Install PuTTY

        • Download PuTTY from <a href=""></a>
        • Click the installer to begin the PuTTY install.
          Usually the default settings work fine but if you are a power user, you might want to tweak things.
        • Launch Putty
        • Create and save a connection profile:
          • Host Name (or IP address): cnc.local or cnc.lan
          • Port: 22
          • Connection Type: SSH
          • Category > Connection > SSH > X11
            • X11 forwarding: Enable X11 forwarding (checked)
            • X display location: localhost 0.0
            • Remote X11 authentication protocol: MIT-Magic-Cookie-1
          • Category
          • Save

        <a id="">   Install Xming

        <a id="">   Install WinSCP

      <a id="3.3.2.">

      3.3.2.   OS X

      <a id="3.3.3.">

      3.3.3.   Linux

        <a id="">   SSH

        • SSH (Secure SHell) is included in a Linux install, but being a Linux user you already know that. You will use it in place of both PuTTY and WinSCP to both log into the BeagleBone, and to copy your Gcode files to it.
        <a id="">   X11

        • X11 (X Windows) is also included in a Linux install and will display the LinuxCNC GUI in the SSH connection.
      <a id="3.3.4.">

      3.3.4   Android

      I have found Web postings indicating that this works but I have not gotten it to work yet. But then I am not the brightest LED in the array when it comes to these things.

        <a id="">   Install ConnectBot

        • Download and install this program from the Android Play store.
        <a id="">   Install Xvnc

        • Download and install this program from the Android Play store.</i>
      <a id="3.3.5.">

      3.3.5.   iOS

      The program description indicates that this will both log you into the BeagleBone and will show you the X11 GUI windows.

        <a id="">   Install iSSH

        • Download and install this program from the iTunes store

    <p align=right><a href="#Contents">[ Table of Contents


    <a id="4.">

    4.   Create Your Gcode

    We will use Inkscape to draw the shape of the object we want to cut on the mill and will then use the Inkscape Gcodetools extension to generate the required Gcode. I will assume here that you already know how to use Inkscape and will only deal with the part about using the Gcodetools plugin to create the Gcode file. If you need instructions on using Inkscape search for any of the excellent (and some not so excellennt) tutorials on the Internet.

      <a id="4.1.">

      4.1.   Convert Your Object to a Path

      • Select the object(s) to be acted upon.
      • Path > Object to Path

      <a id="4.2.">

      4.2.   Add Orientation Points

      • Extensions > Gcodetools > Orientation Points
      • Edit Z depth to the depth at which the path will be cut.
        Depths should be expressed as negative numbers in mm.
        • e.g. A 3mm deep hole would be written as -3.00000
          The entire path will be cut to the same depth. To cut paths of multiple depths you will need to create multiple Tool Paths and from them multiple Gcode files using a different Z depth in the Orientation Points of each file. This can probably be accomplished using layers but I haven't had a need to figure the procedure out yet.
      • Apply
      • A pair of orientation points will appear at the bottom of the Inkscape page in the format:
      • (0.0; 0.0; 0.0) (100.0; 0.0; -3.0)

        These points we be used to create the relative positional references (mill offsets) for the mill. I Like to use the lower left corner of my workpiece as the touch off point ( so I move the control points to this location on my inkscape drawing.

      <a id="4.3.">

      4.3.   Define a Tool

      • Extensions > Gcodetools> Tool Library
      • Select a tool type and Apply.
      • A colored box will appear beneath the Tool Library dialog box.
      • Close the Tool Library dialog box.
        • Click the close button at the bottom of the dialog
          if you are feeling particularly energetic, move your cursor all the way to the top of the dialog box and click the X at the right end of the title ribbon.
      • Select the colored box and drag it somewhere convenient where it does not obstruct your drawing. I usually put mine beneath the Inkscape page boarder adjacent to the Orientation Points. However, I have not found it to matter where you put it as long as it is on the layer where your path is.
      • Use the Inkscape Text tool to edit the diameter line of the Tool box and enter the diameter of the tool you will be using in mm.

      <a id="4.4.">

      4.4.   Create a Tool Path

      • Extensions > Gcodetools > Area
      • On the Area tab adjust Area Tool Overlap as necessary.
        Valid values are 0 - 0.9 and represent the % of the tool which will be over already removed material.
      • On the Fill Area tab set Filling Method to either Zig zag [that is the way they spell it in Russia so I didn't change it so you won't get confused when looking at the dialog box options] or Spiral as seems best.
      • Select the path you want to turn into a toolpath.
        You can leave the Area dialog box open while making this selection.
      • With either the Area or the Area Fill tab selected, press the Apply button.
      • A notification box will appear saying something about the program working.
      • The notification box will close and the toolpath will be drawn in blue inside the path you had previously selected.
      • Troubleshooting
        Things to check if it doesn't work:
        • Are your control points on the same layer as your object path?
        • Is your tool definition box on the same layer as your object path?
        • Did you remember to edit the tool diameter in the tool definition box?

      <a id="4.5.">

      4.5.   Create the Gcode

      • Extensions > Gcodetools > Area
      • On the Preferences tab:
        • You will have to edit the Directory item as the default value is to place the generated file in the /home directory of a Linux machine.
          I have found that Gcodetools has trouble with my nested directory file structure and have found that placing the file on my desktop works best (/Users/[username]/Desktop).
        • Edit File to give the saved file a name you will recognize.
        • If the Add numeric suffix to filename is checked, each time you create a Gcode it will have a serial number appended to the filename. This can result in having a directory full of versions of the same file but it might save your bacon if you trash the file but one of the versions works.
        • Set units to mm.
      • Select the blue toolpath you created in the last step.
      • Open the Path to Gcode tab and click the Apply button
      • A notification dialog should appear saying something about the machine working on the conversion.
      • When the dialog closes, check the location on your computer where you told Gcodetools to save the Gcode file and it should be there.
      • Troubleshooting
        Things to check if it isnt working:
        • Are your control points on the same layer as your tool path?
        • Is your tool definition box on the same layer as your tool path?
        • Did you remember to edit the tool diameter in the tool definition box?

    <a href="#Contents">[ Table of Contents ]</a>

    <a id="5.">

    5.   Verify Your Gcode

    • Launch CAMotics.
    • File > New Project
    • In the aptly named Dialog dialog box
      • Set Units to Metric (mm).
      • Set Tool Table to Empty.
    • File > Add File
    • In the Create new project or add NC files dialog
      • Select G-Code File
      • Press the OK button.
    • In the New GCode file dialog browse to the location of your Gcode file, Select the file and click the Open button.
    • Right-click in the Tool Table area and select New Tool from the context menu.
      • In the Tool Editor dialog box
        • Edit Number.
          Every tool has to have a unique number between 1 and 999. Since your Tool Table is empty, it does not matter what number you assign it.
        • Edit Units to mm.
        • Edit Shape to the shape of the mill you will be using.
        • Length can be left unchanged.
        • Edit Diameter to the diameter of your bit in mm.
        • Click the Save button
        • CAMotics will use whatever tool is at the top of the list in the Tool Table, but since you started with an empty list, and have only added one tool, that should not be an issue. If you did not set Tool Table to empty in the Dialog dialog box, and have multiple tools in the Tool Table list, delete all the extra ones until your tool is at the top of the list. I have not found a way to rearrange the list, so find it easiest to start with an empty list and add my one tool to it.

    • Press the black, right-pointing triangle to start the simulation.
    • Use the double right-pointing and double left-pointing arrows to respectively increase and decrease the speed of the animation.

    You can also use an online Gcode verifier such as the one at <a href=""></a> .

    <a href="#Contents">[ Table of Contents ]</a>

    <a id="6.">
    ! ! !

    ! ! !

    <o:p> </o:p>

    6.   Prepare the Mill

    To some this section might seem out of place, but my feeling is that when dealing with power tools, everything that can be done before the machine is plugged in should be done.

      <a id="6.1.">

      6.1.   Fistures

        <a id="6.1.1.">

        6.1.1.   Types of Fixtures

          <a id="">

   Step Block Pairs

          • secure
          • multiple sizes and adjustable heights for all thicknesses of spoil boards and work pieces
          • can be fiddely to install until you get used to them
          • sit above the top of the workpiece and can be in the way of motor movement.
          • can leave an impression in wood of clamped too tightly
          <a id="">

   Incra Clamps

          • secure
          • easy to use
          • tall studs so they can hold thick workpieces.
          • high profile restricts areas of the mill cutting bed where they can be used so they aren't in the path of motor movement
          • if clamped too tightly they can dent the workpiece
          <a id="">

   Double-Stick Carpet Tape

          • secure
          • easy to use
          • can hold any thickness of material while hardly adding any thickness to it
          • below the level of the workpiece so can't get in the way of motor movement
          • when pealed off wooden workpiece it may pull up the grain of the wood
          <a id="">

   Hot Glue

          • secure
          • can be used to hold any thickness workpiece without adding much height to it
          • below the workpiece so can't get in the way of motor movement
          • will start to cool as soon as it contacts the substrate and lumps may form that prevent the workpiece from sitting parallel to the mill cutting bed
          • it may not go on in an even thickness bead depending on pressure applied to the gun trigger at any given time and may not spread to an even thickness when the workpiece is pressed in place, so the workpiece may not be parallel to the mill cutting bed and your cut may not be made to a uniform depth
          • when removed it may damage the surface of the workpiece
        <a id="6.1.2.">

        6.1.2.   Fixture Placement</h3>
        • Four things need to be taken into consideration when mounting the spoil board:
          • Vertical clearance
            The entire mill cutting bed is going to move forward and backward on the Y axis. Any attachments mounted on the back 2/3 of the cutting bed need to be short enough to pass unimpeded under the lowest X axis bar at the back of the mill.
          • Edge clearances
            The Y axis Home switch is mounted in the front left corner of the mill frame so the Incra clamps need to be kept clear of this area. Additionally, the clamps can not hang over the front or back edges where they might prevent full Y travel. So the Incra clamps must be placed on the front 1/3 of the sides of the cutting bed.
          • Tool path clearances
            Attachment hardware needs to be kept clear of the tool path and the bottom of the motor and mill motor collar.
          • Secure Holddown
            The attachment needs to be placed somewhere where it will have adequare grip on both the mill cutting bed and the spoilboard and/or workpiece

        <a id="6.2."><h2>6.2.   Spoil


        A spoil board is a piece of sacrificial lumber that is placed between your workpiece and the mill's cutting bed. It is there to protect the cutting bed and the mill bit in case you inadvertently tell the mill to cut deeper than the thickness of your workpiece.

        • Attach a spoil board at least as large as your workpiece to the center of the mill cutting bed using
          • Step Block pairs
            A very secure attachment method but they can be a little fiddley until you get used to using them.
          • The red INCRA clamps
            The easiest and a very secure attachment method.
          • Studs and T-nuts

        <a id="6.3.">

        6.3.   Workpiece

        • Attach the workpiece to the spoil board using
          • Step Block pairs
            A very secure attachment method but they can be a little fiddley until you get used to using them.
          • The red INCRA clamps
            The easiest and a very secure attachment method.
          • Carpet Tape
          • Hot Glue
            This appears to be a dicey proposition as the glue will start to harden when it contacts the substrate and it may form bumps, which it will be impossible to flatten resulting in the workpiece not being parallel to the mill cutting bed.
          • Studs and T-nuts
        <a id="6.4.">

        6.4.   Motors

        Different motors need to be used depending on whether you are milling wood, plastic or metal. Each of these motors has a spindle speed appropriate for its intended use.

          <a id="6.4.1.">

          6.4.1.   Milling Wood

          • Check to be certain the controller power sitch, the emergency stop switch and the motor stop switch are all in the OFF position.
          • The green Bosch router is used for milling wood.
          • It takes 1/4 in. bits and its spindle runs at a fixed speed of 35,000 RPM.
          • Insert the motor into the mill motor collar.
            • Using a 3/16 in. hex key (Allen wrench), loosen the cap screw on the right side of the front of the mill motor collar.
            • Be careful that you don't cut yourself on the multiple blades on the router bit.
            • The cutting surfaces of the router bits are brittle and easily chipped on contact with metal. Use care when directing the bit through the mill motor collar.
            • Press the motor into the mill motor collar until about 1/2 in. of the silver metal motor nose extends below the mill motor collar.
            • Tighten the cap screw on the right side of the front of the mill motor collar using a 3/16 in. hex key.
          • Insert the desired bit into the collet.
            • 1/4 in. router bits are located on the wooden shelf in the back right corner of the machine shop in a wooden box labeled Peter 506.
            • Loosen the collet nut with the silver Bosch #17 open end wrench.
            • The bits fit snugly - use care that your fingers don't slip on the bit and get sliced open. Hold the bits by their non-cutting surfaces.
            • DON'T BOTTOM THE BIT !
            • Tighten the collet nut with the same Bosch #17 open-end wrench.
          • Remove any tools you may have placed on the mill.

        <a id="6.4.2.">

        6.4.2.   Milling Plastics

        • Either of the motors may be used (keeping in mind that the custom built, black, GrandTurbo motor is not currently usable).
          • see 6.4.1. Milling Wood and 6.4.3. Milling Metals for details
          <a id="6.4.3.">

          6.4.3.   Milling Metals

          • A custom built, black, GrandTurbo motor is used for milling metals.
          • <liWe still need a wire soldered and an extension cable made before this motor can be used.
          • The collet accepts bits with shaft diameters of 1.2mm - 3.18 mm. They are located in the CNC Parts & Tools box, #931, which should be found on shelf 378.
          • Install the custom built, black, GrandTurbo motor in the bushing.
          • place the motor and bushing in the mill motor collar.
          • Tighten the cap nut on the right side of the collar using a 3/16 in. hex key (Allen wrench)
          • Loosen the collet nut using the Bosch #17 open end wrench.
          • Slide the shaft of the bit into the collet being careful that you don't cut your fingers on the flutes.
          • DON"T BOTTOM THE BIT !
          • Tighten the collet nut using the #17 open end wrench
            • Remove any tools you may have placed on the mill.
          <a id="6.5.">

          6.5.   Tool

            <a id="6.5.1.">

            6.5.1.   Bits for Milling Wood

            • 1/4 in. shank wood bits are in the wooden box labeled Peter 5036 that should be on the wooden shelf in the right rear corner of the machine shop.

            <a id="6.5.2.">

            6.5.2.   Bits for Milling Plastic

            • Bits for milling plastics are dependant on which of the motors is being used. See sections 6.5.1. and 6.5.3. for specifics.

            <a id="6.5.3.">

            6.5.3.   Bits for milling non-ferrous metal

            • Bits for milling metals are to be found in the CNC Tools & Parts box, #931 on shelf 378.
          <a id="6.5.">

          6.6.   Controller

          There is nothing you need to do with the controller at this point, and it is indeed a simple device, at least outwardly. <p>The controller is the beige "black box" on the workbench over the CNC mill.</p? <p>There are only three physical controls on the controller:

            <a id="6.6.1.">

            6.6.1.   Power Switch

            • A medium-sized rocker switch at the top left edge of the controller, which controls all power to the mill (but not to the BeagleBone inside the controller which is continuously powered).</l1>
            <a id="6.6.2.">

            6.6.2.   Emergency Stop

            • The large, red, round mushroom plunger switch in the middle of the left edge of the controller is used as an emergency stop.
            • Once pressed it must be rotated clockwise before it will pop back out andrestore power.
            • This switch just cuts power to the motors so the spindle and bit will continue to spin until they lose their momentum.
            <a id="6.6.3.">

            6.6.3.   Motor Stop

            • The large black paddle switch in the lower left corner of the controller is the motor stop switch.
            • This is the best emergency stop switch on the mill becauses it engages motor brakes as well as cutting power to the motors so everything stops instantly.
            • Your hand should be on this switch at all times when the mill is in operation.

        <a href="#Contents">[ Table of Contents ]</a>

        <a id="7.">

        7.   Controlling the Mill

        N.B. The machine shop is a dusty place and you will be making more dust while running the CNC mill. You have to be at the mill at all times when it is running so your computer will be in that dusty environment too. Both you and your computer will be breathing that wood dust unless you take protective measures. If you have an old, mothballed laptop that might be the thing to use to control the CNC mill. Consider enclosing your laptop in a large plastic bag to limit dust incursion but be aware that that could cause your laptop to overheat. As for protecting yourself, see section 8.1.</td>


          There are three ways to control the CNC Mill: with a pendant, from a mobile device, or from a computer.

          The pendant is the preferred method. Since it is directly attached to the BeagleBone there will be no lag between when you issue a command and when that command is carried out. This will be important in the event of something untoward happening which requires an immediate tool stopage. The pendant is a sealed device that is designed to be used with CNC mills and llathes so it will not be harmed bu wood dust.

          The second most preferred method is with a mobile device since these are also sealed devices and should not be terribly affected by dust although you will have to work to get it out of any cracks in the case. The device will have to log into the BeagleBone over a wireless connection so this may inject some lag.

          Because computers often have fans that are going to suck in machine shop air and blow it into the lungs of your machine this is the least preferred method of connection. It is the one that we know works right now.

        • <a id="7.1.">7.1.</a> Pendant Control
        • A pendant is like a wired, special purpose tablet. It has a display screen to tell you what the mill is doing, some buttons that allow you to tell the mill what to do, and a jog wheel to help you navigate on-screen menus and manually move the router around the cutting bed.

          A pendant has been purchased for our mill ind is on the slow boat from China. Once it arrives we will need to get it physically connected to the BeagleBone through a USB port and logically connected to LinuxCNC through the HAL (Hardware abstraction Layer).

          Please stay tuned.

        • <a id="7.2.">7.2.</a> Mobile Device Control
          • <a id="7.2.1.">7.2.1.</a> Android
          • The Web postings say this works but I haven't gotten it to work for me yet.

            • <a id=""></a> Xvnc
              • Xvnc is an X Windows server that needs to be launched and be running in the background when ConnectBot is launched. You won't even know it is there -- or isnt.</lii>
            • <a id=""></a> ConnectBot
              • ConnectBot is an SSH client for Android. It needs to be configured to connect to the BeagleBone, may require some port forwarding, and probably needs to be told to get the output of Xvnc.
            • <a id="7.2.2.">7.2.2.</a> iOS
              • <a id=""></a> iSSH
              • iSSH is an SSH client for iOS deices that is supposed to automatically handle X Windows.
            • <a id="7.2.3.">7.2.3.</s> Windows Mobile
              • <a id="7.2.3.#."></a>MI/X
              • This is an abandonware X Server for Windows that was indicated as possibly working under Windows Mobile. It is the only X Servre I have found for Windows Mobile.

              • <a id="7.2.3.#."></a> The SSH Client
              • This is an SSH client for Windows Phone 8

            • <a id="7.3.">7.3.</a>Computer Control
              • <a id="7.3.1.">7.3.1.</a> Windows
              • <a id="7.3.2.">7.3.2.</a> OS X
              • <a id="7.3.3.">7.3.3.</a> Linus
                <a id="7.1.">

                7.1.   Windows

                  <a id="7.1.1.">

                  7.1.1.   WinSCP

                  <p>WinSCP allows your Windows computer to log into a Linux computer and provides a GUI interfaced file manager that supports drag-and-drop file transfers.</p>

                  • Make sure that the power switch on the controller is in the ON position.
                  • Launch WinSCP
                  • In the Login dialog
                    • Select the cnc.local or cnc.lan profile
                    • Enter the
                      • Username: machinekit
                        Password: machinekit
                    • Press the Login button.
                    • A split screen directory will appear with your laptop displayed on the left and the BeagleBone on the right.
                    • Browse your computer's directory tree to the location where you have your Gcode file stored.
                    • Browse the BeagleBone to the /home/machinekit/machinekit/nc_files directory.
                      By placing your file in this directory Linux will "remember" location and these instructions will work for subsequent users who might not be as adept at navigating a Linux machine, like me.
                    • Click and drag your Gcode file from the left window and drop it in the right window to copy file to the BeagleBone.
                    • Exit WinSCP.

                    N.B.</td> Do not leave the hackerspace with the expectation that your files will still be on the BeagleBone when you return. They may have disappeared for any number of reasons such as, but not limited to:
                    • An accidental erasure
                    • Space needed for the files of others
                    • System maintenance
                    • An act of [insert name of your preferred diety here]</strong> </ul> </td>
                  <a id="7.1.2.">

                  7.1.2.   Xming

                  • Launch Xming
                    Nothing will appear to have happened but Xming should be running in the background, and you will not know if it is active -- or not -- until you launch LinuxCNC a few steps later on and see -- or don't see -- a GUI.
                  <a id="7.1.3.">

                  7.1.3.   PuTTY

                  • Launch PuTTY
                  • Select and Load the cnc.local profile.
                  • In the Category list open SSH > X11
                    • Verify the following settings:
                      Enable X11 forwarding is checked
                      X display location: localhost 0.0
                      MIT-Magic-Cookie-1 is selected</l>
                  • Click the Open button.
                  • At the Linux, Login as: prompt supply the username: machinekit.
                  • At the password: prompt, supply the password: machinekit.
                <a id="7.2.">

                7.2.   OSX

                  <a id="7.2.1.">

                  7.2.1.   _____

                  <a id="7.2.2.">

                  7.2.2.   _____

                  <a id="7.2.3.">

                  7.2.3.   _____

                <a id="7.3.">

                7.3.   Linux

                • Launch SSH
                  • machinekit@cnc.local -p 23
                  • Password: machinekit
                  <a id="7.3.1.">

                  7.3.1.   SSH

                  • Launch SSH and connect to cnc.local over the network.
                    • Username: machinekit
                      Password: machinekit
                  • Copy your Gcode file into the remote directory
                  • Launch LinuxCNC.
                  • The LinuxCNC splash screen will appear followed by the LinuxCNC AXIS GUI in an X11 window.
                  <a id="7.3.2.">

                  7.3.2.   _____

                  <a id="7.3.3.">

                  7.3.3.   _____

                <a id="7.4">

                7.4.   Android

                <a id="7.5">

                7.5.   iOS

              <p align=right><a href="#Contents">[ Table of Contents


              <a id="8.">

              8.   Running the Mill

                <a id="8.1.">

                8.1.   Personal Protective Gear

                  <a id="8.2.2.">

                  8.1.1.   Hearing Protection

                  The mill is loud. It uses a router for a motor and they are notoriously loud. And you are going to be using the shopvac during the entire operation and it is even louder. Be kind to your ears and use hearing protection. If you have not brought your own, there is generally a bottle of disposable in-ear canal earplugs in the personal safety items basket attached to the shelves at the right side of the entrance to the machine shop. Since these are a single use item, it is safest to bring your own pair to the space with you.

                  <a id="8.1.2.">

                  8.1.2.   Eyesight Protection

                  The mill has a spinning blade that is going to throw wood/metal chips all around it. Additionally it is not unheard of for a bit to snap and to fly to parts unknown. And you are going to be staring at the moving parts of the mill the entire time it is in operation to make sure it is not tearing itself or anything else, up and needs to be emergency stopped immediately. So wear eye protection. If you have not brought your own, there is a supply of safety glasses and/or goggles in the personal safety items basket attached to the shelves at the right side of the entrance to the machine shop.

                  <a id="8.1.3.">

                  8.1.3.   Respiratory Protection

                  There will be wood dust in the air of the machine shop and even the rest of the space. This fine dust can and will get into your lungs where it can do all sorts of nasty things unless you protect yourself. There is a communal respirator in the personal safety items basket attached to the shelves at the right side of the entrance to the machine shop, but I would not be inclined to want to breathe through a respirator everyone else has been breathing through. Sometimes there are disposable dust filters there, but you don't know if the one you grab is a new one or one that someone has used and returned to the bin. As with hearing protection, it would be best for you to bring your own particulate filter or respirator.

                You have been warned.
                <a id="8.2.">

                8.2.   Debris Removal

                It is important that debris be kept clear of the bit. This will provide a place for new material to go as it is cut from the workpiece, and keep it from bogging down the spindle. It will also help to reduce the amount of wood dust that fills the air of the entire hackerspace.

                One of your hands should always be on the Motor Stop switch and the other one should always be holding the hose of the shopvac near the area of the workpiece the mill is cutting...carefully. Be mindful of sudden motor movements.

                <a id="8.3.">

                8.3.   Start the Job

                Everything has been building up to this moment. It is finally time to start the mill and make a big piece of wood/plastic/metal into a small piece of wood/plastic/metal. Let the chips fly!

                  <a id="8.3.1.">

                  8.3.1.   LinuxCNC

                  Now we are up to the point the first C in CNC,Computer Numerical Control. This is the point when we have to start using software to control the mill. That software is LinuxCNC.

                  LinuxCNC is software that takes the commands embedded in your Gcode file and translates them into electrical signals that will actuate thevarious motors of your specific machine. That maachine can be a mill or a lathe and can operate on three axes as our mill does, or up to nine axes. So there is a lot this software can and will do. It is running on a lowly BeagleBone under Machinekit, a subset of Debian.

                  LinuxCNC is already installed on the BeagleBone running the mill and has alaready been configured to understand the components of the mill and how to control them. Its almost as simple as giving LinuxCNC your Gcode file and telling it to make your object. But it isn't quite that simple.

                  I started out by downloading the three pieces of LinuxCNC documentation. You can get them from <a href=""></a>. They are

                  LinuxCNC Getting Started
                  I figured this would be the place to go to get the quick and dirty instructions but it turns out to be instructions on getting the software and installing it on the controller. It does have a Glossary which I found helpful.
                  LinuxCNC User Manual
                  A user manual sounds like the thing that would tell you what buttons to click in what order to get the job done but I found it to be a guide to the various menu options in the numerous UIs. It also has a copy of the Glossary.
                  LinuxCNC Documentation
                  In this tome, which is almost 50 times as long as this lonk Wiki page, I found a in section III Using LinuxCNC, Chapterr 4 User Interfaces, section 4.1 AXIS GUI which is as close as I came to a PHD (Push Here Dummy) manual. This document also contains the useful Glossary.

                  This stuff was written by engineers, for engineers who already know how to use a nine axis mill with cooling. I had a chemistry professor like them ages ago when I was in college. He could explain anything to another PhD, but he couldn't explain anything to me.

                  <p>So what follows are the bare bones of what you need to know about LinuxCNC to convince it to make your object.

                    <a id="">

             Prepare LinuxCNC

                  • At the Linux $ prompt, type LinuxCNC to launch the mill control program.
                  • A Machinekit Configuration Selector screen will appear
                    • Select Xylotex.
                    • <string>OK</strong>
                  • A Machinekit splash screen will appear
                  • PuTTY will automatically capture the X11 LinuxCNC AXIS GUI window and redirect it to your laptop screen.
                    <img src="http://______.png" alt="image of the AXIS GUI">
                  • Load your Gcode file.
                    • File > Open.
                    • Browse the directory tree to /home/machinekit.machinekit/nc_files
                    • Select your Gcode file and Open
                    • Your Gcode will be displayed at the bottom of the AXIS screen and a small depiction of the tool path will be displayed in the black window.
                    <a id="">

             Prepare the Mill

                      <a id="">
               Home all axes
                      • Machine > Homing
                      • Press Home All
                      <a id="">
               Offset the Mill
                      • Machine > Homing
                      • Use the buttons in the Manual Control tab to move the motor, and hence the tool tip, in all three axes.
                      • Press Tool Touch Off
                        • Jog tool to the cornerr of the workpiece where you located your Inkscape Control Points.
                        • ???HOW???
                      • . . .
                    <a id="8.3.2.">

                    8.3.2.   Start Milling

                  • Press the gray, right-pointing arrow to begin milling.
                    • To have the mill process the file one line at a time sequentially press the gray, right-pointing arrow.
                  • Watch the mill to be sure that it isn't doing anything untoward and be prepared to stop it if anything happens - i.e. keep one hand on the motor stop switch.
                  • Keep the shop vac going to draw wood shavings away from the tool.

                  If it all goes south and you are hopelessly lost and want a do over

                  • Stop the mill.
                  • Close the AXIS GUI window.
                  • At the Linux $ prompt type sudo reboot

              <a href="#Contents">[ Table of Contents ]</a>

              <a id="9.">

              9.   Cleanup

              Hopefully what you intended the mill to do and what you actually told the mill to do were in agreement and you got the item you envisioned. But the job isn't finished yet. Now it is time to put the CNC mill to bed.

              • Press the Motor Stop switch down to lock the mill motors.
              • Press the Emergency Stop switch to disconnect power from the motors.
              • Close PuTTY to end your SSH connection to the BeableBone.
              • Delete your Gcode files from the BeagleBone.
                • Start WinCSP and log back into the BeagleBone as previously.
                • In the right side directory pane browse to the /home/machinekit/machinekit/nc_files directory.
                • Delete your files.
                • Close WinSCP.
              • Press the Power Switch to the off position.
              • Carefully remove the bit from the spindle and return it to its storage box.</span>
                • Remember that the bit shanks fit snugly in the box holes so don’t let your fingers slip down the tool face when pressing them into the box.
                  Hold the bit by the non-cutting edges.
                  If the end of the bit is not a cutting surface use one hand to align the bit with the hole while you press the shaft into the hole by pressing in the center of the cutting end of the bit.
              • Remove your workpiece and the spoil board from the mill cutting bed.
              • Place the Bosch open-end wrench ###>.
              • Return the hex wrench to Pliers/Hex Keys/Crimpers/Wrenches Box #464 on Shelf #368.
              • Check around the mill, workbench and floor for any small parts that anyone might have been dropped.
              • Vacuum the mill, surrounding shelf, workbench top, surrounding floor and the exterior of your laptop to clean up any wood chips and sawdust.

              <a href="#Contents">[ Table of Contents ]</a>

              <a id="10.">

              10.   Maintenance

              • Report any problems you experience to <a href="">Konstantin Avdaschenko</a>.
              • Arrange to replace anything you might have broken.
              A JOB WELL DONE !

              <a href="#Contents">[ Table of Contents ]</a>

              <a id="11.">

              11.     Authorized CNC Mill Users</h1> <tr> <td>Stephen Lynch</td><td>Konstantin Avdaschenko </td><td>11 March 2017</td> </tr> <tr> <td>Charlie Ridgway</td><td>Konstantin Avdaschenko<td>30 March 2017</td> </tr> </table>

              <a href="#Contents">[ Table of Contents ]</a>

              <a id="12.">

              12.     Glossary

              -- A --
              -- B --
              -- C --
              -- D --
              -- E --
              -- F --
              -- G --
              -- H --
              -- I --
              -- J --
              -- K --
              -- L --
              -- M --
              -- N --
              -- O --
              -- P --
              -- Q --
              -- R --
              -- S --
              -- T --
              -- U --
              -- V --
              -- W --
              -- X --
              -- Y --
              -- X --

              <a id="13.">

              13.     Change Log

              UserOrientation ByDate
              Konstantin AvdaschenkoInstructor</em>
              1 April 2017Initial Posting Charlie Ridgway

              <a href="#Contents">[ Table of Contents ]</a>




              Temporary Documentation

              How It Works Only the members listed below should be using the CNC Router/Mill.
              If you wish to gain access to the laser, contact someone on the list and request a walk-through from them.
              When you get your walk-through, add yourself to the list and put down the name/handle of who gave it to you.

              Member Instructor Comments
              Konstantin Konstantin
              Charlie Konstantin