Skip to content

Instantly share code, notes, and snippets.

@fogleman
Last active February 24, 2016 18:05
Show Gist options
  • Save fogleman/611e9fa9432e0f196881 to your computer and use it in GitHub Desktop.
Save fogleman/611e9fa9432e0f196881 to your computer and use it in GitHub Desktop.
Getting Started with the Makeblock XY Plotter 2.0

Assembly is straightforward but takes a while. Comes with all the tools you need. Everything is metric. I recommend labeling the screw packets before starting so you know which size is which.

I ended up tightening the drive belts after initial assembly, which is tough to do. I used vise grips to help.

I also added a couple washers (of my own) to the pen mechanism to reduce slop. On either side of the arm that raises / lowers the pen.

There are two software packages, one is Windows only (Benbox) and the other is cross-platform (mDraw). I've only used mDraw. Each ships with its own firmware I think.

Their software is crappy but good enough as a starting point. It's easy to roll your own software in any language that can connect to the serial port. Baud rate is 115200.

Their firmware is also on GitHub (and a modified version in my xy repo). It's super basic so that's something else you can tweak if needed.

I usually use this paper, I prefer the vellum surface:

http://www.strathmoreartist.com/draw-bristol/300-series-bristol.html

And these pens:

http://www.fabercastell.com/art-and-graphic/artist-products/pitt-artist-pens/IndiainkPITTartistpenMblack/167399

From the local craft store. Anything similar should be fine. The pens come in different sizes. Keep the cap on the pen when not in use, they dry up fast.

I use double sided tape underneath the paper I'm drawing on. Initially I just taped down the corners but if the paper lifts up off the surface of the table, even just a little, the pen will leave stray marks where it shouldn't be marking as it raises / lowers.

The pen servo takes an angular position, 0 - 180 degrees. You basically set an up value and a down value in the software.

The important GCodes for the default firmware:

G28 Go Home - move both axes until limit switches are hit and set internal position to (0, 0). The firmware doesn't differentiate between the min and max limit switches, which is dumb.

G0|G1 [X<xpos>] [Y<ypos>] G0 and G1 are identical. Move in a straight line to the specified (absolute) point.

G0 X10 Y10 Go to (10, 10). Units are millimeters. Working area is about 315 x 380mm.

G0 X100 Go to (100, Y) where Y is the current Y value.

M1 <angle> Set servo position.

M1 0

M1 50

The firmware can only handle one GCode at a time. So you have to wait for an OK response before sending the next command.

@heavysixer
Copy link

I've supplemented these directions with additional information: https://gist.github.com/heavysixer/511a7019a3c009027b83

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment