Step 35: Software Toolchain: EMC2 Under Linux
Before I get farther in the software toolchain for the Windows operating system, I will cover the primary software for Linux. If you are partial to Linux, or you think Linux is some kind of animal and don't know what the heck I'm talking about, this alternative software toolchain may interest you. This tutorial would not be complete without covering the open source side of CNC computer controls. You may find that using EMC2
(the CNC control that runs under Linux) may be a bit more problematic than Mach3 since there is limited CAD (design software) out there for the Linux operating system. Yes... I said, operating system. I you don't know already, Linux is an operating system about as old as the Windows operating system.
I have to admit, I'm also a Linux fan. It is based on open source (kinda like this CNC machine) and a whole lot of people join in to make the operating system better. Linux operating system has a similar appearance as the windows OS (operating system). Linux has a menu similar to the windows start menu and in my experience runs a bit faster. Linux also has the benefit of being tied to external hardware (computer peripherals like a printer, scanner, or a fancy CNC machine) more directly. I must say that Mach3 also connects to CNC machines quite well... the folks at Mach3 must do something special to get that direct connection (I think they talk about it in the manual).
Linux comes in various flavors (I'm not joking) called distros. I will be introducing you to the distro called Ubuntu. Ubuntu means "Humanity to others" in one of the African languages and if you are wondering and would like to learn more of the details, go to the website and check it out. This post is supposed to be about controlling your CNC and the toolchain involved, so I will not bore you with the very feature rich details of the Linux environment.
EMC2 is a software application that was developed to control CNC machines and other actuator based concoctions. Essentially, it takes g-code programs and converts it to step and direction (stepper motors) signals for the individual motors. The controller will also send the appropriate signals for servomotors and the like, just like Mach3. The program itself is very well made and feature rich.
EMC2 is packaged with the Ubuntu OS, so to install the software, you will also be installing Linux as well. There are actually two options to the installation of EMC2: first, you download a large file that contains the Ubuntu OS and EMC2 together, or you can just download the EMC2 software (binaries) and install them individually. If you are a seasoned professional Linux guru, you can attempt the latter, but I highly recommend downloading the complete package.
First, you will need to find the site: Google EMC2 and click on the LinuxCNC selection. You will be presented with a general information screen (home) which guides you where to go in red letters. The software can be downloaded by clicking "how to get it". The next screen will have a link to the "basic installation". Once this is clicked, the ISO file will be at the beginning of the paragraph. An ISO file is actually called an ISO image. An ISO is an optical disk image that meets the ISO 9660 file system standards, which also means that it's an operating system with a file system that is bootable (to you gurus out there, sorry to be so simplistic, this is a primer). In other words, when an ISO image is burned to a CD, you can use that CD solely as the operating system without installing it to the hard drive, which is also called a "Live CD". Almost all Linux distros offer a Live CD as an alternative to installing it to the hard drive. You also have the option of installing the distro on to your hard drive if you find that Linux is an OS you will use repeatedly.
After the ISO file is downloaded, you will need a special CD burning application to burn the ISO image to the CD properly. I use CDBurnerXP. There are many CD burning applications out there, so grab your favorite and start burning. Once you have completed downloading your favorite CD burning software, start the program and burn the ISO image to a blank CD. In CDBurnerXP, you do this by clicking "file" at the top and "Burn ISO Image" in the drop down list. A dialog screen will appear...click on the "..." to browse to the ISO image file and click burn. The ISO image will be written to the CD and you can use the CD to boot-up the Ubuntu OS. Make sure that your bios (CMOS) is configured to boot the CD driver first... ok ok... computer setup is configured to boot-up from the CD drive. If you don't have a CD drive/writer, I'm sorry you have read on to this point. You will need a CD burner/writer/reader thing. Back to the bios... you will have to get out the old dusty computer manual that you starred at thinking this should be in the trash. Well, guess what, you may need it now! Ha!
For most computers, you should be able to enter the bios (computer configuration) by pressing the [del] key at the computer startup (beginning of the boot cycle). It may also tell you in an on-screen message at startup what key to press to enter the setup screen. If you don't see anything, just press the [del] key until your finger becomes numb. If you manage to destroy you computer by doing this, don't blame me. Once there, set the CD drive as the initial boot device. I can't tell you where this is located in your setup screen, but trust me, it's there, somewhere!
So now the ISO image is on the CD and your ready to boot it. Place the CD in the drive and reboot the computer. You should see an Ubuntu screen appear with a menu. We are interested in the first selection to install/start the OS. Once that selection is pressed, the OS will appear on the screen in the guise of the Gnome environment (the GUI). The pretty graphics is not actually the operating system, it's the front-end (user friendly interface, aka graphical user interface or GUI for short). At the top left, you will see a portion of the menu system entitled "applications". Press that and you will get a drop down menu where you will see a CNC selection. That is where to go for the EMC2 program.
Play with the program for a while to get familiar with it. I would also download their documentation to learn the details of the application and it's features. You may find that you learn a bit about CNC in general, just like the Mach3 manual. The Mach3 manual is far richer in CNC related information, however, but both are great for general understanding.
Next, I will get into the other software applications from CAD and designing an object through to conversion and production. Start to browse around and find CAD programs that you would like to try, unless you have a particular software application you use on a regular basis. Also, give me feedback on the applications you use so I can learn a thing or two.