Giter VIP home page Giter VIP logo

awesome-plotters's Introduction

Awesome Plotters Awesome

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.

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.

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.

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

Community

Where to find other plotter and drawbot friends.

Plotter Art For Sale

Other Awesomes

awesome-plotters's People

Contributors

alustig3 avatar andypiper avatar apprentilab-suzanne avatar aubergene avatar awdriggs avatar beardicus avatar bobek avatar brubsby avatar danmarshall avatar jimmymorris avatar lycarter avatar madc avatar mafm avatar marcrleonard avatar mo-nonym avatar monperrus avatar msurguy avatar nornagon avatar osresearch avatar paulgb avatar pealco avatar piebro avatar spekulatius avatar svenhb avatar teddybradford avatar zoso95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-plotters's Issues

Small error in URL (link to OpenSCAD Gist)

The link to the Parametric 3d-Printable Plotter Pen Adapter currently has an error. Presently it is:

https://openjscad.org/#https://gist.githubusercontent.com/beardicus/d668c0f6b96be53d16dc/raw/plotter-pen-adapter.jscad

It should be:

https://gist.githubusercontent.com/beardicus/d668c0f6b96be53d16dc/raw/plotter-pen-adapter.jscad 

Thanks for the great resource!
Best,
Golan

Addition to Vector Creation

I wonder if you'd consider adding the software I work on DrawingBotV3!

DrawingBotV3
a cross-platform software for converting images to line drawings, highly configurable to create unique drawing styles.

Thank you,
Ollie

Some suggested links

I too collect plotter links. Here are some that might fit into your collection. Please feel free to incorporate all or none of these at your discretion. I've done a first-pass search for duplicates, but I may have missed some.

(Disclosure: I'm with Evil Mad Scientist).

Fonts

Vector Creation

Plotter Specific

  • RoboPaint software for WaterColorBot
  • AxiTurtle Turtle graphics for AxiDraw in Processing

Inspiration and Instruction

Artists selling plotter-based artwork

Motor Controllers addition

EiBotBoard
(EggBot Board) Drives: AxiDraw, EggBot, WaterColorBot

Integrates with Inkscape Extention
Current version 2.45 (c. 11-19)

Available:
EiBotBoard Schematics

https://www.schmalzhaus.com/EBB/
(confirmed 3-12-19)

EiBotBoard Board, Firmware, blog, manual, support:
(confirmed 3-12-19)
https://shop.evilmadscientist.com/productsmenu/188

EiBotBoard Board (version 2.43, black)
(confirmed 3-12-19)
https://www.aliexpress.com/item/32789757886.html?spm=a2g0s.9042311.0.0.52d44c4drzRdC7

Integration and software:
EiBotBoard requires a serial interface, drivers and instructions are widely available, including evilmadscientist.com or searching for USB to Serial Driver CH340 or CH431

Eggbot - GitHub Pages
(confirmed 3-12-19)
https://evil-mad.github.io›EggBot›ebb
The Inkscape-based drivers for the EggBot, for the WaterColorBot, and for AxiDraw are written in python, and use this serial protocol.

Grbl with Pen Servo / Laser Feature (Arduino UNO - ATMega328p version)
(confirmed 3-12-19 but untested)
https://github.com/bdring/Grbl_Pen_Servo

Group chat

Hey Beardicus,
I've recently embraced my inner plotterness and am looking for where the plotterphiles hang out online.
Your list is AWESOME, but it is missing links to current/active forums/social media hangouts where plotterphiles get together and share the the joy of plotters.
I've searched for FB groups, but didn't find any.
Do you know of any online plotter hangouts where I can ask questions? So far my post have only been in general Retro Computing groups...and they are beginning to look at me funny. ;^)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.