PolargraphSD: Controller Application

  1. Download the controller by going to the polargraph download area and get the most recent bundle.
  2. Unzip it.  You’ll find there is an application inside called polargraphcontroller.  Run it!
  3. If it doesn’t run (sometimes it doesn’t), you’ll need to run it from source code. This article on the Polargraph wiki explains how.
Important PolargraphSD settings that you need to change on the setup tab:
  1. Machine width in mm – use the value you measured earlier
  2. Machine height in mm – use the value you measured earlier
  3. mm per rev – set it to 95 (why?  This is the length of string dealt out by one revolution of the motor)
  4. Steps per rev – set it to 200 if you have a PolargraphSD v2 bought after July 2014, otherwise it should be 400 (why? This is the number of whole steps that the motor is capable of making)
  5. Step multiplier – set it to 8 (why? This is the default microstepping value for the polarshield – this sets the internal resolution that the machine uses while moving)

When you press save properties in the top left corner, it saves your changes to it’s own internal properties file, so they will be there when you close and restart.

Connect your PolargraphSD

If you’ve plugged your machine in already, unplug it now. Restart the controller app and go to the setup tab, press the serial port button.  It’s the last one in the control panel. A smaller window should pop up with the list of currently available communication ports.  You might have one, you might have a few, you might have none!


Now close the controller entirely, plug in your PolargraphSD machine and wait a moment while any drivers are installed.

Start the controller again, and look again at the communication ports – you should see one extra has appeared.  This is the virtual COM port that your PolargraphSD is connected on.

Select this new COM port, and keep an eye on the very top line of the main polargraph controller window – it should go green in a few seconds if you have selected the correct port.

(If no port appears, then the drivers might need to be installed manually – to all intents and purposes your machine is an Arduino Mega2560, with an FTDI driver chip.  Have a look at the main Arduino installation pages for MAC OSX, Windows.  If you are on Windows 8 and having problems with drivers not being found, or the Mega2560 showing up broken in device manager, it might be because by default, Windows 8 requires drivers to be digitally signed to install.  This helpful illustrated page has a guide to changing that so you can install them.)

The Command Queue

The command queue is the list of commands waiting to be sent to the polargraph machine.  It is shown to the right-hand-side of the machine preview in the controller. The header can be clicked on to make it run or to pause it.  When you start up there are a couple of commands pre-loaded.  These set the speed of the machine, and the pen size.

When you click the red header at the top, you will see the commands being to be sent to the machine until there are none left.

Send your machine specification to the machine

The machine doesn’t know how big it is yet.  After you have entered your machine size into the controller, you can tell it by pressing the upload machine spec button.  This sends a couple of commands to the machine, telling it how wide it is, what kind of motors it has, how big it’s sprockets are, that kind of thing.

The machine saves these settings internally for next time.

@todo finish this.

Links to the instructable:




3 thoughts on “PolargraphSD: Controller Application

    • There is a version of firmware that runs on a MEGA or an UNO with the Adafruit Motorshield v1. It uses the AFMotor driver.

      If you follow the links to the instructable (above), then you’ll find a whole guide about how to assemble one.

  1. Pingback: 2D PLOTTING – BRENCHIE'S || LAB

Leave a Reply