XinFab CNC usage and overview guide

From XinCheJian
Jump to navigation Jump to search

This is the XinFab CNC usage and overview guide. Please read this guide because the CNC can be very dangerous!. It's very important to focus on SAFETY!!

This page is only on overview. You will see that it is already very long - this highlights that there is a LOT to learn! So you must put in some of your time and effort to help ensure your safety and help you make nice CNC'ed items!

...This guide is a work in progress. Please help correct and improve it.


This CNC system has these main parts:

  • CNC milling machine
  • CNC controller
  • Computer with Windows to run the CNC control software (Mach3). Mach3 sends your gcode design to the controller.
XinFab CNC Mach3 software

CNC controller front.jpg CNC controller rear.jpg

Ways to use the CNC

It is important to know what materials and tools you can use with the CNC. It's very important to select:

  • Appropriate tool (size, number of flutes, tool coating - carbide, etc.)
  • Feed rate
  • Spindle speed

This needs to match the material type AND thickness AND type of cutting your are doing. For example, 90 degree plunge is typical for most 2D cutting. You may need angled for 3D, etc.

Tool bits 1.jpg Tool bits 2.jpg

Materials you CAN cut

This CNC mill can be used to cut:

  • plastics
  • carbon fibre
  • metals (???)

Materials you CAN NOT cut

This CNC mill SHOULD NOT be used to cut:

  • toxic materials (dust or gass - eg materials that "smoke" when cut)
  • "hard" metals (???)

Key point to know about the CNC


  • SAFETY!! This is a dangerous machine!
  • If you wear glasses, the safety goggles may not fit over your glasses very well. Please bring your own!
  • DO NOT change Mach3 settings, screens or macros. This can cause confusion (see below).
  • CLEAN - clean clean clean – if you want accurate cutting
  • Lubricate

Learning how to use the CNC

You MUST spend quite a bit of time learning and getting help/inducted!!! The CNC is not a simple machine, and there are many things you have to learn.

  • eg How to change tools bits ... it is very easy to damage clamping nut if you do not know how to do this!!
  • eg home = go from current position directly to home ... can you see problem with that?
  • eg what feed rates to use for different material and thickness
  • eg how to select correct tool bit
  • eg different ways to safely clamp material to the table
  • eg How to create breakout/cutout tabs? (Use instead of clamping pieces, especially small pieces)
  • spindle not spinning - rotate speed knob clockwise
  • How thick/deep to cut for roughing out & finishing for different materials?
  • Which direction to spin different types of tools and why.
  • Where do you set cut on/inside/outside the line and by how much (tool diameter or radius +/- any offset)?
  • Where do you set cutting tool diameter/radius and length?
  • How to check the object size in your ACTUAL gcode is correct?
  • How to work out why cut object is not expected size. Hints – recheck your design and also look at two lines just above and also 2 lines just below, or on my first try it happened in between file conversions in a multi-software tool path :)
  • How to simulate the cutting.
  • How to do a dry run of the cutting.
  • How to cut many of same part? Think carefully as any manual steps in your toolchain can easily cause major problems here! – gcode subroutines??
  • What are G codes, M codes and all those other codes??
    • start with RHS table, M codes on left, G Codes on screen…
    • get screen shots
    • Note these codes are NOT regulated by a standard, in general they are the same, but different manufacturers implement some codes differently!
  • What macros have been setup/changed in Mach3 (and automatically run/triggered via your g/m/t etc codes)?
  • Why does CNC NOT pause for tool changes? - see Settings – “Ignore tool change” option
  • Why cut inside of parts before cutting the outside?
  • … scary number of warnings about configuring Mach3 and tool etc damage
  • ?ALSO Turn questions into a list of questions/checklist for users

Eg – do you want to change tools during cutting?

  • Do you want to autoset height after tool change….
  • Make sure cutting path does INSIDE shapes before cutting the outline of parts, unless each part is well fixed/clamped to the table!
  • Tool change required? - If yes, then ....


Mach3 software Mach3 is the software that is used to control the CNC.

Important note: Do not change the settings!

Don't change the settings! Existing users who share this CNC rely on these settings.

If you believe a setting does require change then please discuss with XinFab. Write to the mailing list or weixin group. Let everyone know about any changes. Please include the wall posters near the CNC!

The Mach3 installation is an upgrade from earlier version and is very sensitive to changes.

For example please do not switch to the chinese screen/view/profile. That was created in a different Mach version. It disrupts global settings, and causes problems!

Mach 3 Configuration

Summary information of configuration in "CNC_working" profile

  • Units used are metric mm.
  • Home position is from left table corner is x=0, y=0, spindle raised max height is z=0.
  • Table size/value range X=0 195.5 (0= left), Y=0 296.5 (0=front), Z=0 -95 (0 = highest, -95 lowest)
  • Auto zero is set for X/Y axis - so home position will automatically be re/set every time end stop is activated.
  • Z axis does not have an end stop
  • Hardware - possibly common - generic 3020???
  • Controller?? - listed in the Mach3 cfg???

Free Demo Versions of Mach3

Software that controls the CNC is Mach3 - free demo versions are available.

You can load this profile in demo version of Mach3 and get familiar with Mach3 and avoid 'clogging' up the machine room and also using up your CNC "time/RMB" :)

This profile has all the machine specific configuration as well as custom configuration of Mach3, such as:

  • eg zoom amount, maybe keys to zoom, screens dif?,
  • table top disp is material top/surface?, my model loads in +x, -y, -z!!!
  • video "Homing limits & ofsets" - jog to pos you want your model at, zero x/y, THEN regenerate model!
  • doco says xml files AND says use shortcut with /p to use OWN profile which won't get overwritten....
  • YES loaded "CNC_working.xml" and get same changes & impact on my gcode!!!!
  • ..loaded profile is in bottom right corner!!!
  • The CNC has Z probe and custom macros to support this capabilty???
  • size of the bed/table
  • metal 11"5/8"x 171/4"
  • wood~same and about 5/8"thick
  • wood inner tray area 8 1/8 x 13"
  •  ??Is there a design file/drawing for cutting new bed and drilling the mounting and clamp holes?

If you have questions:

  • Ask whoever gave you access to log on to the CNC computer.

Using the CNC overview

Here are the rough steps for how to use the CNC.

Step 1: Create your Design

Create your 2D or 3D design. Most people only need 2D. An example would be cutting a flat sheet. A 3D design for a 2D cutting job can cause issues with file/export formats!

Convert code to Gcode

Convert your design to GCODE, including the desired path to do the cutting.

Step 2: Simulate Cutting

From OpenSCAM:

"Programming a CNC without a simulator is cutting with out measuring; it's both dangerous and expensive. With OpenSCAM you can preview the results of your cutting operation before you fire up your machine. This will save you time and money and open up a world of creative possibilities by allowing you to rapidly visualize and improve upon designs with out wasting material or breaking tools."

At least until you have some experience, we strongly recommend you use a DIFFERENT gerber viewer to check over the gcode AND path! eg [OpenSCAM] which is both open source and cross platform.

Step 3: Loading your design into the CNC

  • Load your gcode
  • Check that Mach3 shows your design correctly (both appearance AND position on XY table)
  • Mach3 does give a **3D** preview in that tiny window AND you can drag to change the view!
  • Left & right click and drag and scroll button to zoom

Step 4: Getting the CNC ready

  • Select material, tool bits, feed rate....
  • Prepare safety gear (eyes, ears, breathing)
  • Check CNC machine AND workarea!
  • Clamp material
  • Zero all 3 axis


  • Does it need cleaning?
  • Anything obstructing its movement
  • Is work area clear? Can you safely move around the area?
  • Is the cutting tool clamped correctly? - Careful these can be very sharp - it is easy to cut yourself - EVEN when machine is NOT spinning!

Step 5: Running the CNC

Power up

  • Computer- press power button
  • CNC controller - press power button

Cleaning - before you start work!

  • Power up computer and CNC controller, run Mach3, jog so can access and clean

Test end stops - Limit switch location and testing

  • Open Mach3 program - with desired profile
    • Press reset - flashing should stop. If not, then press "Offline" (near lower right corner of the gcode window - which is in top left of Mach3)
    • Click "Soft Limits" button to use keep the spindle/tool inside the defined table area - and to reduce chance of hitting things!
  • Diagnostics screen - manually press each home switch and check matching indicator lights up on the screen
  • Program run screen, Click "Soft Limits" button to use keep the spindle/tool inside the defined table area - and to reduce chance of hitting things!
Limit switch Z axis Limit switch y axis
Limit switch x axis Testing x axis limit switch

Load your design

  • Check design - looks correct
  • Check design is in correct position on the table, if not use set a work offset to adjust, then "Regen Toolpath"
  • Check tool path is clear
    • ie manualy move tool FULLY around the path shown on-screen (while tool bit is spinning - less damage to tool/CNC if hit anything this way!)
    • priority is on looking at the tool bit - not at the screen.
    • Yes you need to do both - but priority is to ensure the actual physical tool bit does not hit anything!
    • Also watch out for the material mounting clamps - as these can hit higher up near the chuck!

Run the CNC

  • Mill
  • Enjoy

Cleaning up afterwards

  • Clean before you leave!
  • Ensure entire work area is clean, all tools, cutters, goggles etc are stored correctly.

Mach3 and CNC Terminology

CNC controller Drives the CNC motors and spindle. It is controlled by the Mach3 CNC computer software.
DROs Digital Readouts
You must press Enter key to enter new value, or Esc key undo.
Backspace and Delete are not active when inputting to DROs.
Digital Readouts - are NOT meant to be used to control (jog) the CNC !
End Stop Safety switches to help stop the spindle and tool hitting objects.
Also used to set "home position" - a known physical "machine" reference location.
Jog/jogging Manually moving the CNC bed and spindle.
Lights/indicators On screen lights and border coulours around buttons are often called LEDs.
MDI Manual Data Input
Spindle The drive motor head that spins the cutting tool
Table The flat table that holds material to be cut. Table moves in X (left/right) and Y (forwards/backwards) directions.
Work Offset Convenient way to adjust head/table to a different working position.
You can set many work offsets in the "offsets" screen.
Also see Machine Coords.
Machine Coords Physical position that CNC THINKS it is located at!
Also see Work Offset.

Safety, Tips

Safety Tips

Learning about CNC

  • A lot of what you learn in CNC also helps with laser cutting and 3D printing....
  • Learn a lot at home - download and install Mach3 demo and add this profile. This will save you a lot of time onsite, and possibly save damage....

Mach3 Tips

  • Mach3 Wizards (see below)

Work Offset & Machine Coords button

  • Red light off = display Work Offsets (G54-G59)
  • Red light on = display where CNC THINKS it is located!
  • Normally use "Work Offsets" (LED/light off) which in default mode display distance from home.

Z axis

  • You can zero at top or bottom of material ???zero - or work offset????
  • Top = probably less impact if (WHEN) you manually move to wrong place (or your bad gcode does!)


  • Please do not change the "CNC_working" as this will confuse and even cause issues for other users.
  • If you make changes to "CNC_working" profile, please save it as a separate profile, preferably with including your name
  • Create own shortcut to run your profile, or use the Mach3 Loader to get the available profile list.

Keyboard shortcuts

  • Jog mode
  • Arrow keys = xy movement, page up/down = Z axis
  • Shift + above jog key gives % increase in speed set in "Jog control tab" - "Slow jog rate"
  • Tab opens Jog control tab on RHS of screen

Mach3 Disclaimer

Mach3 software requires you to agree to this:

"It is the nature of all machine tools that they are dangerous devices. In order to be permitted to run Mach3 on any machine you must agree to the following. 

I agree that no-one other than the owner of this machine , will, under any circumstances be responsible, for the operation, safety, and use of this machine. I agree there is no situation under which I would consider Artsoft, or any of its distributors to be responsible for any losses, damages, or other misfortunes suffered through the use of this program. I understand that software is very complex, and though the authors make every effort to achive a bug free environment, that I will hold no-one other than myself responsible for mistakes, errors, material loss, personal damages, secondary damages, faults or errors of any kind, caused by any circumstance, any bugs, or any undesired response by the software while running my machine or device. 

I fully accept all responsibility for the operation of this machine while under the control of Mach3 or any derivative of Mach3, and for its operation by others who may use the machine. It is my responsibility to warn any others who may operate any device under the control of this software of the limitations so imposed, and I agree fully to compensate ArtSoft Inc. for any losses due to Legal actions brought against the company which are related to the operations of this copy of the software.  

I fully accept the above statements, and I will comply at all times with standard operating procedures and safety requirements pertinent to my area or country, and will endeavor to ensure the safety of all operators, as well as anyone near or in the area of my machine.

Gcode Tips

Create your design, save/convert to tool cutting path in gcode

Final output of GCODE for Mach3 – because that is what is installed – unless you can boot a USB or CD….

Mach3 Wizards

There is a large range of interesting wizards for creating different shapes and cutting treads etc. SOME wizards also allow saving of settings &/or created GCODE. But beware this is a shared CNC – so any saved wizard setting cannot be relied to be unchanged next time! Saved gcode can – if you take copy with you! Also even if you saved the code, you probably can't reload it into the wizard to make changes, you might be stuck editing gcode!

Preview / Simulation

preview/simulation of gcode for Mach3

  • Why use alternate tool/s? Especially when what Mach3 “thinks” should be cut is what will happen? Well the Mach3 GUI is not very 'nice' and cutting views are quite small and also do not include dimensions!
  • OpenSCAM

gcode convertor - Intermediate input file format – eg dxf, svg, graphic file, …||

  • Dxf2gcode – has a few quirks see summary how to HERE
  • Inkscape & included extension gcodetools, but hard to get fully functional
  • LazyCam dxf importer included with Mach3 – I have not tried

2D / 2.5D Design Tools

Take great care to select tool that has shape design ability you need AND 1+ suitable output file formats (or at least a not too difficult conversion path!)

  • OpenSCAD
  • LibreCAD
  • Inkscape
  • GIMP - you can even use tools that create graphic file formats

Recommend keeping “primary” copy of your design in native format for application, then use “save as” or export to get any intermediate file format required!

3D Design Tools

3D design tool||Can usually also do 2/2.5D design, most people NOT doing true 3D CNC shapes.

  • XinFab uses Solidworks - a commercial application .. can directly create a toolpath & gcode for Mach3

Other possibly related processes

  • Output for documentation & presentations||Hopefully pretty easy!
  • Mass manufacturing - If you need this step, then make sure your design tools have flexible output format or conversion process, as it is very unlikely that you know what format will be MANDATED by your manufacturing partner!
  • PCB footprints etc - Kicad - In my case I need to ensure that parts will fit in specified area of PCB and mounting holes match, so strongly desire ability to have shapes in Kicad as footprints to the fit could be checked. Also would be nice to have 3D versions of the shapes. This tool, looks promising, but I have not been able to get any python scripts running in Kicad yet. Note tool is actually a dxf to Kicad footprint converter, it is not reliant on OpenSCAD!
  • Eagle ULPs probably exist to help out

Future of CNC

This CNC is in need of some upgrades. Some suggestions are:-

Administration of the CNC

The 3020 CNC belongs to XinFab. You can use the CNC through XinFab, or as a XinCheJian member.

See also

External Links