Enchanting images with Inky Lines, a Pi‑powered polargraph
A hanging plotter, also known as a polar plotter or polargraph, is a machine for drawing images on a vertical surface. It does so by using motors to control the length of two cords that form a V shape, supporting a pen where they meet. We’ve featured one on this blog before: Norbert “HomoFaciens” Heinz’s video is a wonderfully clear introduction to how a polargraph works and what you have to consider when you’re putting one together.
Today, we look at Inky Lines, by John Proudlock. With it, John is creating a series of captivating and beautiful pieces, and with his most recent work, each rendering of an image is unique.
An evolving project
The project isn’t new – John has been working on it for at least a couple of years – but it is constantly evolving. When we first spotted it, John had just implemented code to allow the plotter to produce mesmeric, spiralling patterns.
But we’re skipping ahead. Let’s go back to the beginning.
From pixels to motor movements
John starts by providing an image, usually no more than 100 pixels wide, to a Raspberry Pi. Custom software that he wrote evaluates the darkness of each pixel and selects a pattern of a suitable density to represent it.
The two cords supporting the plotter’s pen are wound around the shafts of two stepper motors, such that the movement of the motors controls the length of the cords: the program next calculates how much each motor must move in order to produce the pattern. The Raspberry Pi passes corresponding instructions to two motor circuits, which transform the signals to a higher voltage and pass them to the stepper motors. These turn by very precise amounts, winding or unwinding the cords and, very slowly, dragging the pen across the paper.
Suspended in-between the two motors is a print head, made out of a new 3-d modelling material I’ve been prototyping called cardboard. An old coat hanger and some velcro were also used.
(He’s our kind of maker.)
The earlier drawings that John made used a repeatable method to render image files as lines on paper. That is, if the machine drew the same image a number of times, each copy would be identical. More recently, though, he has been using a method that yields random movements of the pen:
The pen point is guided around the image, but moves to each new point entirely at random. Up close this looks like a chaotic squiggle, but from a distance of a couple of meters, the human eye (and brain) make order from the chaos and view an infinite number of shades and a smoother, less mechanical image.
This method means that no matter how many times the polargraph repeats the same image, each copy will be unique.
A gallery of work
Inky Lines’ website and its Instagram feed offer a collection of wonderful pieces John has drawn with his polargraph, and he discusses the different techniques and types of image that he is exploring.
They range from holiday photographs, processed to extract particular features and rendered in silhouette, to portraits, made with a single continuous line that can be several hundred metres long, to generative spirograph images like those pictured above, created by an algorithm rather than rendered from a source image.
Great work, I like Polargraphs! I build one with a kind of low cost objective. It uses cheap 28BYJ-48 stepper motors and laser cut plywood and run with an ‘old’ A version of the Pi. I am happy with it!
(see on the forum https://www.raspberrypi.org/forums/viewtopic.php?p=1131215#p1131215, also some more detail in french here : http://www.labfab.fr/portfolio-item/drawpi-traceur-pendulaire-minimaliste/)
Thanks for sharing this, Etienne! We included it in this week’s Raspberry Pi Weekly :)
I am interested in this. Could you make it draw text (ie via a font) on a white, or chalk board? My interest is in updating a menu board in a hotel where the cooks and bartenders are too busy to be doing legible board writing every day. It would only be strung up as required. Would I have to define my own font?
Hey Rob, I made the rig above, and it would need some work to get it drawing out menus, but, you’re ahead of time. This just appeared on kick starter https://www.kickstarter.com/projects/1864378255/scribit-turn-your-wall-into-an-interactive-canvas
Might be easier to just use a Raspberry Pi connected to an always-on TV?
If you read the article above, you’ll see that this polargraph operates very slowly.
Yes, and I think that polargraphs must be very sensitive to exactly how they are set up and how the drawing surface, print head, and motors are located relative to one another. I would imagine this isn’t something that can be set up and taken down easily and quickly, so it probably isn’t something most people would want to install repeatedly.
But as you say, using a Pi to drive a display is a more straightforward solution. Digital signage with a Pi is pretty common, and it’s not hard to find support for it. If Rob is keen to have a quirky home-made look, then a custom mount for a display screen is one way to provide that.
I guess another way to give digital signage a quirky look is with a customised font :)
Comments are closed