Click the questions below to find the answers.

Can’t find what you’re looking for in the questions below? Try our Help Sheets and Instructions page for troubleshooting miscellaneous CNC problems.



I’m not an experienced machinist. How do I learn more about cutting metal?

A good place to start is the regular machining FAQ page on this site. It will answer many of your basic questions about the tools and cutting metal. There is also a very informative illustrated book on machining in miniature that features Sherline tools called Tabletop Machining by Joe Martin. (Sherline P/N 5301)
Back to CNC FAQ Index

How hard is it to hook up the computer?

Sherline has made everything as easy as possible for you. The computer has an operating system and software pre-installed. The driver and power supply are also pre-installed inside the computer box. All you have to do is plug in some cords to get up and running. There are some good pictures in the printed step-by-step “Quickstart” guide that comes with your system. They show you how to plug in your new Sherline CNC computer and stepper motors. (Don’t forget to plug in the parallel cable…) In addition to the printed sheet, it is on the Sherline Documentation CD that comes with the system, where it is called CNCquickstart5.htm. Here you can see photos of the system and the back of the computer to see exactly how to plug everything in. If you aren’t familiar with computers, please be sure to pay attention, as you can damage the system if you force things into the wrong plugs.
Back to CNC FAQ Index

I already have a computer. Can I use mine and save some money?

You can, but you might want to think about whether it’s worth it. Basically, you have two ways to go:

  1. Buy a new CNC-ready Sherline machine or retrofit your existing mill, add stepper motors (P/N 67127), buy a driver box to power the stepper motors (Sherline’s is P/N 8760), and plug that into the parallel (printer) port on your computer. Then you have the choice of loading Linux and EMC (which comes on CD with the driver box) and running the Sherline system or using a Windows® or DOS-based software that you purchase elsewhere. The newest Ubuntu version of Linux is quite easy to install and works with most computers, but we cannot guarantee it will install on your particular hardware, which is why we offer the system complete with the computer. Purchase of the driver box does NOT include free software support. If you purchase software from another source, make sure it will run with the Sherline driver box. They may want you to purchase a driver box and stepper motors from them. (For more information about the implications of installing and using Linux compared to other operating systems, CLICK HERE.)
  2. Buy the complete Sherline system with a new computer, connect the cords, boot it up, and start working right away. When we designed our system, we initially planned to let customers do the Linux/EMC installation on their own computers to keep the cost down. When we found out how many variables could affect the installation, we decided it would be worth it to include a new computer with the OS and software already loaded and tested. That way, we avoid having to answer all those phone calls from frustrated users trying to get their system to work. If you are not absolutely sure you are up to the task of installing Linux yourself, we highly recommend that you purchase the complete system, including the computer.

Back to CNC FAQ Index

I already have a Sherline mill. Can I buy the rest of the components and retrofit my mill?

Yes. We now offer systems that include a retrofit kit for either a 5400 or 2000-series mill, three stepper motors, and the computer with drivers and software from the full system. Basically, it’s the complete system less the mill. For a 5400-series mill, the part number is 8542 (inch) or 8543 (metric). For the 2000-series mill, the part number is 8022 (inch) or 8023 (metric). Retrofit kits are also available for Sherline lathes. CLICK HERE for the CNC price list.
Back to CNC FAQ Index

I live someplace other than the United States, and our current is 220 volts, can I still use my CNC system here?

Yes, but you may need to toggle two switches for this to happen. The back of the computer’s power supply has a red switch for switching between 110/115 and 220/230 volts. You will need to flip this switch to 230. You can easily switch it with a small screwdriver or any other small flat device. Secondly, you will need to switch the driver board’s power supply so that it will be set to use 230-volt power. There is a switch that is basically identical to the one on the back of the computer. You will need to open up the computer’s side panel by unscrewing the two screws on the back. The side you will be unscrewing is the one with the power switch for the driver board. MAKE SURE that all power is unplugged, as even if the computer is off it will still have live power to the driver board. Once you have removed the side panel, you will need to flip the switch in the middle of the power supply on the side facing you. It is somewhat embedded into the side, so you might need to get a screwdriver instead of just using your fingernail like you might be able to do with the switch on the back of the computer. Be sure that you have the right setting for the power in your area, as having it switch wrong it will cause damage to the system.

If you are using the 8760 driver box to drive your stepper motors, the separate power supply included with that box will accept any incoming current from 100 VAC to 240 VAC and automatically provide the correct DC output current to the drivers. It comes with a USA-type 3-prong grounded plug, so a different cord or a wall plug adapter will be required in countries that use other configurations.
Back to CNC FAQ Index

What format are the instructions in?

All of the instructions are available in Adobe Acrobat [.pdf]. The Adobe Acrobat Reader program required to open .pdf documents on Windows computers is available for free download at if you do not already have it.
Back to CNC FAQ Index

Where can I find the most current version of all of the instructions on the Sherline Documentation CD?

The most up-to-date version of the instructions can be found at CNC 7 Instructions. Instructions for Debian systems purchased between January 1, 2005, and September 17, 2009, can be found at CNC 4 Instructions. For those using a system purchased before January 1, 2005, instructions for the 2.xx Redhat version can be found on the Sherline CNC Instructions web page.
Back to CNC FAQ Index

What is Linux?

Linux is an operating system. An operating system is the basic set of programs and utilities that make your computer run. Some other common operating systems are UNIX (and its variants BSD, AIX, Solaris, HPUX, and others); DOS; Microsoft Windows; Amiga; and Mac OS.
Back to CNC FAQ Index

What are Redhat, Debian, and Ubuntu?

These are versions of Linux. We now supply the Ubuntu version, which is the most developer-friendly so far and therefore has the most support from the Linux community. It supports a large variety of hardware and incorporates a desktop environment that will be very familiar with Windows and Mac users.
Back to CNC FAQ Index

I already know how to use Windows®. Why should I have to learn to use a new operating system?

From the standpoint of the CNC operator, the underlying operating system is relatively unimportant as long as it runs your programs properly. Most likely, you really don’t “use” Windows for much more than simply opening your programs or moving files around, and the Linux desktop works pretty much the same way as the Windows version. You will feel right at home. There are a few minor differences that are easily learned, but the way you navigate, open and close programs, move files and folders around and so on is pretty much the same. The key is that Linux offers some real advantages over Windows when it comes to running a CNC program. There are other questions in this section that go into more detail on that subject.
Back to CNC FAQ Index

What are EMC and EMC2?

EMC stands for the Enhanced Machine Controller, originally developed by the National Institute of Standards and Technology (NIST). It is released under the General Public License (GPL). Currently, NIST does very little work on the project, and it has been taken over by average Linux users and a handful of very talented coders. You can get up to date on the project and get more detail on its movement of it by visiting its website at EMC is a G-code interpreter, which means it reads your G-code and converts it to step and direction signals that run the stepper motors on your lathe or mill. It is quite a sophisticated program that incorporates tool offsets, backlash control, G-code editing functions, a back plot program, and other useful features.

EMC2 is the latest version of EMC. The biggest difference from the user standpoint is that EMC2 includes a lathe-specific portion making CNC easier for lathe users. EMC2 is now included standard bundled with the Ubuntu version of Linux on all Sherline CNC systems after September 17, 2009. Sherline CNC mill users will see little difference between the operation of EMC and EMC2.
Back to CNC FAQ Index

What programming language does the EMC system use?

The Sherline CNC system and EMC use G-code. G-code is the standard language used to program most CNC machines in the industry and is probably supported by your favorite CAD/CAM program. For simple shapes, you can write the needed G-code yourself. For complicated shapes, you can draw your part in a CAD program and export it to G-code, which can then be used in EMC. (Exporting to G-code may require a second translator program if your CAD program can’t do it.) More can be read about G-code and its uses in the CNCinst.htm file included on the Sherline Documentation DVD-ROM.
Back to CNC FAQ Index

Are you just trying to save money, or is there a reason you use Linux and EMC as your operating system and control program rather than using Windows® and a Windows-based program?

When deciding which operating system and control program to use for our Sherline system, I didn’t choose the Linux-based EMC program because it was free. I chose it because it was better for three reasons:

  1. When Linux is controlling the EMC program, that is all it’s controlling, which isn’t the case for Windows. At that time, CNC programs for Windows would stop cutting in the middle of a program and pause for a few seconds while Windows did some internal housekeeping chores, which produces an unwanted machining mark on the part. The users of Windows programs at the time addressed this problem by buffering the information to the servo drivers through a second computer, but this adds more hardware and several hundred dollars cost to the cost of your CNC system simply to solve a problem that is not present with Linux. Since that time, computer clock speeds have increased, and Windows programs are more competitive to EMC, but I still don’t think they are any better.
  2. The EMC was originally developed by the National Institute of Standards and Technology. I’m sure it cost millions of dollars to be developed. When the government felt it no longer had to protect itself by having its own program, EMC was made available to the general public as an open-source program; however, it wasn’t a program the average person could use. A group of very dedicated engineers and intelligent hobbyists had already spent years working on it when I teamed up with them. With their help, I felt I had a program that was superior to any Windows program when I bundled it with our CNC systems. Linux and EMC may be free to Sherline’s customers, but I personally spent much time, money, and effort testing and customizing it. Even though we pass it on to you at no charge, it sure wasn’t “free” for us.
  3. At the time I chose the EMC program, I felt it had a much better method of handling cutter offsets (g41, g42) than any program available to the home machinist/hobbyist. Others have caught up, but again offer little or no advantage to offset the additional cost to the customer.

Sherline has several million dollars worth of CNC machines running in the factory downstairs, and I couldn’t tell you what operating system they use. Why? Because it doesn’t matter. What is important is whether it runs the control program as advertised, and Linux does just that when teamed up with the EMC.

If you still aren’t convinced, you do have the option of purchasing a Windows-based control program from other suppliers to run your Sherline CNC machines. There are several available that work with our P/N 8760 driver box.
Back to CNC FAQ Index

What other programs are included on the CD that comes with my system?

We have included a number of free utilities that will help you create G-code. They are located in the “Utilities” folder that can be found on your CD. They are all programs that run on your Windows® computer, and the G-code files you generate can be saved in .txt or .ngc format and transferred to your Linux computer to be run. They can also be found on the Sherline website at CNC Links and Resources.
Back to CNC FAQ Index

What do I do if I don’t know how to use Linux or CNC?

Sherline’s instructions will teach you what you need to get started. The instructions are on the Sherline Instructions and Utilities CD that comes with your system. A current copy can be found on Sherline’s website as well by going to

There is also a large amount of documentation on the Internet. If our documentation doesn’t provide the answer you seek, try your favorite search engine and search for your specific problem/question, chances are somebody else has had the same problem. There are also several user groups you can join that will most likely help you with support. While these are not Sherline-specific groups, they will most likely be familiar with the system you are using, and, if not, something very close to it.

The Linux site at now incorporates a Google search function to help you find information about all aspects of Linux on their site. Basic help to get you started is available by calling Sherline at 1-800-541-0735 or 1-760-727-5857 during business hours or emailing We will be glad to help you with the steps needed to get your CNC system up and operating, but we cannot write your G-code for you or tell you how to fixture the machine to make a specific part. That is part of being a machinist and will be up to you. Our CNC instructions included here will get you started, and the printed 48-page color instruction manual that comes with each machine will give you the basics of machining.
Back to CNC FAQ Index

What Is Needed to Make Parts on a CNC Machine?

Some of our customers are under the impression that you can load a picture of a part into a computer and our machine will make the part for you. This is NOT the case with any CNC machine. Click the link below to learn what it takes to turn a design file into g-code.
What Is Needed to Make Parts on a CNC Lathe?
Back to CNC FAQ Index

I’m ready to start writing the G-code to make my part. How do I get started?

If you are new to the CNC community, it is suggested that you read the Sherline CNC instructions all the way through before attempting to make parts. It is a great way for those who aren’t familiar with CNC or G-code to get started in coding. By the time you are finished reading the instructions, you should be able to write simple programs and, at the very least, understand other, more complicated instructions.
Back to CNC FAQ Index

How do I run a CAD drawing on my CNC system?

You can’t run a CAD (Computer Aided Drafting) file directly in EMC or in most CNC control programs. You first need to get the vector information in the CAD program translated into the language of G-code, which is a text file consisting of just letters and numbers. This is what the EMC program uses to talk to the stepper motors that move the machine. With complete CAD/CAM programs like MasterCam®, SurfCam®, or GibbsCam®, you can do a drawing and then output G-code, but these professional-level programs can be quite expensive. If you already have a CAD program and need to get files into G-code, there are several free or very inexpensive “translator” programs available that can do this for you. We include links to a few at CNC Links and Resources. To turn a CAD drawing into G-code, you would open one of these programs on your Windows® machine. Then you would open the .dxf or .stl drawing file in that program and save it as a G-code file. The resulting text file can then be opened in any program that can read .txt files, such as Wordpad®, WordPerfect®, or Microsoft Word® in Windows or by DOS and Linux programs. In EMC, you would save the file to your “gcode” folder (see below), where it can be opened and run. Keep in mind that EMC uses very simple G-code, and the code is written by a high-end CAD/CAM or translator program and may need some lines removed or modified before it will run properly. You can edit the G-code from within EMC and watch it run in the “Backplot” program before turning on the stepper motors to actually make a part.
Back to CNC FAQ Index

How do I transfer my G-code files to my CNC computer from my CAD/CAM computer and vice versa?

There are a few ways you can do this, but the easiest way is to save your G-code as text files on a CD, DVD or USB flash drive on your CAD computer, then take the disk or USB drive and put it into your Linux computer (Note: The file needs to be saved with a name consisting of eight characters or less in order to be able to transfer the file to the EMC program). Once you insert a disc or USB device, an icon for the drive will appear on the Linux desktop. Double-click on it to open a browser window for the drive. On your Linux desktop is a folder called “G-code.” Double-click to open a window for that folder as well. Click on and drag the file from the drive window to the G-code folder window and release the mouse button to drop the file into the folder. (Just like in Windows.) When you are in the EMC, you can open this file by browsing to it. A USB flash drive is now supplied with your Sherline CNC computer. To save a file to a USB flash drive from your computer, just drag the file from the “G-code” folder window to the window for the flash drive. Close the browser windows by clicking on the “X” in the upper right corner of the window. (Just like in Windows.) It is no longer necessary to “mount” and “unmount” drives in Ubuntu Linux, as was done in earlier versions.
Back to CNC FAQ Index

Will G-code created by any given CAD/CAM software work with EMC?

Not necessarily. Some “fine-tuning” may be required before G-code created by some CAD/CAM programs will run successfully on EMC or any other G-code control program for that matter because post processors create code for particular machines that are not all the same. EMC uses industry standards for G-code, but it is up to the manufacturers of CAD/CAM programs to adapt their products to EMC, not the other way around. For example, some unassigned G-codes may be used by one company to do one thing and by another company to do something else. Also, Sherline’s simplified system does not support all G-codes, such as some canned cycles, limit switches, etc. EMC will not understand these codes. It will be necessary to pre-run the G-code in the back plot program and, if the program stops running and highlights an area of offending code, delete the necessary lines using the editor. This is why you will still need a basic understanding of G-code, even if you are using a CAD/CAM program to generate it for you. As EMC becomes more prevalent in the CNC world, more software manufacturers will write specific post-processors for it, but Sherline has no input into that process or control over how these companies write their software. In the absence of a specific EMC post-processor, we recommend you choose the “Mazak” or “Hurco” post-processor as the best alternative to get as close as possible on 3-axis projects right from the start.
Back to CNC FAQ Index

What is a “feedback loop,” and do I need one?

Most systems that use stepper motors do not have any type of “feedback” arrangement that uses an encoder to report movement/position information back to the processor. A true feedback loop using servo motors with encoders can compare specified movement to actual movement and compensate for any skipped steps. It can also allow the user to reverse engineer existing parts by using a probe to touch points on its surface and create a drawing of the part. In general, servo motors are more expensive than stepper motors. Stepper motor systems rely on the fact that if you put power into the stepper motor, it will accurately rotate a certain amount, which happens to be 1.8° per step. By making the electronics more complex, you can micro-step a stepper motor and have it turn only 0.9° or 400 steps for each revolution of the leadscrew. (This is what Sherline does.) By sizing the motor appropriately for the mechanics of the machine, you can make a safe assumption that the motor will always have enough power to make the desired move without stalling. Specifying a proper feed rate (see next question) will also help assure that your machine does not “skip steps,” making a feedback loop unnecessary. Sherline feels a stepper motor system gives you the “most bang for the buck.”
Back to CNC FAQ Index

How fast will the stepper motors move the slides?

A fact when dealing with stepper motors is that the faster they turn, the less torque they have. This is because the power for each pulse is on for shorter periods of time; therefore, it’s a good idea to keep feed rates 20% below the maximum when running programs with many short moves, particularly on the Z-axis. On older software (EMC), the maximum feed rate was 22 in/min. Therefore it is good practice to keep your feed rate below about 18 in/min or 450 mm/min. On newer LinuxCNC systems the maximum feed rate is 32 in/min., so you should keep your feed rate below 25 in/min. or 630 mm/min.

Some of our customers have counter-balanced the weight of the Z-axis with a simple rope-pulley-weight device to reduce wear on the Z-axis leadscrew. See the CNC Projects section of our website for a photo and description of how one person did this. You’ll find that the stepper motor system we use is quite reliable and capable of running complex programs without losing steps when used properly.

G-code tips: Start and end each program with a percentage sign. Put a g40, g49, g21 (Metric) or g20 (inch) and g90 in the first line of code to cancel out any previous codes that might be leftover from the last program, and always end the program by returning to the same place you started. Keep in mind which G-codes EMC does and does not support. Some canned cycles are not supported, for example.
Back to CNC FAQ Index

My machine is missing steps (inaccurate movements). How do I fix this?

The maximum feed rate that you can use on a Sherline machine is 32 in/min. The g-code can generate feed rates of 60 in/min and up to 240 in/min. When you put in feed rates that exceed the maximum feed rate of the machine, the machine will default to the highest feed rate possible. This means that regardless of what your programmed feed is, the machine is feeding at 32 in/min throughout your entire program.

What is happening in this instance is that your stepper motors are stalling during the cut and missing steps. Because these are stepper motors, they do not send a position signal back to the computer to verify that they actually moved to the position that was sent by the computer. Your computer tells an axis to move a specific distance and then assumes that your stepper motor made it to that location when it stops. If your stepper motor stalls for a split second due to excessive feeds and it misses a step or two, your computer doesn’t know that.

For a complete rundown on this topic, please visit the following link on our Blog page: My CNC Machine Is Missing Steps
Back to CNC FAQ Index

How do I use my inch CNC system in metric mode?

You can toggle between metric and inch modes by using a g20 or g21 code. A line of code beginning with “g21” tells the machine that all numbers you enter after the g21 are now in millimeters instead of inches. The software will make the calculation to move the machine to the correct metric distance using the inch leadscrew. Using the g20 code will allow you to switch back to inch dimensions or to enter inch dimensions on a machine with a metric leadscrew. So if you have an inch machine and always program in inches, why should you worry about it? Because EMC remembers the last code run even when the machine is turned off. Therefore, it is a good idea to always put in a g20 in the first line of your inch program just in case the last program run had a g21 in it. On metric machines, start with a g21 to similarly protect yourself from a g20 code in the previous program.

When starting the EMC program, select the proper file for your machine; that is, on an inch mill, click on the desktop icon that says “CNC Sherline Benchtop Mill (Inch)” or for a machine with metric leadscrews, select the icon called “CNC Sherline Benchtop Mill (mm).” This tells the program what leadscrew pitch to assume in its travel calculations.

Because each control page has parameters set for either an inch (20 TPI) or a metric (1mm) leadscrew, you cannot run an inch machine using the metric control page, or a metric machine, using an inch control page.
Back to CNC FAQ Index

My stepper motors make noise, but nothing is moving. What should I do?

The likely problem here is your mill is binding or not properly lubricated. With the more significant stress of quick back and forth motions and the high number of turns possible in a short period of time your mill will need to be more frequently lubricated than hand-driven applications. Under continuous CNC use, we recommend that Sherline CNC mills be lubricated once every four hours. Refer to the mill manual or Lubrication PDF for more detailed instructions. Note also that when stepper motors are powered up but not yet running they do tend to make a slight buzzing or hissing noise. This is normal.
Back to CNC FAQ Index

What is the difference between “Unipolar” and “Bipolar” stepper motors?

Stepper motor driver design can be either Unipolar or Bipolar. Without getting into circuit design details, from the standpoint of the user, bipolar wiring requires a much more complicated (and expensive) driver and does not allow micro-stepping. Sherline made the engineering decision to design our driver box around a unipolar layout mainly because it allows half-stepping (micro-stepping), which provides a very fine 400 steps/revolution resolution. We specified a sufficiently powerful stepper motor so that you have plenty of power using this more economical, high-resolution design. To learn much more about the differences between the two wiring schemes, see
Back to CNC FAQ Index

I have read the entire Sherline Documentation set front to back. Now, what do I do?

Our aim was to start you on your path of learning Linux and CNC. There is a whole lot you can learn beyond these instructions. For starters, you can check out the EMC website, and get on the mailing lists. There are also more complex books and documentation on G-code available at your favorite bookstore or library.
Back to CNC FAQ Index

For some reason, my axes are going in the wrong direction when I jog. What am I doing wrong?

If an axis really is moving in the wrong direction, this means that your .ini file is improperly set.
If you have LinuxCNC: CLICK HERE
If you have EMC2: To fix it you will need to open the file called mill_inch_mini.ini for mills with inch leadscrews or mill_mm­_mini.ini for mills with metric leadscrews. The files are located at:
home/sherline/emc2/configs/Sherline for the mill
home/sherline/emc2/configs/Sherline-Lathe for the lathe
To get there from the main menu bar at the top of the screen, you click on Places>Home folder, then double-click emc2, then configs, then Sherline or Sherline-Lathe, then double-click the appropriate file, and choose “display.” To open the .ini file, double-click on it. You will need to change INPUT_SCALE and OUTPUT_SCALE values from +1600 or -1600 to the opposite value; i.e., if yours is +1600 and it is jogging backward, change it to -1600 and vice versa.

Back to CNC FAQ Index

What if one of my CNC axes stops moving?

It is likely that a fuse in the driver box has blown to protect the circuit. Spare fuses are wrapped in plastic and taped inside the cover lid. For more details on accessing the circuit board and replacing the fuses, click on the following links to the following instructions:
P/N 8760 CNC 4-axis Driver Box only
CNC 4-axis Driver Box in Linux PC
Back to CNC FAQ Index

Why does my computer lock up after running a small program a number of times?

If you have a version of EMC earlier than 4.37 the problem may be due to a buildup of CPU usage caused by running the same program over and over. (CPU usage is shown in a small window near the bottom right of your screen.) Rebooting each time will work but is time-consuming. Ray Henry suggests your best solution is to turn off the Backplot program when running short programs repeatedly. Another workaround is to copy and paste a number of copies of the small program into one long program. Put an M0 command between each copy of the program to pause the machine. When you replace your part, just hit the [Resume] button to continue. This issue has been resolved in versions of EMC from 4.37 on.
Back to CNC FAQ Index

The instructions mainly address using a CNC mill. Can I also use it to run a lathe?

Yes. EMC2 now includes a program for CNC lathes. On the desktop, just select the icon for the leadscrew pitch of your lathe (inch or mm) and open the EMC2 program for your lathe. This was one of our main reasons for switching from EMC to EMC2.

Earlier versions of EMC do not have a lathe-specific version written for them, but writing G-code for a lathe tool path is pretty easy to figure out. The lathe uses just the X and Z axes. (In machining, the spindle axis is always called the Z-axis.) Keeping this in mind, it is not difficult to re-orient your thinking from mill to lathe.
Back to CNC FAQ Index

Can I cut threads on a Sherline CNC lathe?

Yes, our Sherline/MASSO CNC controller (P/N 8780) can cut threads. However, LinuxCNC does not have the provision to accept input from an encoder. For the Linux system, you will need to cut the threads manually using the P/N 3100 thread-cutting attachment and handwheels.

NOTE: Threads can be milled on a Sherline CNC mill using the A-axis and Z-axis.
Back to CNC FAQ Index

Does Sherline use the latest version of EMC2?

Not necessarily, and here’s why. Sherline always uses the latest version of EMC and EMC2 that we have tested and are sure is working properly. From time to time small bugs are fixed or more features are added by people in the Linux group, and a newer version of EMC may become available on another website, but we will not use it until we are sure that the other “fixes” that are inevitably incorporated into the new version don’t cause other unforeseen problems. The version of EMC2 that we install on our computers, offer for sale on CD or make available on our website for download is the latest tested, stable version that is supported by our instructions. If you choose to download a later version, you do so at your own risk. The newer version may fix a fault that we did not consider a problem when using it on a Sherline machine, yet this “fix” may cause previously unknown malfunctions. If you have problems with any version of EMC newer than the one we currently support, please do not call Sherline for technical assistance.
Back to CNC FAQ Index

I want to connect a USB device to my Sherline computer. How do I configure Linux?

Transferring programs from a Windows® computer can be done on a floppy disk or a CD, but flash memory devices and cards are also an easy way to transfer data using the USB port. Sherline Linux versions 4.38 and higher already have USB support, so your flash device is accessible from a USB icon on the desktop. Clicking on the icon opens the flash drive when it is plugged in. In Ubuntu Linux, it is no longer necessary to “mount” and “unmount” the drive.

If you have an older version of Linux that does not have USB support, here is how to configure your Linux computer to accept them:

Installing a USB flash memory device in Linux

  • Boot up to the Linux desktop.
  • Go to root directory.
    (NOTE: Type carefully; changes made incorrectly can cause severe damage that will require a complete reinstallation to fix!)
  • To open the root directory, go to the lower left-hand corner of the Linux desktop and click on the K-icon. (It is where the “Start” menu would be in Windows.) Select Logout > End session only > OK.
  • In the appropriate boxes type the words (shown in bold)—username: root, password: sherline
  • Run the Terminal Program (in the K menu, the icon looks like a little LCD monitor)
  • Under sherline@localhost:~$ type the following commands (shown in bold):
    mkdir /media/flash and press [Enter] (Note the space between mkdir and /media)
    In the next line under sherline@localhost:~$ type the following command (shown in bold):
    mc and press [Enter] twice (to enter the Midnight Commander)
  • Select and highlight the /etc directory and press [Enter]
  • Scroll down and highlight the file called modules
  • Press [F4] to edit the file. In the next empty line add the following text:
    usb-storage and press [Enter]
  • Press [F10] to save and exit > Select [Yes]
  • Scroll up to find and highlight the file fstab
  • Press [F4] to edit the file. In the next empty line add the following text:
    /dev/sda1 /media/flash msdos,vfat noauto,users 0 0 (0 0 = zero zero) and press [Enter], (Note the space between: sda1 and /media, flash and msdos, vfat and noauto, users and 0, 0 and 0)
  • Press [F10] to save and exit > Select [Yes]
  • Press [F10] to exit Midnight Commander > Select [Yes]
  • Under sherline@localhost:~$ type the following command:
    exit and press [Enter] (this command will end the Terminal Program.)
  • To leave the root directory and go back to the sherline directory:
    Click on the K-icon, select Logout > End session only > OK
    Type, username: sherline, password: sherline.
  • On the Linux desktop, right-click anywhere on the empty desktop and select Create New>Device>Hard Disc Device.
  • Under General, instead of Hard Disc Device type the words Flash Media.
  • Under Device from drop-down menu choose /dev/sda1 (media/flash).
  • Click OK and right-click again on the new icon (Flash Media) and select Properties.
  • Under Permissions choose under Group and Others, Can Read & Write and check the box in front of the words Is executable > click OK

In newer versions of BDI under Properties >General if you click on the hard disc drive icon there is the menu with icons where the appropriate icon can be found and selected.

Note that the Flash Media device uses the same Mount and Unmount commands as a floppy drive.
Back to CNC FAQ Index

Other than calling Sherline, where are some places I can go to get help on my specific questions on machining, CNC and using Sherline tools?

A Sherline CNC owner discussion group can be found at (formerly on Yahoo Groups). Just go to the website, type in the name of the group you wish to monitor or join and select it from the list provided. You can click on “join this group” to become a member, or you can just read the archives without joining. These groups can be a very helpful resource for anyone new to machining and a great place to go to get advice from experienced users on specific problems.

You can always find up-to-date information and instructions at

Back to CNC FAQ Index

What is GPL and what does it mean to me?

GPL is a license that Linux and EMC are both released under. Basically (very basically) it states that all code released under this license can be used, modified or sold as a prepackaged product, but it must be released under the same license after you modify it. This helps Linux and other open-source communities grow as people contribute to it. What does this mean to the average user? Nothing. If you decide to hack up the kernel, however, you are required to submit those changes back to the community. More information about GPL can be found here:
Back to CNC FAQ Index

Is there a way to convert a photo to G-code?

There are programs that will translate the dark/light scale of a photo into assumed heights (darker is deeper) and create a 3D G-code program to reproduce the contours. One called DeskART will import a BMP, GIF, JPEG, WMF or TIFF image and convert it into a DXF Surface Mesh of 3D faces or write it directly into machinable G-code. See for a free 30-day trial version of this software. Deskam also offers several other types of programs for engraving.
Back to CNC FAQ Index

Can I mill threads without a CNC rotary table?

No problem. This program would do the job. The reason I switched to incremental was I could use the copy-and-paste edit program for each revolution of the thread.

g90 g40 g49 g00 x1 y0 z0
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g91g02 x0 y0 z-0.100 i0 j0.5 f6
g90 g00 x0.5
x1 y0 z0

This program would cut six threads at 10 TPI.

Karl Rohlin also produced a thread milling program that includes notes explaining what each line does. He added notes to the end that explain how to do a rough and finish pass.
CLICK HERE to see the program.
Back to CNC FAQ Index

Can I use connecting cables longer than 6 feet?

(The following answer was provided by Bryan Mumford, who designed much of our circuitry.)
Resistance in the cable should not be a problem because the driver pumps current through the motor, not voltage. But on very long runs, there may be an issue with inductance and ringing of the fast signals. I expect the problems will not be a signal loss, but signal corruption. Experience shows that we can be confident of six feet, but we have little experience with longer runs. Some customers have used longer runs on occasion at their own risk. Shorter, the better.

The success of a longer cable would also depend on the environment the equipment was in. For example, a Dremel-like motor played havoc with a long cable run once, because the long cable picked up the radiated interference.

The biggest risk to the motor is cable connectors. If the contacts become intermittent, the motor gets current surges that will destroy the driver chip. A critical rule is that, if the motor ever falters or runs rough, it’s an indication of a bad connection and it should be stopped immediately. Rough running motors will kill the driver chip for sure.
Back to CNC FAQ Index

I’m having trouble with my Sherline CNC mill or lathe. Do you have a troubleshooting guide?

Yes. See for detailed answers to questions about specific hardware or software problems.
Back to CNC FAQ Index

What if I have a question that wasn’t answered here?

If you need more information about prices, accessories or availability, customers in the USA or Canada can call our toll-free number: (800) 541-0735 M-F, 7:30-5:00 PM (Pacific). If you have other Sherline-related questions and we can’t answer them, we’ll do our best to point you in the right direction. Outside the USA or Canada, call (760) 727-5857 or fax (760) 727-7857. You may also email for Sherline tool-related questions. CNC-specific questions from system owners should be directed to the Linux group at The best source for information on Sherline tools is always our website at Sherline tools and accessories can be purchased factory direct 24 hours a day, or you can see our Sherline dealer list for a dealer nearest you.
Back to CNC FAQ Index

Do you have any documentation to help get started with LinuxCNC?

Yes. Click the following link to download a PDF: LinuxCNC Help–Getting Started
The PDF includes other links to G and M codes for LinuxCNC mill and lathe sample programs, special notes on the tooling page and CNC mill set-up procedure, and more.
Back to CNC FAQ Index