XY-Plotter Application for Andoid



The Program of Makeblock XY-Plotter, which contains the library of stepper motor, the Android App and the Arduino program for XY-Plotter.


• Black-white drawing support
• Control running speed in realtime
• Get drawing state in realtime
• User’s gallery photo support


  1. Assemble your XY-Plotter Kit. ( http://makeblock.cc/xy-plotter-e-kit/ )
  2. Upload the Arduino Code on the kit’s arduino board.
  3. Download and install the App on your Android Phone.
  4. Open the app named “XY-Plotter”.
  5. Choose and connect the bluetooth named “Makeblock”.

6.Choose a drawing and start.


Speed Button:it can control the motor speed,normal speed about 24.(if the runing is wrong,need to slow the speed)
High Precision:if it’s checked,more pixels need to draw.

Enjoy yourself!


Hello indream,

Thank you very much for releasing the code the for X/Y plotter !
However it missing the lib AccelStepper.h (for the other I got them via Makedblock download section ) … Then after some googling I managed to find one provided by Adafruit, the lib is beeing recognize by your sketch however I got two errors

Plotter:25: error: ‘DRIVER’ is not a member of 'AccelStepper’
Plotter:26: error: ‘DRIVER’ is not a member of ‘AccelStepper’

I guess this is the part where the steppers connected to the BaseShield via the 2H microstepper driver is declared, could you please give me some more informations / debugging on that ?

Thank you very much !


Sorry my fault .The code has been updated (based the library “AccelStepper”)
Plotter for Arduino.zip(77.4 KB)
Makeblock Baseshield Libraries: https://github.com/Makeblock-official/Makeblock-Library




I installed everything and tested the plotter it in the past few days.
Unfortunately the machine doesn’t seams to respond always correctly.

Could you please give me more details on how to prepare the imgs to plotter? The one to send to the app.
At the moment the plotter stop middle way also with the test one you already put in the app.
Or any further information i need to make the machine works better.

thank you for your help


can stepper motors run?when arduino is initital,the drawing platform(rect red) will move to zero position(rect green ).



Actually the X/Y plotter works well and do the job ! There are some glitch and shakes but it does work !
However I have two issues so far that I have during using the plotter.

It seems that the plotter will only work on the area of 600x600 pixels starting from the (green) corner, and it is not using the full area, is there any way to extend that limit.
Could you as well gave us some more specification on how to setup a drawing files, resolution, size, and format.

Thank you very much !


hi,Waz, the image from gallery will be resized, width limited by 640px.so the app’s output data can’t fill the plotter 's full area. the app for next version will optimize the point.


I built this today, it’s a great kit!

I’m wondering if there is any way to tell it what thickness pen/marker is being used.

Additionally, the solenoid on mine got extremely hot today (couldn’t touch it) and stopped lifting the marker off the surface towards the end of a drawing. Is there some way I can prevent this, and is it normal/expected for a solenoid to get this hot?


You can dramatically reduce the heat by replacing “analogWrite(motorPwm, 200);” on line 131 in XY_plotter.ino with “analogWrite(motorPwm, 50);”


The code attached does not have the bluetooth library that is needed to compile. Can you include the bluetooth library?



#include "Makeblock.h"
#include <Wire.h>
#include <SoftwareSerial.h>
MeSerial serial(PORT_X);//PORT_X:the port that your bluetooth module connects to.


I have the same problem I want larger imgages!! How to make the kit use the entire area??


Hi @kilologin, you could manipulate the DIP switches to draw larger imgages.


HI! I just bought XY-plotter V2. After I plug the me Bluetooth module, can this application use in XY-plotter V2? How can I modify it to use in XY-plotter V2?


I am afraid not.
It looks likes the instruction was for an very old XY Plotter which uses different main board with the Orion board (The main board of the XY Plotter 2.0).