Awesome Plotters 
A curated list of code and resources for computer-controlled drawing
machines and other visual art robots.
Contents
Hardware
Plotters
- AxiDraw -
Pen plotter from Evil Mad
Scientist, very popular on #plottertwitter.
- Line-us - A cute little
kickstarted robotic drawing arm.
- Drawing
Robot - 3d-Printable AxiDraw clone w/ Arduino CNC Shield controller
running grbl firmware.
- 4xiDraw -
Yet another 3d-printable AxiDraw clone w/ Arduino CNC Shield controller
running grbl firmware.
- WaterColorBot - XY art robot
and software to plot with watercolor paints.
- EggBot - Pen plotter for
egg-shaped and spherical objects.
- HP
Pen Plotters - Vintage desktop and floor-standing pen plotters from
the creator of the HPGL standard. Model 7475A is very common and can
usually be found on eBay.
- Roland Pen
Plotters - Vintage flatbed HPGL pen plotters. Search eBay for
“roland dxy”.
- BrachioGraph -
A cheap and simple plotter made from sticks, servos, and a Raspberry Pi
running Python. Here’s video of a
BrachioGraph talk at PyCon UK from the creator.
- Arduino
CNC Drawing Machine - A fairly simple 3d-printed AxiDraw-style
plotter with good video documentation.
- PlotterXY
- A coreXY plotter made from extrusion, 3d-printed parts, and an
inexpensive 3d-printer control board.
- NextDraw
- The Bantam Tools successor
to the popular AxiDraw pen plotter.
Motor Controllers
- grblShield -
All the stepper motor control hardware needed to turn an Arduino into a G-code-based motion
controller using the grbl firmware. (adafruit)
- TinyG - More
featureful and robust 6-axis G-code-based motion control hardware. (adafruit)
- Arduino
CNC Shield - Grbl-compatible stepper motor control shield for
Arduino, similar to the grblShield.
- Raspberry Pi
CNC Hat - Raspberry Pi add-on board w/ stepper controllers and a
microcontroller running grbl. Interfaces with the Pi’s serial pins.
- EBB
Driver Board - USB-based dual stepper motor controller board,
originally designed for the EggBot.
Accessories and Adapters
- WiFi232 - Wifi to
RS-232 serial via a DB25 plug. Control your serial plotter
wirelessly.
- Plotter
Cable Pinout - Schematic for a plotter cable that will work for most
HP and Roland plotters. Search eBay or Amazon for
DB9 to DB25 Serial Null Modem Cable or similar to find them
for sale.
- PlotAdapter -
“Serial-GPIB converter for HP Plotters”, uses an Arduino microcontroller
to convert serial HPGL to the GPIB/HP-IB expected by some older HP
plotters.
Pens
Software
HPGL
HPGL is a serial/text-based protocol used by most old pen plotters,
and even many new vinyl cutters.
- Chiplotle -
Python library for generating HPGL and interfacing with serial
plotters.
- Chiplotle3 -
Chiplotle fork updated for Python 3.x compatibility.
- HPGL Reference
Guide - HTML-based HPGL Reference.
- HP
7475A Interfacing and Programming Manual - Scanned PDF manual that
contains a full HPGL reference.
- djipco/hpgl - A Node.js
library to communicate with HPGL-compatible plotters and printers.
- hp2xx - GNU tool to
convert HPGL into other vector and raster formats. Can also be used as a
previewing in X11.
- vec - Example C
code for generating HPGL, with a turtle graphics interface.
- d3-hpgl - An
adapter for the HTML Canvas API so you can output HPGL using the popular
D3 library.
- HPGL Viewer
- An HPGL Viewer using JavaScript and HTML5 canvas.
- HPGL Sender - A
web interface for previewing HPGL and sending it to your plotter.
- HPGLGraphics -
A Processing library for writing HPGL files.
- processing2hpgl -
A Processing library that allows for direct communication with HPGL pen
plotters from within a Processing sketch.
G-code
G-code is a text-based standard for controlling CNC machines. Though
it was designed for industrial machines, its use in many hobbyist 3d
printer firmwares has made it ubiquitous in small-scale DIY projects as
well.
- grbl - A high-performance
G-code interpreting firmware for the Atmega 328 microcontroller and
Arduino.
- cncjs - A web-based
interface controlling CNC machines running grbl, TinyG, or other
G-code-based firmware.
- node-gcode -
Node.js G-code interpreter and simulator.
- svg2gcode - Node.js
command line utility for converting SVG to G-code.
- svg2gcode -
Python utility for fast SVG to G-code conversion.
- jscut - A web-based utility for
converting SVG to G-code.
- Universal-G-Code-Sender
- Java-based grbl-compatible cross-platform G-code sender.
- ChiliPeppr Hardware Fiddle -
Modular web-based workspaces to visualize G-code and control
hardware.
- gcode-generative-for-processing
- Processing library, aiming to create gcode from simple shapes.
(Designed for usage with the Creality CR10)
- gcodeplot -
Python utility to convert SVG and HPGL to G-code for a 3-axis CNC
machine.
Plotter Control
Software for controlling plotter hardware.
- axidraw - Official
AxiDraw extensions for Inkscape.
- axi - Unofficial
Python library for the AxiDraw v3.
- xy - Utilities for the
Makeblock XY Plotter Robot Kit.
- LaserGRBL -
Laser-optimized Windows GUI for grbl controllers. Could be repurposed
for DIY pen plotters that use a solenoid for pen up/down movements.
- Line-us
Inkscape Plugin - Sends drawings to the Line-us plotter directly
from Inkscape.
- Line-us API
Examples - Example code for the Line-us plotter’s G-code-based
API.
- @beardicus/line-us -
JavaScript library for controlling the Line-us machine from Node or the
browser.
- PenPlotter
- Polargraph controller that uses repetier firmware.
- Makelangelo-firmware
- Firmware for the Makelangelo polargraph robot.
- RoboPaint -
Software for the WaterColorBot.
- AxiTurtle -
Turtle graphics for AxiDraw in Processing.
- GRBL-Plotter -
Plotter-optimized Windows GUI for grbl controller with SVG and DXF
import, and flexible pen up/down control.
- saxi - Driver and
library for the AxiDraw. Uses constant-acceleration motion planning and
automatically resizes to paper.
- MP2300-Tools -
Software for converting HPGL to Graphtec’s GPGL format, as well as CAD
files for a Graphtec plotter pen adapter.
- Inkcut - Application
for controlling 2D plotters, cutters, engravers, and CNC machines.
- pypenwriter -
Python script to convert and send SVG drawings to the Panasonic
PenWriter family of typewriter plotters.
Vector Creation
Tools to create vector artwork from scratch or by conversion from
other formats.
- Inkscape - Popular cross-platform
open source vector graphics editor.
- p5.js - “JavaScript library that
makes coding accessible for artists, designers, educators, and
beginners”.
- Paper.js - “The Swiss Army Knife of
Vector Graphics Scripting”.
- ln - Vector-based 3D
renderer written in Go.
- autotrace -
Converts bitmap images to vector graphics.
- stipplegen -
Creates interesting stippled drawings from bitmap images. (blog
post)
- SquiggleDraw
- “SquiggleDraw will create a SVG file from an image, using the
brightness to change the amplitude of sine waves”.
- svgurt - Web-based PNG to SVG
creative noodler.
- maptrace - Produce
watertight polygonal vector maps by tracing raster images.
- Drawbot_image_to_gcode_v2
- Creates G-code for use on drawbots.
- blackstripes
- Turns a PNG image into a SVG line drawing.
- Ribbon - Ribbon
diagrams of proteins in written in Go.
- penplot - A
development environment for plotter art in JavaScript.
- penkit - A Python
library for creating line-based SVG graphics.
- generativeExamples
- Example Processing code that generates plottable PDFs.
- Let’s make map -
Web-based tool to export an SVG map from Mapzen tiles.
- LineDream - A
generative art library for Python that can export SVGs.
- SuperformulaSVG
for web - A generative line art web app.
- scribbleplot -
Scribbly image transformations in Processing.
- Maker.js - Library for creating
2D vector drawings for CNC and laser cutter machines.
- Turtletoy - Browser-based
JavaScript turtle graphics API with SVG export.
- cozyvec -
Web/Standalone terminal environment for plotter art and tweet
plots.
- makio135/plotter
- An Observable notebook
collection full of plotter-oriented work.
- PlotterFun -
Browser-based Image to SVG converter similar to SquiggleDraw.
- SVG.js - Dependency-free
lightweight library for creating, manipulating, and animating SVG.
- Components AI - Experimental
computational design platform for exploring generative space.
- DrawingBotV3 -
Cross-platform software for converting images to line drawings.
- linedraw -
Python tool to convert images to sketchy vector line drawings.
- plotter.vision - Interactive
website for hidden line removal of STL files to generate plottable SVG.
Also supports Red/Blue 3D glasses.
- plotting-maps
- A simple web tool to create OpenStreetMap SVG maps for plotting.
- ThreadPlotter
- “A toolkit for the design and fabrication of delicate punch needle
embroidery using X-Y plotters”.
- PINTR - Plottable random line
drawings from your images.
- REVDANCATT Plotter
Tools - A bunch of web-based pen plotter tools with SVG output.
- Flow Lines - A
tool for generating flow line representations using SVG paths /
polylines.
- UJI - A web-based
generative art thing with SVG export.
- Studio - A
web-based tool for creating multiplication mandalas.
- Rad Lines - A
web-based radial lines vector generation tool with SVG export.
Vector Utilities
Tools to manipulate and optimize vector-based file formats.
- svgsort - Path
planning for plotting SVG files, reduces time spent moving with the pen
up.
- svgo - Node.js-based tool
for optimizing SVG files.
- Polargraph
Optimizer - Optimize drawing plan for a polargraph.
- penkit-optimize
- An SVG optimizer that uses a vehicle routing solver to minimize plot
time.
- svg-crowbar -
Chrome-only bookmarklet for extracting SVG from an HTML document.
- vpype -
Plotter-focused Python-based CLI utility for generating and manipulating
SVGs, including scaling and optimizing paths.
- SVG
Cropper - A browser-based tool to crop SVGs using different
primitives, custom shapes, or other SVGs.
Fonts
Single-line vector fonts or “engraving fonts”.
Inspiration, Instruction,
and Research
Blog posts, articles, tutorials, galleries, videos, et cetera.
- An
Intro to Pen Plotters - Good info on getting started with old HPGL
plotters.
- An
Introduction to Pen Plotting - Another getting started article with
modern pen plotters.
- Pen
Plotter Programming: The Basics - Some basics of programming vector
paths, including sorting, joining, and simplifying.
- On Generative
Algorithms - Nice 13-part walkthrough of interesting
algorithms.
- Roland
DG DXY-990 - Quickstart guide for a Roland flatbed plotter.
- The
Cohen-Sutherland Line Clipping Algorithm - Detailed explanation and
examples of an interesting algorithm.
- Vera
Molnár - OG plotter artist.
- Hektor - The
original cable-based drawbot from 2002.
- Pen Plotter Art
& Algorithms - A two-part intro to creating generative graphics
for plotting.
- Surface
Projection - Deep dive into surface projection and hidden line
removal using Python and penplot.
- Fractal
Generation with L-Systems - Techniques for creating line-based
fractal graphics.
- Introduction to
TSP art - Resources for traveling salesman problem (single path)
art.
- Hidden wireframe
removal - Discussion and links to code for wireframe removal of STL
files.
- How
to Draw Generative Art with an Axidraw Pen Plotter - Lots of nice
tips, not all specific to the Axidraw, plus some pen reviews and handy
3d-printed tools.
- The
Best XY Plotters in 2020 - Good overview of the AxiDraw and its
clones, plus some DIY options.
- What is a pen
plotter 2022? - Nice video introduction to modern plotters in
2022.
- Tools,
Tricks, and Hacks: Exploring Novel Digital Fabrication Workflows on
#PlotterTwitter - Research paper on the novel workflows of the
plotter community (Video
Summary).
- Orbis
Tertius - An immersive digital installation with plotter output of
Martian topography.
- Tech Tangents:
Plotting For The First Time - HP 7470A - Nice video showing an HP
7470A operated from an HP 85 computer.
- CuriousMarc:
HP 7475A Plotter and HPGL Demo - Video of an HP 7475A plotting some
demos.
- CuriousMarc:
Refilling or Replacing Vintage HP Plotter Pens - Video showing how
to open, clean, and refill vintage HP plotter pens.
- Commodore 1520
Plotter Demonstration - Video of the Commodore 1520 plotter in
action, including a cover-off shot of the mechanism.
- Tech Tangents:
Gold Standard Plotter - HP 7475A - Video with some HPGL and plotter
history, plus operating an HP 7475A from an IBM 5160 microcomputer.
- curiousmarc.com:
HP 7475A Plotter - A great collection of info, ephemera, plot files,
three YouTube videos, and a 3d-printable replacement part for the HP
7475A.
- From
Lettering Guides to CNC Plotters - “A Brief History of Technical
Lettering Tools”.
- Building
an interactive plotter art installation - Nice writeup (with videos)
of an interactive plotter art exhibit at SIGGRAPH 2023.
- Taxan KPL 710
Demo Plot - A handheld recording of the Taxan KPL 710 running its
demo plot.
- Sweet-P Six
Shooter SP-600 Plotter Demonstration - A recording of the Sweet-P
SP-600 running its demo plot.
- Bottle
Plotter - Blog post about building a cylindrical pen plotter for
drawing on wine bottles.
- Buildlog.net
Atari 1020 Plotter Retrofit - Blog post and video about converting
an Atari 1020 plotter to use a ESP32-based GRBL controller.
- Texas
Instruments HX-1000 Plotter Photos - Photo gallery of the plotter’s
exterior, interior, and packaging.
- Making
cheap HP plotter pens - Blog post mainly about using vinyl cutter
parts as pen holders.
- Marcel
Schwittlick and The Long Run - Interview with Marcel, and lots of
photos and videos of his work and workspace.
- Lars
Wander and Mixing Paint With Code - Interview with Lars Wander, plus
art and videos.
- Flatulence,
Crystals, and Happy Little Accidents by Nick Fitzgerald (RustConf
2019) - A RustConf talk with very little Rust, more about the
creative process of generative art and pen plotters.
- Recreating
Retro Plotter Art, by Sher Minn (Plotter People #1) - Conference
talk with lots of great computer and plotter history.
- 20+
Questions About My Plotter Painting Practice - Q&A blog post
with lots of details about more painterly plotting.
- How
to Watercolor Paint with a Robotic Drawing Machine: An Interview with
Licia He
- 300
Days with Plotters - Blog post by Licia He about a successful 100
day plotting challenge.
- Roland DXY
1300 Plotter Self Test
- Vintage Aritma
0507 Plotter drawing Sierpinski triangles in one stroke - Aritma
Minigraf 0507 video.
- Plotter
(Artima Minigraf 0507)
- https://jiristepanovsky.cz/project.php?p=13plotter
- Blog post on the Aritma Minigraf 0507 plotter from
Czechoslovakia.
- Another
drawing on Aritma Minigraf 0507
- Aritma
Minigraf 0507 Plotting Space Shuttle
- Drawing an
Etch-Mask Directly onto a PCB using a Vintage Plotter - The video
description has some interesting details about this plotter.
- OrCAD 386
and a plotter Colorgraf Aritma 512 - Article about using a Colorgraf
512 plotter with OrCAD 386 for making printed circuit boards.
- Early
Computer Art in the 50s and 60s - Good art history lesson with lots
of plotter-relevant artists.
- Coding
My Handwriting - Great exploration of creating handwriting with
p5.js and some custom tools.
Manuals, Ephemera, Papers,
and Patents
Scanned plotter manuals, marketing ephemera, academic papers, and
patents. Thank you to the Internet
Archive for most of these.
Manuals
Sorted alphabetically by company name and product name.
Ephemera
Papers
Patents
Courses
Where to find other plotter and drawbot friends.
Plotter Art For Sale
Other Awesomes
plotters.md
Github