I'm building an small CNC using Protoneer CNC shield, GRBL and Arduino UNO.
With this I need to connect the board to PC and send G-Code from there.
My question is, is it possible to use the arduino itself to control the CNC shield?
If yes how?
If not is there any other way to send commands other than USB (as Arduino's USB port is not a host)


  • Have it read the GCode from an SD card. – Gerben Aug 6 '15 at 9:16
  • @Gerben: no; currently I'm sending using Universal GCode Sender through USB port – Ariyan Aug 7 '15 at 0:12
  • That wasn't a question, but a suggestion. Using and SD would negate the need for USB. – Gerben Aug 7 '15 at 13:17

An Arduino can talk directly to a shield, independent of a PC.

This will, however, need a way to tell your Arduino to do it's thing. Depending on what you want it to do, this may require nothing ("send this pre-defined g-code as soon as you are turned on"), a memory card of some sort, one or more pushbuttons, or even a small screen. I have seen several 3d printers with memory cards, buttons (usually up/down/select/back), and a small screen that, once set up, can print anything you can load onto a memory card.

There are other forms of communication, too - ethernet, wifi, etc., which you can use, with appropriate shields.

In the end, of course, you still have to design your object - 3d graphics are well beyond the ability of an Arduino, so there will still be some form of computer involved.

  • Thanks but the shield got all of arduino pins, how can i connect the buttons or sd card ? and when I installed GRBL firmware on arduino can I still program it and send commands to gcode from inside? – Ariyan Aug 7 '15 at 0:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.