XY-Plotter Using GCode Interpreter


How To Use:

1.Download the program , unzip and upload the XYPlotter_GCode.ino to your arduino board.

2.Install the GCode GUI Application. (Base on Adobe AIR)
3.Open the GCode GUI
4.Choose and Connect the Arduino Serial Port.

5.Send Your GCode on the App’s Panel (one line at a time), You can also load the txt file that contains more GCodes.

GCode Example:
Linear interpolation: G1 X-100.5 Y90.4 Z1 (move 100.5 opposite on X-axis,move 90.4 on Y-axis and the brush will be down)
Circular interpolation:G2 I10 Z1 (it will be draw a circle that radius is 10)
Switch to absolute coordinates:G90
Switch to relative coordinates:G91
The GCode “Z” will control the brush,down for “Z1”,up for “Z0”.

About Gcode: http://reprap.org/wiki/G-code

The XY-Plotter Gcode program

The troubleshooting and user guide of XY-plotter

Troubleshooting guide for XY Plotter?
The User Guide and Troubleshooting of XY-Plotter

This topic is now pinned. It will appear at the top of its category until it is either unpinned by a moderator, or the Clear Pin button is pressed.


Can other gcode senders be used - I was thinking of the one found on the grble wiki here -


this tool can work. :smile:


The XYcodeGUI for mac won’t install.
I get an “unidentified Developer” error.



1.enter System Preferences->Security & Privacy->General->Allow applications downloaded from
2.choose “Anywhere”


Thanks, that worked.
Having compiling issues with arduino, couldn"t tell but should the unzipped file be anywhere specific or are there libraries that are needed?
Will try on a PC to see if it was just more issues with the iMac.


Just tested compiling on PC, worked perfect.
As I suspected the problem is with the way it is installed on the iMac.


And for Linux?


Sorry, Linux version are not available right now.



I just noticed that both the Arduino program and the GCode GUI were updated 17 days ago.
First off, thanks for the update!! It seems to have made my plotter much more precise. Thanks so much!

Secondly, my question: what does the “Load Music” button in the GUI do? What type of file is it meant to load?


I have just noticed, however, that even though it now waits for a movement to be finished to LIFT UP the marker, it does not wait for a movement to be finished to PUT DOWN the marker.

So it puts down the marker before getting where it needs to be.


Hi @sammccants,

I think the “Load Music” is used in Music kit, which could used to control the stepper motor by Gcode. And the drumstick would knock the xylophone.



inkscape is a great way to make custom gcodes for projects.
I modified a gcode extension and here is a video on it. Thought I should share it!


I use GRemote to send GCode directly to the xy plotter, it works very well. I would like to know if it’s possible, in terms of a value read, that a program send automatically to the plotter the appropriate GCode.
For example, if the program reads 1, he knows that he has to send the Gcode A.
If it reads 2, he knows that he has to send the Gcode B etc

How can I do this using GRemote ?