Hi All,
I am new to Arduino and have built a MakeBlock XY Plotter and am planning on using it for a very complex project. The MakeBlock software which comes with the plotter is not sufficient for what I am doing, so I am using Arduino. I have gotten the plotter to make a square spiral, but now I need to get the plotter to be able to find its center (origin), which will vary each time the program is run. The problem that I am facing is that the plotter doesn't know its origin, it doesn't know coordinates. I am puzzled on what to do now, If anyone has any suggestions it would be greatly appreciated! Thanks!
You are going to write software to run on an Arduino that is suppose to replace MakeBlock software that runs on a PC and tablet. 
Good luck!
Doesn't the plotter have limit switches that you can use to "home" the plot head?
Yes it has limit switches on it connected to ports 3 and 6, pins A2, A3, 12, and 13. (Uno Board)
How are you controlling the plotter now (custom firmware, Grbl, your hardwired program)? Please share a schematic of your control electronics?
To home the plotter, pick an axis and one of its limit switches to start with, move the plot head one step toward the limit switch, check the limit switch, continue doing that until the limit switch changes state. Repeat for the other axis. Now you know the position of the plot head. If that is not the origin and if the plotter is calibrated (you know the steps per inch (mm), the origin is easy to move to.