Below are the most frequently asked questions and a short answer that should point you in the correct direction.  We attempted to keep the answers simple and brief, thinking that if you want a full, lengthy, and precise answer you would likely read the manuals, watch the video’s, etc.

What Operating Systems will Mach3 run on?

Mach3 will run on any Windows OS from Windows 2000 through Windows 8. The parallel port driver included with Mach3 will only work with 32-bit DESKTOP computers with versions of Windows 2000 through Windows 7, but will not work with any 64-bit version of Windows or with Windows 8.

Windows 8 and 64 bit versions of windows require an external motion device which can be purchased very reasonably.

What is an external motion device?

Originally, Mach-series software only worked with the parallel port (via the parallel port driver), which was a standard port on every PC. Technologies have advanced over time, and not only is the parallel port becoming obsolete, but the Windows codebase has changed to the point where it is technically impossible for the parallel port driver to work.

An external motion device is a piece of hardware that is a replacement for the parallel port. It enables a PC running Mach3/Mach4 to control outputs and read inputs. They typically communicate with the PC via an Ethernet or USB connection (but are not limited to those two means of communication). In order to control a machine using an external motion device, the developer of the hardware must write a plugin for that specific device, so no standard USB-to-parallel port adapters will work. There are many devices listed on our Plugins page in the software and download section of our website.

Do you sell hardware?

We do not sell any hardware or packages. We are committed to creating software that can be used with any hardware manufacturer that wishes to work with us.

Motion devices and other complex hardware require a ‘plugin’ (small program that links Mach and allows control of the hardware) that are written by the hardware manufacturer. The quality of your system and functionality depend on good hardware and the associated plugin.

Our Plugin’s webpage contains the software for the hardware that can be used with Mach. This is a good place to look for a motion control device, etc. that will work with Mach.

Thinking about buying a machine from an auction site or far off land?

Mach3 is sold by us as a DIY (do it yourself) CNC control. Most of our OEM’s and distributors provide a high level of service and support for their hardware and software bundle. Our software is used on thousands of machines, each requiring specific technical knowledge to configure and use. We provide as much assistance as possible, which typically consists of helping with license issues, software installation issues, or general software information. Configuring unknown hardware is simply not possible without detailed, specific information.

The OEM (original equipment manufacturer) of a machine should have the full knowledge and technical information necessary to configure the software correctly. There are more than a billion possible combinations of hardware that can be used with Mach3. This great flexibility can also make it difficult for a user who is new to CNC and believes they have purchased a complete and operating CNC machine. We would like to help everyone configure their machine, but we simply do not have the wiring diagram, motor specifications, drive specifications, etc. that are needed.

Building your own CNC machine is a very rewarding experience and we are happy to provide a great CNC control program at an affordable price. When you build your own CNC machine, you are the OEM.

Purchasing an unassembled or untested machine that does not include the computer/processor with pre-configured software is a CNC KIT. There are many great kits out there and many terrible ones. Please buy a kit from a reputable CNC company that provides the level of support you require. The OEM of the kit is responsible for support and the method for configuring their machine.

With even the best machines and kits, a professional usually requires two or more days of reading and setting up the machine until it is ready for use.

Questions to Consider:

  • What level of support do I require and what is provided?
  • Is this a reputable company? Am I buying stolen merchandise or software?
  • Is there a company website or shop?
  • Do I trust the reviews?
  • Is there anyone who understands my language or will help me?
  • Do I really want a kit or do I want a turn-key machine?

What is a plugin?

A plugin (or plug-in) allows people to add custom functionality to Mach3/Mach4. Plugins are written as .dll files in programming language. They are primarily used to enable Mach3/Mach4 to work with hardware devices (e.g. external motion controllers), but can also be used to add functionality (e.g. Mach3’s Flash plugin) or extend existing functionality (e.g. Mach3’s Jcode plugin).

Visual C++ 2003 is required to create Mach3 plugins.

Will a USB-to-Parallel Port converter work?

No, standard USB-to-parallel port adapters will not work. Controlling a machine with Mach3/Mach4 using any USB or Ethernet device will require that a plugin be developed for that device. See “What is an external motion device?” and “What is a plugin?”

What is a BoB (breakout board)?

A breakout board is a piece of hardware used to interface between the PC (or external motion device) and the machine I/O. Many will offer other benefits as well, such as optical isolation.

How do I cut my drawing? Can I load it directly into Mach3/Mach4?

Transforming an idea into an actual part is a 3-step process: CAD (see “What is CAD?”) –> CAM (see “What is CAM?”) –> Control. Mach3/Mach4 is the Control part of the process and requires G-code files produced by a CAM or Wizard program.

Wizard programs are the most simple for those new to cnc.

Advanced users/machinist will often write their own gcode.

What is CAD?

Computer-aided design (CAD), computer-aided drafting (CAD), or computer-aided design and drafting (CADD) is the process of using a computer to design and draw the parts you would like to create. The CAD files then need to go through a CAM process to become the G-code files that Mach3/Mach4 uses.

What is CAM?

Computer-aided manufacturing (CAM) is a subsequent process after CAD. The CAD files are loaded into the CAM program, the desired machining parameters (tools, cut depths, etc) are chosen, and toolpaths (in the form of a gcode file) are created which then control the machine tool. The G-code files are formatted based on the postprocessor chosen.

What is G-code?

Used mainly in automation, G-code is the common name for the most widely used numerical control (NC) programming language, which has many implementations. G-code is sometimes called G programming language.

What is a good book to learn G-code?

“CNC Programming Handbook 3rd Edition” by Peter Smid

What are M-codes?

M-Codes are macros that can be executed within a G-code file. See “What is a macro?”

What is a macro?

A macro is a small program that has been written as an easy way to perform a function (or functions). Macros can range from very simple (e.g. turning an output on/off) to very complex (e.g. running a tool changer). In Mach3/Mach4, we create macros using a scripting language: VBScript for Mach3, LUA for Mach4.

These macros can be embedded into on-screen buttons, so that clicking the button runs the macro. Macros that are accessible via G-code (e.g. M6) can also be created. The macropump is a special Mach3 macro that loops continuously while the program is running.

What is an XML?

It is a Mach3 configuration file. Every Mach3 profile stores its settings in an XML file located in the Mach3 installation directory (C:\Mach3 by default). If Mach3 is loaded using the “MyMill” profile, those settings would be stored in MyMill.xml. The name of the currently loaded profile can be seen in the lower-right corner of the Program Run screen in the default screen set. See “What is a profile?”

What is an INI?

It is a Mach4 configuration file. Every Mach4 profile stores its settings in a Machine.ini file located in the Mach4 profiles directory (C:\Mach4\Profiles by default). If Mach4 is loaded using the “MyMill” profile, those settings would be stored in C:\Mach4\Profiles\MyMill\Machine.ini. See “What is a profile?”

What is a profile?

A profile is a configuration file which is used to store the various settings for a machine. A Mach3/Mach4 profile has to be created and configured for each machine it controls. Mach3 uses XML files to store this data (see “What is an XML?”) while Mach4 uses INI files.

What is a screen set?

A screen set is the file (and associated graphics) that makes up the GUI (graphical user interface). In other words, the set of files that comprise what is seen on the screen. A screen set can change not just the appearance of Mach3/Mach4 but also the functionality.

This means that a function or operation that works in one screen set may not work when a different screen set is loaded. It is suggested to use the default screen set until an understanding of Mach3/Mach4 is achieved.

What Mach3 files should I backup?

At a minimum, any license files and profile XMLs (as well as any custom macros, screen sets, or brains used by those profiles) should be backed up. In practice, it may be easier to keep a current backup of the entire Mach3 directory as this ensures everything necessary to rebuild the system should be available in the event of a catastrophic failure. The definition of a current backup is one that has been done after any permanent changes have been made to the software to alter it from its previous state.

This includes such things as changes to any licenses, macros, screen sets, brains, or plugins as well as the modification of any configurations. We recommend using a USB flash drive or some other portable storage device as the backup media.

What else can the computer running the machine be used for?

CNC controls require critical timing. When a computer has been chosen to be used as a machine controller, it should be dedicated to that task / not used for anything else. Adding additional software and processes to a machine controller can adversely affect performance and introduce problems.

What is a Coordinate System?

A CNC machine is controlled by commanding movements to, and tracking the positions of the axes. These movements are defined in terms of a coordinate system. Mach3/Mach4 uses multiple sets of (Cartesian) coordinate systems for various tasks. The Machine Coordinate (G53) system is the base system that all of the other fixture/work/tool offsets are relative.

What is the Right Hand Rule?

The Right Hand Rule is a quick way to determine the correct positive orientations of the X, Y, and Z axes in relation to each other. To perform the maneuver, a person would first make a fist with their right hand. Then, they would hold that hand straight out in front of them and stick their thumb straight up in the air, point their index finger forward, and point their middle finger to the left (illustration below).

At this point, all 3 digits will now be pointing in the (+) positive direction for the X (thumb), Y (index finger), and Z (middle finger) axes. If they then rotate their wrist so that the thumb is parallel with the X axis and the middle finger is “sticking” in the spindle, all 3 digits will be pointing in the positive direction of the axis they represent.

What is the Driver Test?

Running a Driver Test is only applicable when using Mach3 with the parallel port driver. A Driver Test is performed by running DriverTest.exe and it is used to evaluate the quality of the pulse stream being produced by the driver. The graph is a type of timing analyzer which displays a visual representation of the pulse stream currently being produced.

Any variations in the graph are changes in timing from one interrupt cycle to another. On most systems, the reported Max Variation should be 15 or less. Even if there are greater variations, it is possible they are below the threshold necessary to create timing jitters, so movement tests should be performed with the machine tool connected to determine if jogging and G0/G1 moves are smooth.

What should the Steps Per Unit for the axes in Mach3 be?

The Steps Per is a calculated value of how many step pulses are required to move the axis one Native Unit (inch or mm). Section 5.5.1 of the “Mach3Mill Install and Config Guide” discusses the necessary calculations in great detail.

What are the differences between Home Switches, Limit Switches, and Soft Limits?

All coordinates on a CNC machine are based on its machine Home location, which is the origin of the Machine Coordinate (G53) system. Home switches are used to reference the machine and set this origin point. While not a necessity, they are very useful.

Limit switches tell Mach3/Mach4 that the machine is at the physical limit of axis travel. If a limit switch is triggered it disables the motion of the machine.

Soft Limits are the same as hardware limits in that they limit an axis from traveling too far. This is accomplished entirely in software by Mach3/Mach4 monitoring the machine position and keeping it within the specified bounds.

In Mach3, setting up Soft Limits is fairly simple. They are based on Machine Coordinates so having a consistent Homing strategy is vital. The extents of the Limits are defined by the Min/Max settings under Config > Homing/Limits (as coordinate values). The easiest way to determine what the Min/Max values should be is to Home the machine, move each axis to its furthest extent, and see what the values are (by clicking on the Machine Coords button on the Program Run screen). Those values, along with 0, make up your Min/Max (ie. if X is 0 at one end of travel, and -43 at the other end, then your Max will be 0 and your Min will be -43; if Y is 0 at one end and +20 at the other, then your Max will be +20 and your Min will be 0).

Section 4.5 of the “Mach3Mill Install and Config Guide” discusses home and limit switches in more detail, while Soft Limits are discussed in Section

Why does the machine not move the correct distance?

The Steps Per Unit value for the axis is incorrect.

The motor for the axis is improperly tuned (acceleration and/or velocity are too high) which causes motor stalling and lost steps.

There is an electrical problem between the controller and the drive.

There is a mechanical issue such as backlash or slippage.

What do my settings need to be?

Mach3/Mach4 needs to be configured to match how your machine is physically wired and tuned appropriately for your hardware. Whoever built the machine will have this information, though much of it can likely be found in the documentation for the hardware or even reverse engineered if necessary. Some settings will be the preference of the designer/operator. All settings for Mach3 are covered in the “Mach3Mill Install and Config Guide” available from the Product Manuals page.

Where do I start? Are there steps?

Yes! For anybody just beginning with CNC, the following steps are absolutely essential. Even pros with many years of experience may be able to pick up a few pointers. All machine controls are different, and even a person who has run, worked on, built, or installed CNCs for many years using any particular control will experience a learning curve when using a different control.

Mach3/Mach4 is quite capable of controlling a machine, but there will be differences between it and any other controller. Also, the hardware used in a CNC can have a dramatic effect on how the software and complete system operate. The bottom line: each system will behave slightly differently.

The control (no matter whose) is not capable of understanding the operator; therefore the operator/designer must be capable of understanding the control and creating their system.

  • 1) Read the manuals. Even the most seasoned pro will often reference the manuals when they have a question. Reading the “Mach3Mill Install and Config Guide” in its entirety, and making notes of any questions it may prompt, is a great first step. It is important to fully understand how the software operates to create and use the system that is created. The knowledge the manual provides can reduce the chance of expensive or time consuming rework.
  • 2) Watch the tutorial videos. These are fairly short and loaded with information. They can be found on the Tutorial Videos page of the website.
  • 3) Establish requirements and write them down. List the requirements the machine must achieve, such as the tolerance it must hold, repeatability, rapid speeds, feed rates, acceleration, coolant, power source, etc.
  • 4) Gather information. Collecting any and all relevant documentation available from the outset of the project. This includes any manuals or data sheets for the machine and/or the components. Components or machines with poor documentation may require careful consideration.
  • 5) Make an I/O map. Using a spreadsheet to list all of the I/O (inputs and outputs) and document which pin of which device they will be wired, can save effort with both configuring Mach3/Mach4 and troubleshooting any issues. This will likely be used for the life of the machine.
  • 6) Draw diagrams. Diagrams for the electrical, pneumatic, hydraulic, coolant, etc. systems can be important when troubleshooting a machine. If the machine is a retrofit and did not come with any diagrams, it may be well worth the time to create them.
  • 7) Generate a parts list. Document what parts are needed, where to acquire them, their cost, part numbers, etc.
  • 8) Review, edit, and update. At this stage, there should be a solid understanding of what type of machine is desired, what parts are necessary to produce it, and a pretty good idea of how everything ties together. Chances are that along the way, required adjustments have been made, so now is the best time to update the documents accordingly to reflect these changes.
  • 9) Gather components. It should now be possible to make educated decisions about the components required to build the machine and feel confident they will give the desired results. If this is not the case, it is time to backtrack as far as necessary in the process to reach that comfort level before actually ordering any parts.
  • 10) Bench test. Once the components are gathered, it is time to assemble and test them. It is advisable to initially perform this process on a bench (desk, table, work shop bench). Testing before permanently installing the hardware and routing the wires in the machine will often save a lot of time, trouble, and frustration. It is not unusual for things to fail to work exactly as expected with a new setup.
  • 11) Assemble and test. After the hardware has been bench tested, it is time to install it on the machine. It is the responsibility of the builder to make sure that assembly is done correctly in order for the machine to meet the specifications that were set. Care should be taken to ensure that everything is done properly the first time. If questions arise, they should be researched and addressed before continuing otherwise the machine may not perform as expected.
  • 12) Purchase Mach3/Mach4 & Enjoy! If everything has been done correctly up to this point, the only thing left to do is purchase a license for the software. If everything has not been done correctly, the decision must be made as to whether or not the results are acceptable or if things need to be adjusted.

How do I make Auto Touch Off work?

There are many ways to implement this feature. Most are done by simply wiring a plate with one nonconductive side and one conductive side. The nonconductive side is placed on the work surface and the conductive side will wire into the breakout board (or other location) and be configured as an input in Mach3/Mach4. Utilizing this feature requires a macro or a plugin.

What do I need to enable automatic tool changes?

The default setting in Mach3 is to ignore tool changes. The endless possibilities of configurations make the ability to create a “one size fits all” solution impractical. If an auto tool changer is required, it will need to be designed and implemented. This will include creating any custom scripts necessary to pass information to and from Mach3/Mach4. There are many example scripts available on the forum to help complete this task.

What is necessary to do threading with Mach3Turn?

“Rich’s Guide to Mach3 Threading” is an excellent manual that discusses the process of cutting threads in great detail. The two key elements, though, are the need for an Index pulse from the spindle to sync the axis movement and the need for a Mach3 license as threading capability is disabled in demo mode.

What knowledge is required to build or retrofit a machine?

It should be noted that any attempt to build or retrofit a machine in a DIY manner is just that – you Do It Yourself and by no means is it plug-n-play. The instant the decision has been made to Do It Yourself, the builder becomes the designer. Other people may be able to give guidance along the way, but no one knows more about a design than the designer, and only that person can answer some of the questions that will pop up along the way. Troubleshooting skills are often required. As with any learning curve, the steepness declines with knowledge. Anyone possessing the following skill sets, or willing to acquire them through their own research, should not have much trouble with the process:

  • Electrical: It is not necessary to be an electrical technician, but being familiar with, and comfortable using a digital voltmeter is required. Intermediate electrical and wiring skills are required.
  • Mechanical: Have an understanding of basic mechanical principals. Gearing, force, torque, load, and assembly (how things fit together) are the primary elements that will be needed. Some machines may require knowledge of pneumatics, hydraulics, etc. Anything above this is a plus.
  • Computing: Basic computer skills, such as how to install software and copy files, are required. Knowledge of how the machine is wired and what physical components are used is mandatory for configuration, as is reading any manuals for the software.

Once the decision to build or retrofit a machine is made, it is recommended to read Chapter 4 of the “Mach3Mill Install and Config Guide”. It covers some of the typical hardware used in a Mach3/parallel port machine and includes a nice illustration of how everything connects together.

At minimum, the setup requires a 32-bit version of Windows, a parallel port interface (serial will not work nor will a USB adapter), a standard breakout board, and drives that can take step/dir commands. Please be aware that it is technically impossible to use the parallel port driver with 64-bit versions of Windows, so the use of an external motion device is required.

What hardware is needed to convert a machine?

This depends largely on the type of signal the axis drives will accept (step & direction vs. analog), the number of I/O points and their type (digital vs. analog), and the maximum desired signal frequency. Chapter 4 of the “Mach3Mill Install and Config Guide” discusses the hardware used in a typical Mach3/parallel port controlled machine (the short version: if the machine does not utilize a standard breakout board and motor drives that take step and direction for input, it will probably require a complete retrofit).

Where do my wires go?

This is something that is beyond the scope of the software and not a question we can answer. Whoever built the machine will have this information, though much of it can likely be found in the documentation for the hardware or even reverse engineered if necessary. This will often require a thorough understanding of the electrical and mechanical components that make up the machine.

Where do I get older versions of the software?

Normally, the current version of our software located on the download page is the correct version that should be used.

You can find older versions of our products on our FTP server at ftp://ftp.machsupport.com/.

Why does it say “external estop request” whenever I try to Reset Mach3?

This messages means that the Estop input is active, usually evidenced by the flashing of the Emergency LED on the Diagnostics screen. If a physical Estop button has been wired into the breakout board, verify that the port/pin assignment and Active Low settings are correct. If there is no physical button, set the pin number to 0.

Why is Mach3 telling me my machine has an “Abnormal Condition”?

This button is calling attention to the fact that something has changed from what has been set as its “normal” state. Clicking on it will list the conditions that are not “normal”, which can be something as simple as not having the machine homed.

Where do I purchase a license for Mach3?

Please do NOT purchase a license for the software until AFTER you have it successfully running your machine and have verified that everything functions correctly.

  • Licenses for Mach3 are available through various distributors around the world and directly from our website
  • We sell licenses to end users who want to design and build their own system. Support is not included with most of our products.
  • If you require support, buying our software from a distributor or OEM that provides this service, normally for additional cost, is likely your best option. Buying a full package from an OEM that has been designed to work together is another method for those with little time. There are distributors in most countries.

Where do I go for support?

In general, we expect the users of Mach3/Mach4 to be familiar with the information contained within the product manuals. This is true in any of the following situations. The way in which the Mach3/Mach4 license was purchased will dictate the next step should the manuals not be sufficient.

  • If Mach3/Mach4 was included as part of a machine purchase: The machine seller or manufacturer should be contacted. They are familiar with the software-hardware system and configuration and would be the authoritative source on settings, (pin settings, motor tuning values, etc.) troubleshooting, and replacement components.
  • If the Mach3/Mach4 license was purchased from a distributor: As with the OEMs, we have agreements in place with some distributors whereby they have agreed to be responsible for Mach-related support for their customers. If the license was purchased from one of these distributors, they should be contacted for any support issues.
  • Otherwise, first come – first served email support: Aside from the manuals, we also have tutorial videos available and we highly recommend utilizing our forum (where many questions have already been asked and answered). If there is a question or issue that has not been addressed elsewhere, our tech support can be contacted via the ‘contact us’ form on the website. Since a license for the software should not be purchased until after the machine is successfully running in Demo mode, purchasing a license for the software does not carry an entitlement to support other than the freely available resources mentioned. Support by email is offered to all, whether or not a license has been purchased.
  • Phone Support: We will be offering versions of Mach4 that will include phone support. We do not offer phone support for Mach3 or Mach4 Hobby. We have many distributors and OEM’s throughout the world that offer phone support services when you purchase their packages. If you need this level of support, you are encouraged to purchase our software from an OEM or distributor that provides this service. Our license prices are based on limited email support. This is a primary reason we have a large OEM and distributor network that offers a full range of services and we can offer Mach3 and Mach4 Hobby at such a low price.