WilliamLabs
Back to work

PenPlot Studio

Turns a photograph into a pen drawing, then plots it with a 3D printer.

Year

2026

Type

Desktop app

Status

open source

Stack

Python, Computer vision, G-code, Marlin, RepRapFirmware, Klipper, GRBL

A portrait rendered as dense pen hatching, held up beside the plotter that drew it.

Clamp a pen in the tool holder of an Ender 3, connect over USB, and this turns photographs, drawings and PDFs into plotted line art. Swap the pen for a blade and it cuts stencils instead. Drop an image in and it is ready to plot, because the tonal range is set from the histogram automatically. An optional 232 KB face detector recognises portraits and switches to local contrast with form following hatching.

Twenty two drawing techniques are implemented, from crosshatch and stipple to flow fields, Hilbert curves, single line TSP paths, Voronoi cells and mazes. Dot only mode lifts the pen between every mark, so dots cluster in the shadows and thin out in the highlights. Stencil mode splits an image across sheets and generates the bridges that hold the islands in place, then simulates the cut before anything moves.

Nineteen machine profiles are supported across Marlin, RepRapFirmware, Klipper and GRBL, with the USB protocol tested in simulation against six different firmware behaviours.

A portrait rendered as dense pen hatching, held up beside the plotter that drew it.
A stippled portrait built from dots that cluster in the shadows and thin out in the highlights.
A single continuous line plotted across a sheet in dot only mode.
A stencil cut with the bridges that hold its islands in place.