Arduino as a CNC Contoller

Hello, I'm new to the Arduino scene but not new to the CNC scene. I was wondering if anyone here could help me. I came across a topic on another forum site where someone had the idea to take an arduino board and use it to control his cnc machine. Sounds like a great idea, but my question, and later his, can you hook up an SD card reader and have it read a .txt file and execute the commands from that? It could then be a self contained PCB Mill (for my purposes). So I guess the question that I'm asking is, has anyone here successfully made an arduino board read a .txt file from a SD card and get it to executed the commands in that file. If anyone could help me it'd be greatly appreciated. Thanks for taking the time to read this, and thanks for all the help in advance.


yes it is possible.

You need this:-

So that enable it to read the SD card then? Can it execute what's in the txt file. I'd have to convert gcode to run arduino commands to get it going though, right?


It's a bit unclear to me what you mean by "execute the commands in that file".

If you are talking about taking data from an SD card and writing it to a serial port, that's probably not too hard (the SD card reading is the trick).

If you are talking about making a CNC controller out of an arduino, that's a different animal. Maybe doable, but a whole 'nother level of complexity.


Well I'm in cooperationtion with another guy that did a CNC Controller from the Arduino board but it runs through a serial port. I'm wanting to eliminate the computer aspect and have a file, series of files, whatever it takes, on the SD card that the Arduino reads and controls the motors in the way the file(s) tell it. So in though I could create a pcb in eagle, export it as gcode to an sd card, plug that card into the arduino board, press a button to tell it to start, have it read the file, and mill the pcb without being hooked to a computer.

Yes you could do that but you have to write the gcode interpretor. I don't know too much about gcode it but you might run out of programme space on the Arduino.

Check the RepRap site

I think they use Arduino

Awesome guys, thanks a ton, I really appreciate it. I’m not to worried about program space. I’m going to run the Sanguino. ATmega644P instead of the ATmega168, the spaces are incredibly increased plus 12 more pins.