Drawing with
Machines.
Foundations. We start at the machine itself — motors, controllers, and the coordinate systems that translate a vector on a screen into a stroke of ink on paper. Then we make our first marks.
Anatomy of a drawing machine.
A drawing machine is a small, deliberate robot. Two motors drive a tool across two axes; a third raises and lowers it. Behind them sits a controller — a microcontroller running firmware that turns instructions into stepper pulses. The tool is the end-effector: the part of the machine that meets the world.
Most drawing machines are Cartesian — they move along straight, perpendicular axes. Some, like the AxiDraw, use a CoreXY belt arrangement so the two motors share the load of both axes. The mechanics differ, but the contract is the same: tell the machine where to go, and it will go there.
- Motors. Steppers; turn in discrete steps. Resolution = steps per millimeter.
- Controller. Reads instructions (often G-code), produces motor pulses.
- End-effector. The tool that meets the material — a pen, a blade, a brush. Swappable — this matters for Day 3.
- Work area. The rectangle the end-effector can reach. Smaller than the bed.
Vectors, not pixels.
A digital image can describe a picture in two fundamentally different ways. Raster images (JPG, PNG) store a grid of coloured pixels — great for photographs, useless for a machine. There are no coordinates to follow, no paths to trace. Vector images (SVG, PDF, DXF) store geometry — points, lines, curves. A machine can read these directly: each element is already a set of move-and-draw commands.
Quick test: zoom in. Blurry = raster. Sharp = vector.
SVG is XML, human-readable, and every design tool exports it. A <path> element is literally a list of move-and-draw commands: the same primitives any machine speaks.
Coordinate systems: screen vs. world.
Designing for a machine means moving between two coordinate systems. The screen — where you sketch — counts pixels from the top-left, with +Y pointing down. The machine — where the drawing lands — counts millimeters from the bottom-left, with +Y pointing up.
The conversion is almost trivially simple. The bug, when it happens, is almost always silent: your drawing comes out upside-down.
The same idea applies to most creative-coding tools: p5.js, Processing, and HTML canvas all use screen-space by default. Blender, Unity, and most CAD tools use world-space. Machines speak world.
How machines read & interpret data.
Most drawing machines speak G-code: a flat list of move instructions. G0 means "travel" (tool up); G1 means "draw" (tool down). Coordinates are absolute, in millimeters.
- G0 / G1. Travel and draw. Tool up vs. tool down.
- M3 / M5. Activate / deactivate the end-effector (e.g. servo for a pen).
- Feed rate. How fast the head moves. Slower = wetter ink, deeper cuts.
- Order matters. Path order determines job time. Sort to minimise travel. See drawscape.io/resources/optimize.
SVG authoring pipelines.
Any tool that exports SVG can feed a drawing machine. The landscape breaks into desktop editors, tablet apps, web tools, and code. Pick what matches your practice — then build a pipeline that ends in a clean .svg file.
Tool landscape
- Inkscape — Free, open-source, cross-platform. The default for machine artists.
- Adobe Illustrator — Industry standard. Paid. Excellent SVG export.
- Affinity by Canva — Free desktop app. Full vector editor.
- Adobe Fresco — Free. iPad only. Natural brush engine for hand-drawn work. Exports PDF.
Multi-tool pipeline recipes
- Hand-drawn: Adobe Fresco (iPad) → Export PDF → Import in Affinity → Export SVG
- 3D: Rhino or Blender → Export PDF/DXF → Import in Illustrator → Export SVG
- Web-based (no install): Turtletoy, plotter.vision, SquiggleCam. See Resources for more.
- Code-based: p5.js, Processing — generate SVGs programmatically.
- Match document size to your machine's work area or aspect ratio. Set units to millimeters early.
- Test on letter-size paper before committing to large stock.
Talking to the machine.
Each machine has its own native control software — the interface you use to load files, set the work origin, and send jobs. You can use these, or just make your own: in the end, they all move by receiving simple encoded serial commands.
By machine
- OpenBuilds ACRO — Use OpenBuilds CONTROL. Load G-code, home the machine, set work origin, hit play.
- AxiDraw — Three options: (1) Inkscape AxiDraw extension for GUI control; (2) axicli for command-line; (3) Saxi web interface.
Preview tools
- vpype — CLI for SVG optimization and preview. vpype read input.svg show
- OpenBuilds CONTROL — built-in 3D toolpath preview.
- Saxi — browser-based preview for AxiDraw.
Get drawing.
We have 25 participants and three machines — so most of your time is spent off-machine, preparing your file. But the goal is to learn the difference between screen and machine, not to make a great drawing. Iterate quickly now, and the great drawings come later.
Group demo
The instructor runs some live drawings on one machine while everyone observes: we'll go over the importance of homing, setting the origin, doing a dry run (tool up), then finally draw.
Off-machine prep
This is where you spend most of your time — everyone works simultaneously.
- Choose or create an SVG. Size it to 20cm.
- Optimize the SVG — remove hidden layers, merge duplicate paths, sort to minimise travel.
- Upload your file to the group folder.
Quick machine check
- Load your file. Verify the origin. Do a dry run (tool up) to confirm bounds.
- ~1 minute per person — be ready when it's your turn.
20cm canvas
Each participant gets a 20cm diameter circular canvas. One drawing, one tool, one pass — keep it simple. The goal: a finished piece by end of Day 1 you'd put on a wall. All canvases mount together as a collective exhibition in the gallery.