Building a polargraph pen plotter
What is a pen plotter
In short, a pen plotter is a device that uses a pen to draw on a surface. It's like a printer filled with a pen instead of a cartridge. I like to think about it as a drawing robot. One of the most common machines is called AxiDraw. Just watch it doing its thing:
At the end of 2020, I watched some conference talks from the annual Chaos Communication Congress and during the Operation Mindfuck Vol. 4 talk pen plotters were mentioned. I could not hold back my fascination and consumed everything I could find around this topic. It's a very niche hobby, but with quite an active community about makers and generative artists.
I will not go too deep into this topic, but it is worth mentioning how pen plotters are used. They are comparable to printers and you can use them to "handwrite" on envelopes or draw a birthday card but they are much more used to produce art.
This (generative) art is mostly "generated" by a computer program that uses randomness to slightly change the image output every time. Think of the artist being a programmer, who has an abstract vision of an image and can write a computer program that creates this image. But this computer program is given some sort of artistic freedom that will slightly change the output every time it runs.
Here is an example. You can click the reload icon at the bottom to generate a new version of this image.
And these gorgeous-looking images are great to be plotted on paper.
My fascination with generative art and pen plotting is hard to put into words. I like how a machine can handle a tool made for humans better than humans themselves. How the pen is so precisely guided and yet has this unpredictable imperfection in every stroke. And it's so satisfying to watch.
Disclaimer: generative art is often combined with NFTs, a technology you sure have heard about. I'm not a fan, first and foremost for environmental reasons. Everything I love about generative art excludes blockchain technology.
Building my own pen plotter
There are various kinds of pen plotter but they can roughly be divided into two categories
The wall-mounted design (also called polargraph) looked so cool, I was wondering if I could build one myself from scratch. I did not have a lot of hardware building experience but I just dived into it and learned on the way.
For the hardware, I used an Arduino Uno Clone with a CNC Shield as the brain, connected two stepper motors (and drivers) and mounted them on an MDF panel. I designed and 3d printed a pen holder which requires two ball bearings and a servo motor to lift the pen. The holder is connected to two timing belts which are attached to the stepper motors. I also needed some nuts and bolts, wires and three D size batteries as counterweights. There is a video from DIY Machines that helped me a lot to find the right electronic components, although a completely different plotter is built there. All electronic parts are assembled exactly as in this video.
I was naive enough to do the software part myself too and used Johnny-Five to communicate with the arduino and react-three-fiber to wire together a GUI that allowed me to configure and preview the drawings. The most complex part was to write an SVG parser that translated an image to a series of commands to control the stepper motors and draw a certain shape and tell the servo when to lift and lower the pen.
My pen holder design
I first started 3d printing the pen holder from the Polar Drawbot on Thingiverse but I was not happy with how the two arms did not adjust themselves when the length of timing the belts changed. So I started to completely rebuild the holder with two integrated ball bearings. I made a small video on how to assemble everything:
Feel free to rebuild this plotter, you can download all my printing files on Thingiverse. I decided not to open source the software part of this project since it is more a proof of concept than a finished product. I would recommend to use grbl-servo with CNCjs.
A polargraph has a simple design, is cheap to build and the vertical layout consumes little space for a comparably large drawing area. Also, it is easy to switch to a larger drawing area afterwards. However, it can't operate very fast until it starts to wobble and ends in inaccurate drawings.
It was a fun project and I definitely wanted to build another CNC-style version to get much faster and more accurate drawings.
If you want to get deeper into this topic I can highly recommend drawingbots.net which has a structured overview of tools, supplies, machines and a discord server with a very nice community. Also don't miss the Twitter Hashtag #plottertwitter.
written on 9/16/2022 in hardware