Picture of Polargraph Drawing Machine

This machine, a variation on the hanging-pen plotter is a conspicuous and wilfully naive attempt to break out of the pristine, pixel perfect, colour-corrected space that exists inside our computers. It's a drawing machine, that takes a pen (a human tool) and uses it to draw in a singularly robotic way, with some grand results.

It doesn't draw at all like we would (though it could), and we would struggle to draw exactly as it does (though we could).

It can draw on things bigger than itself - the question is really "how long is a piece of string?" when it comes to working out it's maximum area.

It's easier to look at what it does, than to explain it, so just have a look.

Remove these adsRemove these ads by Signing Up

Step 1: History

Picture of History

Well there have been lots of new drawing machines doing the rounds lately, there's a real thirst to see devices that leap out of the virtual into the
physical. For me, it's all too easy to produce digital things which are interesting - programming or mash-ups or virtual experiments are devalued because they are intangible, you can run a hundred, a thousand, a million variations in a day - it's the proverbial roomful of monkeys with typewriters. The output becomes disposable, it get's hard to see the value, the craft.

So 3D printers and other desktop manufacturing tools and technologies (laser cutters etc) have got more and more popular, it's hard to overestimate how much hunger there is for a tangible, physical, touchable, smellable product of all this clever-clever digital work.

So this isn't wholly original, check out this prior art for more inspiration:

Hektor - the daddy of all hanging drawing machines
Der Kritzler - the smartest one yet
AS220 Drawbot - the basis for mine
SADBot - Instructable for an automatic drawing machine on the same pattern by Dustyn Roberts

Or have a look at what I've been doing with mine
Polargraph website
Polargraph project code
Flickr stuff

1-40 of 287Next »
alan.phan119 hours ago

Great Instructable! I've ordered the parts and can't wait to put it together. Do you have a SD card addition to this or would I have to keep my computer on for the whole duration of the print?

Euphy (author)  alan.phan117 hours ago
Hi, thanks! An UNO-level machine can't have an SD card, but if you have a MEGA, then you might be in luck. I have recently made some changed to the polargraph_server_a1 firmware, and merged in SD card reading features (mentioned at the end of

The bad news is, it's entirely untested, so I'll be a little surprised if it works out-of-the-box! Of course you can buy a PolargraphSD ( if you want a short-cut and have lots of money spare.


Hello! I'm extremely new to this and I'm really like the idea of creating a drawing machine. Would this be a hard project for a beginner? Also, what would all of this cost? Thank you

I spent

$30 for arduino uno

$12 motor shield

$14 for each stepper motor (2 needed)

$12 for the window blind cord

$5 maybe for the pla to 3d print many of the blackest, gears, and gondola

$10 for the servo extension wire

Already had the board, wires, and a servo

Plan on about a $100 total. I spent probably 20 hors building mine, and I'm experienced with arduino and electronics. Good beginner project, but expect to work hard at it.

What would you say took up most of your time? Hardware or software side of things?

I've got exactly the same doubt. Also, could I print more in more than one material using a 3d printer? Thank you!

Euphy (author)  matheus.danella6 months ago

I don't really understand this question, sorry.

Homunyan made it!18 days ago

Amazing project, I learned so much , and still got a way to go.The lack of precision should be solved once I get reliable sprockets printed (currently it's an abomination of furniture wheel caps, cereal box carton and tire tube for grip).

Euphy (author)  Homunyan18 days ago
Brilliant! These drawings look like my first ones, made with sprockets that were hacked-up lumps of balsa wood hot-glued together - those were the days!

sick m8

Magic211 month ago can this be used as the motor?

Euphy (author)  Magic211 month ago

Yep probably will be fine if you can run it at 12v - The machine doesn't actually need a lot of torque because it's counterbalanced, but because dropped steps are so catastrophic (and annoying), I prefer to have more power rather than less! A variable voltage power supply is great if you can afford it.

Magic211 month ago

How much would this project cost and approximately how long did it take you to make it? Nice project btw

Euphy (author)  Magic211 month ago

It cost me nothing, and took me a month.

smalltortoise2 months ago

Oy, Euphy! We got our polargraph drawing robot to draw robots using Circuit Scribe.


Euphy (author)  smalltortoise2 months ago
Brilliant! People always ask whether the polargraph can handle other tools, now I can show them that!
MatheusD2 months ago

Hello! This project is amazing! I am really interested into building one for myself, but I was wondering if there is any way to buy some of the printed products from sellers in Canada. Most of your links of the gondola's parts and running gear are from UK, and the shipping would be twice as the price of each item. Thank you.

Euphy (author)  MatheusD2 months ago
Hi, thanks! There are no other makers of Polargraph gear other than me, but the plans are all available you might find a local laser cutting place that will cut things for you. 3D printing can be done through Shapeways in the USA which should be cheapish. There isn't anything that isn't cheaper to get in the USA actually. If you want something off-the-shelf, you could look up who sells a drawing machine kit that can run the Polargraph software.
twopint3 months ago

Well that was an easy fix. Thank you, it is working great now.

twopint3 months ago

Hey Sandy,

Hey again! You must be tired of me by now, though hopefully this will be my last problem/ question... I got this error code response when verifying the code in the arduino program. I tried re installing the libraries but it did not seem to fix the problem. Did I miss a step or something? Also thank you a lot for your help!

polargraph_server_a1.ino: In function 'void setup()':

polargraph_server_a1:220: error: 'configuration_motorSetup' was not declared in this scope

polargraph_server_a1:222: error: 'configuration_setup' was not declared in this scope

Euphy (author)  twopint3 months ago
The polargraph server firmware is made up of 13 files, the .ino files listed here It looks like you might have configuration.ino missing?

cclark64 made it!4 months ago

Still haven't been able to get my servo to work, but it's up and running. Experimenting with paper types now. Is there a more precise way to position the image within the page or am I supposed to set the page dimensions to try and match the actual paper size I'm using? Saw something in the instructions that made me think machine, page, and paper size were all different.

2015-01-26 13.01.19.jpg2015-01-26 13.01.55.jpg2015-01-26 13.02.04.jpg
Euphy (author)  cclark644 months ago
Hi there! Looking good! Machine size is the overall size of the machine, but the page and paper size is the same, setting the page size and position is meant to help with that kind of layout / positioning issue.

The machine itself doesn't pay any attention to page or paper size, it's purely for the benefit of the operator, as a visual guide.

Last thing you might be interested in is the "frame". If you select and area, you can click "set frame to area" and you'll see some red crop marks appear near the corners of the area. If you save the, then when you reload the crop marks will have been saved. Then you can click "select frame" to re-select the exact same area as before. I used this in this sequence ( to make sure I drew an area that was exactly the same size and position in all three sheets.
cclark64 Euphy3 months ago
Still having the same garble in the middle of any image I try, with any rendering style, and it scales with different image scalings. This tells me that it's an issue either in software or the port, but I tried using my laptop with the same result. Still no luck with either of the two servos I've tried. I was planning on trying again using a different OS for giggles to see if the drawing issue goes away. Other than that I'm a bit stumped.
Euphy (author)  cclark643 months ago

No, this is a physical issue, the cord getting stuck on something, or the gondola getting hooked on the tape or the edge of a page - something like that.

At some point, the right-hand cord has been prevented from descending the proper distance to the next row. After a couple of rows in the same, place, overlapping each other, the block has managed to work itself free, and the drawing has been able to progress for a dozen or so rows, before getting stuck again.

It could be a sprocket loose on the motor shaft?

cclark64 Euphy4 months ago

Thanks! Now I need to figure out why all my attempts are having serious scaling issues in the middle of the image.

2015-01-26 14.45.06.jpg
twopint3 months ago

Ok Thanks, so that leads me to 2 more qs...

1. I would like to buy the beaded chain but the beaded chain u linked on ebay can only be shipped to UK peeps, i happen to live in sunny California so there's that... So do you know another link/ place to buy chain for us Americans?

2. what causes your blood pressure to rise with (what is wrong with) the motor shield v2, one could put a bigger stepper and effectively have a more "powerful" machine with it?

Euphy (author)  twopint3 months ago
1) The cord comes from a blinds suppliers, a haberdashery might have it. But drop me an email ( with your address and I'll send a couple of metres for you.

2) Main problem I have with AFMSv2 (Adafruit Motorshield v2) is that the top speed is limited by the bus speed that the driver chips are addressed using. Not a massive problem especially if you don't mind stepping a bit slowly, but it becomes a problem with microstepping (have to step 16 times as fast to get the same rotational speed). It also sounded whiney, and seemed quite noisy. It works though, and gives you a bit more power to play with. Maybe I am just a big whingey baby!

twopint4 months ago
Hey Euphy, so I have some quick qs. 1. when the pen gets to the bottom of the paper, the motors start slipping/ failing (i am using 2 400ml amp stepper motors and to save moola i was using a small metal beaded chain instead of a plastic one.

2. how big of a drawing could you make with the motor shield and how big of a stepper motor would u need?

3. would the current code work with the new motor shield?
Euphy (author)  twopint3 months ago

1) With plastic beaded cord, a long length (when the pen is near the bottom) doesn't weigh much more than a short length. With metal chain, the gondola effectively gets heavier the further down the surface it moves. You can probably counteract it by adding some more weight to the counterweight, but then you might have problems moving it up at the top!

2) Size of drawing isn't really related to motor power. Motor power should be related to the weight of the gondola and counterweights, not much more. That's certainly true of a machine that is static. Because it moves around, then the forces that pull and push the motor spindles will change dynamically, and it is likely that very long cords can result in more extreme swings of those dynamic loads. That's one of the reasons the machine moves very slowly by default actually, to reduce the "shock" in the system.

3) The newest version of the polargraph_server_a1 firmware works with

- adafruit motorshield v1

- adafruit motorshield v2

- serial stepper drivers (step / direction pins)

- directly driving signal amplifiers

I don't recommend the adafruit v2 shield though. It just rubs me up the wrong way.

good luck!

Bruno.PXM3 months ago

Hello .... first of all thank you for the excellent toturial.

I have only one problem, when you start to draw, after a few minutes the software turns off the COM ports.

Any reason for this?

Best Regards

Bruno Morais

Euphy (author)  Bruno.PXM3 months ago

Doesn't for me. The comm port needs to stay open for the commands to transfer, so it can't ever close. There is certainly no code in controller or firmware for closing the port.

Neeharika raj4 months ago

how long will it take to complete this project?

Euphy (author)  Neeharika raj4 months ago
Abilities vary so I can't really say, have a read through it and see what you think.
davidbarcomb6 months ago

What a great project. I will definitely try doing this

george.kallarackal.37 made it!6 months ago

Hi Sandy,

Just wanted to say a massive thank you. Saw this guide a long time ago and have dreamt of building it since. Thanks for your prompt responses to my questions. I've just printed my first successful picture and the feeling is awesome! One for my baby (to be's) bedroom! Next up - fit a servo and then the 3d picture guide looks worth a try! Thanks again!


Euphy (author)  george.kallarackal.376 months ago
Thank you George - really kind of you to say you've enjoyed it, and got great results! Keep scribbling :)

mnelson20016 months ago

I've got vector graphics working! But when I try to render a picture in say the scribble setting I get "You probably won't get any detail in this. Max density for penSize: nan, rowSize: 20 is 1." What settings do I need to change?

Euphy (author)  mnelson20016 months ago
It's a bit funky how that works at the moment (with the 'nan'), but I think if you send the pen width again it might clear it up. The longer answer is that it's complaining that the pen is too fat for the grid size - try using a really small pen tip size.

Actually for the scribble pixel, the way it fills the pixel can be very inefficient, so I always tell it that the pen is much much smaller than it really is so I've got a better chance of getting any decent scribbles in it.
mnelson20016 months ago

I can make it move the pen up and down, but when I tell it to move to the right the pen moves to the left, and when I tell it to move to the left it moves to the right. What's wrong?

1-40 of 287Next »