A curated list of code and resources for computer-controlled drawing machines and other visual art robots.
- Inspiration, Instruction, and Research
- Manuals and Ephemera
- Plotter Art For Sale
- Other Awesomes
- 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.
- Arduino CNC Drawing Machine – A fairly simple 3d-printed AxiDraw-style plotter with good video documentation.
- 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.
- 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 Cableor similar to find them for sale.
- Sharpie Fine Point Plotter Adapter – 3d-printed adapter to fit a standard Sharpie in an HP-GL plotter.
- Parametric 3d-Printable Plotter Pen Adapter – Adjustable model to print adapters for various pens.
- Plotter Pen STL Models – Accurate STL models of both short and long standard plotter pens.
- Pens for AxiDraw – List of pens suitable for general plotter abuse.
- Pens for EggBot – Egg- and glass-focused pen recommendations but still generally applicable information.
- JetPens – The Best White Ink Pens – A comprehensive review of many white ink pens, with pictures of their coverage characteristics.
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.
- 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 Sender – A web interface for previewing HPGL and sending it to your plotter.
- HPGLGraphics – A Processing library for writing HPGL files.
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.
Software that is specific to a particular plotter or controller.
- 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.
- 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.
Tools to create vector artwork from scratch or by conversion from other formats.
- Inkscape – Popular cross-platform open source vector graphics editor.
- 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.
- 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.
- 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.
- 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.
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.
Single-line vector fonts or “engraving fonts”.
- Summary of single line fonts – Good information and links to other resources and fonts.
- Hershey Vector Font –
.fntformat of vector fonts from the 60s. Includes a good overview of the original data format of the fonts.
- hershey-fonts – C library and original font data for the Hershey fonts.
- OneLineFonts.com – Commercial site with some single-line fonts available for purchase.
- svg-fonts – Single-line fonts in an SVG format, mainly for use with the Hershey Text Inkscape plugin.
- CNC Text Tool – Browser-based Hershey Text tool with export to SVG.
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 .
- 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.
Manuals and Ephemera
Scanned plotter manuals and marketing ephemera, mostly from the Internet Archive
- Apple Color Plotter User’s Manual
- Atari 1020 Color Printer Owner’s Guide (1982)
- Atari 1020 Color Printer Field Service Manual (1983)
- Programming CalComp Pen Plotters (1968)
- Commodore 1520 Printer Plotter Manual (1983)
- Commodore 1520 Printer Plotter Manual
- Control Data 165/165-2 Plotter Manual
- Houston Instrument DMP-160 Plotter Operation Manual
- Houston Instrument DM/PL Command Language (1984)
- Houston Instrument DMP-40V Operation Manual (1988)
- Houston Instrument HIPLOT DMP-51/52 Operation Manual (1985)
- Houston Instrument Interface Notes for DM/PL Intelligent Plotters (1983)
- Houston Instrument Stand Assembly Procedure DMP-50 Series Plotter
- HP 7475A Graphics Plotter Operation and Interconnection Manual
- HP 7570A DraftPro Plotter Hardware Support Manual
- HP 7585B Drafting Plotter Service Manual (1983)
- HP DraftPro Plotter User’s Guide (1986)
- HP DraftPro Plotter Programmers Reference (1986)
- Olivetti PL10 Microplotter User Guide (1983)
- Radio Shack TRS-80 Plotter Printer Manual
- Radio Shack TRS-80 Color Graphic Printer Operation Manual
- Radio Shack TRS-80 Color Graphic Printer Service Manual
- Roland DXY-880 Operation Manual (1984)
- Roland DXY-980 Operation Manual (1985)
- Roland DXY-990 Operation Manual (1986)
- Roland DXY-1300 -1200 -1100 Command Reference Manual
- Roland DPX-2000 User’s Manual
- Roland DPX-3300 Operation Manual (GitHub)
- Roland DPX-3300 Service Notes (1987)
- Roland DPX-3300 Schematics (1987)
- Roland DPX-3700A DPX-2700A User’s Manual (Roland Direct Download)
- Rotring Tubular Plotter Points Practical Tips and Information
- Siemens C1613 Plotter Manual (German)
- Panasonic RK-P400C 4-Color Graphic Penwriter Manual
- Time Share Peripherals TSP-212 Brochure
- Hewlett-Packard Journal Volume 29 Number 1 – Multiple articles about the development of the HP Model 9872A and 7221A pen plotters.
- Hewlett-Packard Journal Volume 32 Number 11 – Multiple articles about the development of the HP Model 7580A plotter.
- CalComp Precision Graphics System 900/728 Brochure (1970)
- Digital Plotting Newsletter (1967)
- Versatec Printers and Plotters Brochure (1977)
- Versatec Printer/Plotters, Plotters and Output Systems (1981)
- Roland Users Group Volume 2 Number 4 (1984) – Computers and Plotters Take the Place of Drafting Tables and Pencils article on page 36 (PDF page 40).
- Omega-t Systems FasPlot Plotter Brochure
- Commodore Computer Plotter CBM 8075 Brochure (German)
- Strobe Model 100 Graphics Plotter Brochure (1980)
- Roland DG Plotter Ad in Byte Magazine Vol 12 No 4 (1987) (via @OldTechAdverts)
- Auerbach On Digital Plotters And Image Digitizers (1972) – A book about plotters and digitizers.
- CalComp Graphics Products Brochure (1981)
- CalComp Plotters in 1968 – Promotional video showing a flatbed CalComp plotter and its output.
- Houston Instrument DMP-41 and DMP-42 Plotters Brochure
- Houston Instrument DMP-51/52 Series Brochure
- Houston Instrument Omnigraphic Plotter Brochure
Where to find other plotter and drawbot friends.
- #plottertwitter – Twitter hashtag with lots o’ plots.
- PlotterArt Subreddit
- AxiDraw Subreddit
- Generative Art Subreddit
- Plotter People – In-person meetups (SF and NYC so far) with talks and plotter art galleries.
- DrawingBots Discord Forum – Discord forum with an active community.
- PlotterFiles – Community for sharing SVG files for plotters.
- #PenPlotter – Mastodon/ActivityPub hashtag that plotter folks are mostly congregating under.
Plotter Art For Sale
- Paul Rickards
- Michael Fogleman
- Monica Rizzolli
- Martin O’Leary
- Geoffrey Bradway
- Arjan van der Meij
- Nadieh Bremer
- Michelle Chandra
- Pedro Alcocer
- Marcel Schwittlick