Jeremy Apthorp 9c351efec3 Add saxi to plotter-specific software list
saxi still needs a bit of love to be generally usable but I'd love for folks to try it out!
2018-11-22 16:03:15 -05:00
2018-06-07 10:12:49 -04:00
2018-06-07 07:24:44 -04:00
2018-06-07 06:52:17 -04:00
2018-06-07 06:52:17 -04:00

Awesome Plotters Awesome

A curated list of code and resources for pen plotters and other robots that draw.

Contents

Hardware

Plotters

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

Accessories

  • WiFi232 Wifi to RS-232 serial via a DB25 plug. Control your serial plotter wirelessly.
  • Plotter Cable Pinout (PDF) 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.

Pens

Software

HPGL

HPGL is a serial/text-based protocol used by most old pen plotters, and even many new vinyl cutters.

  • Chiplotle (web site) 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 Viewer An HPGL Viewer using Javascript and HTML5 canvas.
  • HPGL Sender A web interface for previewing HPGL and sending it to your plotter.

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-based G-code interpreter and simulator.
  • svg2gcode Node.js-based command line utility for converting SVG to G-code.
  • svg2gcode Python-based utility for fast SVG to G-code conversion.
  • 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.

Plotter-Specific

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 & library for the AxiDraw. Uses constant-acceleration motion planning & automatically resizes to paper.

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.
  • 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.

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.

Fonts

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.
  • OneLineFonts.com Commercial site with some single-line fonts available for purchase.

Inspiration and Instruction

Blog posts, articles, tutorials, galleries, videos, et cetera.

Community

Where to find other plotter and drawbot friends.

Plotter Art For Sale

Other Awesomes

Languages
Markdown 100%