This is my first post. I have finished the mechanical part for a small 30 inch by 30 inch CNC router. But now need some help. I have windows 7. I also have Linux but it doesnt seem to be able to download and open files from the internet.

I want to use one of my Uno boards to control the steppers. I would like to be able to load a DXF file into a program. I would like that program to be able to let me browse my files for the desired drawing. Then it should be able to pass along to something like Mach3 then to the Uno. At least that's what I think is supposed to happen. I cant get Garble to load and I am guessing that program is a Gcode interpreter.

So does anyone have links to preferably open source software that they know works. Price is an object. I cannot afford to buy software that doesn't work.

You would probably get more focused advice on a CNC forum. I don't know if there is a GRBL forum.

For what you want to do you will need to get several processes and hardware and software to work in harmony - generating the GCode, generating the commands to control the stepper motors and actually controlling the stepper motors. You will also need a means to set the initial position of your CNC tool.

If you don't want to write your own Arduino code I suspect GRBL is the way to go. It is widely used. I know very little about GRBL myself, but my understanding is that it works from GCode.

Generating the GCode from your DFX file is a whole other expertise beyond this Forum and is normally done with a PC program.

Equally I know little or nothing about Mach3 but I suspect there is a LOT of online help for it. I have watched someone use it and it seems to be very comprehensive - though that probably comes with a steep learning curve.

I am writing my own Arduino code and PC code to generate GCode and instructions for my stepper motors but it is far from complete at this stage and I don't ever see it becoming a "shrink-wrapped" product for use by someone who is not competent and willing to fiddle with the code.

I am surprised to hear that your version of Linux does not work with the internet. I am using Linux to reply to your question.


GRBL is one established platform for using an Arduino to drive CNC machine, but most versions of it aren't Arduino software compatible, they are AVR versions which run on the ATmega328. There are versions that have be reworked into an Arduino sketch form, try and find one of those first as its much simpler to play with.

GRBL is a cut-down Gcode interpreter.

DXF format is too bizantine and complex for any Arduino program to handle, you need to convert to Gcode using some other tool on the PC.

If you get the Linux install to function then take a look at LinuxCNC - typically the issue with driving a CNC machine direct is that modern PCs don't have a parallel port.

You then need something that understands USB to act as hardware intermediary to the CNC machine (GRBL does that and also handles Gcode itself, but the lack of resources on the Arduino cramp its style). There are many CNC USB adapter boards out there, some proprietry and some not.