Polargraph Experiment #1

Motor Mounts

I needed a few motor mounts for a project and since I was at Milwaukee Makerspace it seemed quicker/faster to just laser cut a few since I had files on my laptop. (I could have 3D printed them as well.)


I assembled a quick and dirty polargraph, and while I attempted to use an Adafruit Motor Shield I had on hand, it did not work. The steppers were not moving, just humming and stuttering.

I then grabbed the CNC Shield I’ve been testing and put that in place. The steppers worked fine with a test sketch, but the firmware I wanted to load (Dan’s Makelangelo code) expects either an Adafruit Motor Shield or a RUMBA board. I thought about trying to rewrite things to work with the Pololu motor drivers, but it was also after 11pm.

(I later realized that I should have looked at the RUMBA firmware, as that supposedly works with RAMPS. And yes, while I do have a spare RAMPS board, it’s across town at my studio. I decided to punt and see what I could do with what was in my workshop.)


I figured I’d throw Grbl on it and see what happened. I used Grbl Controller to connect to the board and loaded some G-code to run. I knew it would not work (as expected) but I tried anyway.


Grbl supports machines that use Cartesian coordinates, but not those that use polar coordinates, like a polargraph. Still, I was surprised at what I got. It basically worked, except for flipping the image and running it diagonally up to the left.

Grbl Controller

I then took my original vector file and flipped it, and skewed it up and to the left, to match (somewhat) how it was drawn by the machine.

Shapes skewed

It actually sort of worked! I think it was after midnight by now so I gave up on it. My lack of math skills prevent me from converting between coordinate systems, but I think there’s a few things to explore here, and if I get time (uhhh) it may be something I play with a bit in the future. Also, if anyone wants to add polar coordinate support to Grbl that would be lovely. :)