Author Options:

What software is required to run a CNC machine? Answered

If I was to build a CNC machine, what software would I need from start to finish to mill a 3D shape? Also, what software would I need to make a pcb? Does anybody have any suggestions as to what specific programs I could use. There are several great cnc Instructables, but none of them seem to go into this. I'm sure you could write a whole Instructable on it if you wanted to.



8 years ago

I have made already four CNC  plasma cutting machines with a college .I was writing software he did the motor drivers. The mechanic ,which is the most important part, was already made (old scrap machines)


From production point of view you need:

1.A CNC g-code writing software (Try MasterCAM) or if you are doing simple 2D cutting you can write it manually.


2.A Computer  with software to take the G-code in real time and translate it logically in two (or three for 3-axes) time depended voltage or current signals which are a commands for motor drivers .Also the software reads the current position of axes and adjusting them if necessary in real time.


3.A motor driver (type of driver is depending on the motor type) for each axe one driver ,to take the motor movement signal and drive the motor. (some drivers have software inside and you need to program the parameter list)


As you see the most complex part is software item 2, for taking the g-code and turn it in the movement command. This kind of software is hard to find and is also depended on motor type, driver type, no.of axes etc.

Try Mach3 for steper motors.(you must build the hardware for motor drivers yourself or buy one).It is not depended on size of the machine it is depended on motor type ,motor driver type and no. of axes.


I have writed the software on a old 486 or pentium I ,on FreeDOS system using Quck basic. The trick is in PC’s input-output signals need to be in REAL TIME for which we used a custom made PIO card.The PIO card in this system has thre digital to analog converter circuts which are a voltage for the motor drivers.I use DC servo motors and voltage controled DC servo drivers.( DC motor are strong ,fast ,precise in stoping ,downside-too expensive and the drivers ar far more complex then stepper motor or AC servo).For writing this kind of software you need some analytical geometry knowledge.

You can use Mach3 thats free and powerful. (Google it!)

For PCBs, I use Eagle lau out editor for designing the boards and then use a Eagle script called "pcb-gcode". It automatically converts the Eagle PCB to a CAD file, ready to be opened in Mach3 (or 2) and transferred to the real world.

Please have a look here:


I've already seen Mach3. It isn't free, it's something like 180 bucks. I do know they have a trial version, but I believe it has limited features like only machining files supplied with the software.

I know you've seen THIS Instructable because you've left comments.
Why not ask the author directly (click on his profile and then on 'private message me') and ask how he drives his?

Tom Mcwire isn't very good about replying to comments lots of the time. I've left him messages, but to no effect. :(


9 years ago

ok in that case, i was wrong.... im still pretty sure that it would be a driver, but i have no idea... but yeah, the reprap project is definitely something different.... i don't think that any of the instructables have software, because it would be impossible to write a cnc software for every hobbyist cnc machine... the design part would work, but the stuff that tells the machne where to cut would be impossible because not every machine would be exactly the same, like the ones that are produced by the cnc companies.

There are controller softwares that you tell what kid of cnc you have.

hmmm.... i don't know. i think it would require a driver or something because how would the software know to adjust for your homemade cnc versus billy-bob's cnc that is 3 inches taller and wider... the same software would not be work for both.

Yes, it would. You build a cnc controller board and when you install the software you plug it in and put in the parameters like length, threads, speed. I'm just looking for what software you need besides controller software.

you mean like the designing stuff?

Yup. Like gcode converters, CAD, etc.


9 years ago

i think the REPRAP project has some info on this.

i believe that the these are usually drivers that install into solidworks are autocad... but i might be wrong.

No, see, I'm looking for CNC software. That is a 3D printer. CNC cuts, while 3D printers add materials.