Skip to main content

PZS Infodump

The Pen Plotter, the Rust, and the Shed

Penrose P2 mess
Penrose P2 mess

For the last ~2 years, I’ve been making generative art. So far, it’s been bad for my health, wallet, sanity and general focus. I enjoy creating complex, emergent, generative content that makes your eyeballs perplexed and lost for a while until you figure out simple rules that are used to make it.

It all started when I was looking for a new toy project to write in the Rust programming language (which, itself, is super neat. Fighting with the borrow checker is 10/10 experience). I decided to make it draw pretty, silly things. Initially, I played with particles being affected by fields, which resulted in stuff like this:

Particles trails, a lot of particles
Particles trails, a lot of particles
Particles trails, wobbling up and down
Particles trails, wobbling up and down

Then, predictably, I got bored. Some time afterwards, I randomly found the art of Robert Fathauer and I was mesmerized. 6Fold Tiling is a print made with a laser-cut woodblock. I had an access to a laser cutter at my work. I found Fractal Curves, which is a great resource if you’re looking for funky, self-similar, fractal shapes. I decided to play with Terdragon curve a bit. I came up with neat tesselation over the Easter period and burned two design plywood sheets with differing iteration steps. The results were quite neat. I went on and made a few other designs.

Printing with laser-etched plywood
Printing with laser-etched plywood
L-system based design made with woodblock printing
L-system based design made with woodblock printing
Another L-system, a "recurrent mean frog"
Another L-system, a "recurrent mean frog"

Sadly, laser-cut woodblock printing is very laborious and requires access to a beefy laser cutter. It’s neat from time to time, but I can’t see me doing it as a hobby. But, pen plotters! They have an active and healthy community of artists and hackers doing marvellous things with them. They are usually built with mechanicals lifted from recent 3d printers. Steppers, Arduino, v-slots, etc. I got myself an EleksMakerĀ® EleksDraw pen plotter.

And I was very happy with it. It’s mesmerizing to watch. I used it mostly to generate some squiggles based on Penrose P2 tiling, some 3d renders using Michael Fogleman excellent ln art engine, and some spirals.

"Squeres on Cubes"
"Squeres on Cubes"

But I had this urge to go larger with my work. Obviously, larger == better :). I upgraded the long axis of EleksDraw with longer rails, but it made it very difficult to use. I blame gravity and my lack of understanding of physics. When extended to the furthest position, the penholder was sagging too low. When near, it was too high. Pen drops from large height are very unkind toa pen tip. I had to write down a special, slow pen up/down sequence that was making the plotting process painfully slow. Because of that, I started making a lot of single-line plots.

Recently I acquired a shed in my garden, It was an ideal excuse to go wild with my pen plotter obsession.

The Shed. Yellow skinned, weirdly haired presence in my garden
The Shed. Yellow skinned, weirdly haired presence in my garden

I decided to build a plotter using OpenBuilds Acro 150x100 frame. I ordered one from RatRig, and most of the electronics from ooznest (extremely reliable company, fast shipping times, but that’s probably because they are located fairly close :D). I cut down an MDF board to size, assembled the whole thing, connected motors to GRBL Arduino shield.

The Plotter. Because of it's size, and terrible cabling,  it has been nicknamed 'Your mom'
The Plotter. Because of it's size, and terrible cabling, it has been nicknamed 'Your mom'

Then I got some hard lessons on how steppers work. They do vibrate, that’s what they do. I spend multiple days trying to figure out if the problem is exacerbated by the frame, loose belts, steppers, wiring or electronics.

Y axis wobbling. At low speeds, steepers were vibrating like excited toddlers
Y axis wobbling. At low speeds, steepers were vibrating like excited toddlers

After a painful and long inspection, I found a culprit, it was DRV8825 stepper drivers. I got them because of their 1/32 microstepping and high current output. Apparently, using them is a bit like a lottery, either they work with your steppers without a problem, or they are a pain in the ass.

I had more luck with A4988 steppers, they were more reliable, and the wibbling decreased. But was still present, unless I limited the current to silly levels.

Then I got TMC2809 based drivers from Watterott. They are worth their weight in gold. Really smooth, motors are silent, there’s no wobbling.

Just in case, and to get better performance with higher speeds, I got myself some clean dampers, but they will have to wait for some dual-shaft steppers, so I can mount them easily.

This is the first A2 work I finished. I’m quite proud.

Human growth #1
Human growth #1
P2 tiling hatching
P2 tiling hatching