A curated list of code and resources for computer-controlled drawing machines and other visual art robots.
- Hardware
- Software
- Inspiration, Instruction, and Research
- Manuals, Ephemera, Papers, and Patents
- Courses
- Community
- 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. 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.
- 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 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.
- 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.
- 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 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 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.
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.
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 -
.fnt
format 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.
- 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.
- hf2gcode - Generates G-code from text with a Hershey font.
- FifteenTwenty: Commodore 1520 plotter font - Blog post about the creation of this font from the original ROM.
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.
Scanned plotter manuals, marketing ephemera, academic papers, and patents. Thank you to the Internet Archive for most of these.
Sorted alphabetically by company name and product name.
- Apple Color Plotter User's Manual
- Aritma Colorgraf 512 - Website with scanned schematics and manual.
- Atari 1020 Color Printer Owner's Guide (1982) - A higher-quality scan is also available as a PDF on buildlog.net
- Atari 1020 Color Printer Field Service Manual (1983)
- CalComp Artisan Plus 1023/1025/1026 User's Guide (1990)
- Programming CalComp Pen Plotters (1968)
- Commodore 1520 Printer Plotter Manual (1983)
- Commodore 1520 Printer Plotter Manual
- Control Data 165/165-2 Plotter Manual
- Esterline Angus Spartan X-Y Recorder Instruction Manual - Rev 1178.
- Esterline Angus Spartan X-Y Recorder Instruction Manual (1980) - Revs 1080, 1178, 0480.
- Esterline Angus Model XY530 Recorder Instruction Manual
- Esterline Angus Model XY575 Recorder Instruction Manual (1976)
- Fluke 1771A Intelligent Digital Plotter User's Manual (1983)
- Gerber GS750 Plus User Manual (1995) (manualslib)
- Gerber Signmaker IVB User's Manual (1983) (manualslib)
- Graphtec Pen Plotter MP303 Series Service Manual (2004)
- 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
- Houston Instrument DMP-60 Series Plotters Operation Manual (1990)
- HP 7470A Interconnection Guide
- HP 7470A Operator's Manual (manualslib)
- HP 7475A Graphics Plotter Operation and Interconnection Manual
- HP 7570A DraftPro Plotter Hardware Support Manual
- HP 7580B Drafting Plotter Service Manual (1986)
- HP 7585B Drafting Plotter Service Manual (1983)
- HP DraftPro Plotter User's Guide (1986)
- HP DraftPro Plotter Programmers Reference (1986)
- Mutoh ET202 Scriber (German)
- Olivetti PL10 Microplotter User Guide (1983)
- Olivetti P6060 Programming Manual (1979) (Italian)
- Philips X-Y Flat Bed Recorder PM 8120 (1971)
- 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 DXY-1350A -1150A User's Manual (1997) (manualslib)
- 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)
- Roland XY Plotter DXY-1350A DXY-1150A User's Manual (1997)
- Rotring Tubular Plotter Points Practical Tips and Information
- Rotring NC-scriber CS 50 Operating Instructions (1989)
- SEGA SP-400 Operation Manual - This doesn't present as a flippable book on the archive, but the original page scans are still available for download.
- Sekonic SPL-450+/SPL-455 User Manual (1990) (German)
- Siemens C1613 Plotter Manual (German)
- Silver Reed Colour PenGraph EB-50 Operating Manual (1984)
- Taxan X-Y Plotter KPL 710 Instruction Manual
- Tectronix 4662 Interactive Digital Plotter User Manual (1976)
- Tectronix HC100 Instruction Manual (1987)
- Panasonic RK-P400C 4-Color Graphic Penwriter Manual
- Panasonic Penwriter Manual Excerpt: RS232 Protocol Section
- (Unknown Brand) LP 2002 Photo Plotter Attachment Operating Manual (German) - Also see Martin Bircher's thread with pictures of this device.
- 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 10 - Multiple articles about the development of the HP Model 7580A plotter.
- Hewlett-Packard Journal Volume 32 Number 11 - Multiple articles about the development of the HP Model 7580A plotter.
- Hewlett-Packard Journal Volume 33 Number 12 (1982) - Multiple articles about the HP Model 7470A 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
- Sweet-P Plotter Brochure and Price List - Four-page color marketing brochure with attached suggested retail price list.
- IEEE Electronic Systems News Autumn (1985) - Review of the three-color Penman robotic plotter.
- Apple II Business Graphics Film (1982) - There's a Strobe Model 100 Graphics Plotter drawing bar charts at 4:57.
- Elektor Magazine Selbstbauplotter MONDRIAN II (1990) (German) - Also see a model of this plotter on GrabCAD.
- IBM 7374 and 7375 Color Plotter Brochure (PDF)
- Toward Aesthetic Guidelines for Paintings with the Aid of a Computer (1975) (PDF) - Vera Molnar.
- Pen Plotter as a Low-Cost Platform for Rapid Device Prototyping with Solution-Processable Nanomaterials (2023) (PDF)
- Preparation of V2O5 Thin Film by Sol–Gel Technique and Pen Plotter Printing
- PatternPortrait: Draw Me Like One of Your Scribbles (2024)
- Can I teach a robot to replicate a line art (2019)
- Painting with Plotters - A work-in-progress course by Licia He, to be released September 2024.
Where to find other plotter and drawbot friends.
- 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.