All Projects → andywise → Drawbot

andywise / Drawbot

Drawing robot capable of rendering SVG paths over WebSockets. Powered by a Raspberry Pi running Node.js.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Drawbot

Robopaint
The software for your friendly painting robot kit!
Stars: ✭ 105 (-26.06%)
Mutual labels:  robot, drawing, svg
T System
the moving objects tracking system via two axis camera motion (and as optionally n joint robotic arm) for raspberry pi distributions
Stars: ✭ 17 (-88.03%)
Mutual labels:  robot, raspberrypi
Makelangelo Software
Software for plotters - especially the wall-hanging polargraph also called Makelangelo.
Stars: ✭ 248 (+74.65%)
Mutual labels:  robot, drawing
Azure Design
Here you will find my complete Azure Visio Stencil and bonus SVG and PNG versions for all of the Azure Service and configuration items.
Stars: ✭ 470 (+230.99%)
Mutual labels:  drawing, svg
Lazy Line Painter
Lazy Line Painter - A Modern JS library for SVG path animation
Stars: ✭ 1,918 (+1250.7%)
Mutual labels:  drawing, svg
Line-us-Programming
Some very simple examples to get you started with the Line-us API
Stars: ✭ 98 (-30.99%)
Mutual labels:  drawing, robot
Go Chart
go chart is a basic charting library in go.
Stars: ✭ 3,254 (+2191.55%)
Mutual labels:  drawing, svg
Maker.js
📐⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.
Stars: ✭ 1,185 (+734.51%)
Mutual labels:  drawing, svg
Perfect Freehand
Draw perfect pressure-sensitive freehand strokes.
Stars: ✭ 999 (+603.52%)
Mutual labels:  drawing, svg
Nn Svg
Publication-ready NN-architecture schematics.
Stars: ✭ 805 (+466.9%)
Mutual labels:  drawing, svg
Macaw
Powerful and easy-to-use vector graphics Swift library with SVG support
Stars: ✭ 5,756 (+3953.52%)
Mutual labels:  drawing, svg
Mocodo
Modélisation Conceptuelle de Données. Nickel. Ni souris.
Stars: ✭ 113 (-20.42%)
Mutual labels:  drawing, svg
Pixelfarm
From Vectors to (sub) Pixels, C# 2D Rendering Library
Stars: ✭ 120 (-15.49%)
Mutual labels:  drawing, svg
Dvisvgm
A fast DVI, EPS, and PDF to SVG converter
Stars: ✭ 134 (-5.63%)
Mutual labels:  svg
Styled Icons
💅 Popular icon packs like Font Awesome, Material Design, and Octicons, available as React Styled Components
Stars: ✭ 1,878 (+1222.54%)
Mutual labels:  svg
Typesettable
📐 A typesetting library for SVG and Canvas
Stars: ✭ 134 (-5.63%)
Mutual labels:  svg
React Qr Svg
React component for rendering SVG QR codes
Stars: ✭ 134 (-5.63%)
Mutual labels:  svg
Svglib
Read SVG files and convert them to other formats.
Stars: ✭ 139 (-2.11%)
Mutual labels:  svg
Svg
Useful SVGs
Stars: ✭ 137 (-3.52%)
Mutual labels:  svg
React Designer
It's not art
Stars: ✭ 1,762 (+1140.85%)
Mutual labels:  svg

Drawbot ✏️🤖

Drawing robot capable of rendering SVG paths over WebSockets. Powered by a Raspberry Pi running Node.js.

Parts List

Printable Parts

Everything Else (~$150 or less)

Wiring

Hardware Assembly

Thank you to the kind people at the Johnson County Library's Black & Veatch MakerSpace for documenting the assembly process at instructables.com.

Raspberry Pi Zero W Basic Setup

  1. Download and install Etcher.
  2. Download and install latest Raspbian OS and flash it onto your SD card with Etcher.
  3. Enable SSH by adding a blank file named ssh (no extension) to the boot directory on the Pi's SD card. (Last tested with Raspbian Stretch Lite 2018-06-27 version.)
  4. Set up Wifi by adding a file named wpa_supplicant.conf to the same boot directory with the following contents (replace MySSID and MyPassword with your credentials):
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    	
    network={ 
    	ssid="MySSID" 
    	psk="MyPassword" 
    }
    

Software Prerequisites

From a device connected to the same network as the Drawbot Pi, SSH into the Pi with ssh [email protected]. The default password is raspberry.

Then, on the Drawbot Pi:

  1. Update, upgrade, and install NPM, Git. (Automatically answer "yes" to everything.):

    • sudo apt-get update
    • sudo apt-get upgrade
    • sudo apt-get install npm
    • sudo apt-get install git
  2. Install Node.js.

    • sudo npm install -g n (Install n for node.js version management. github.com/tj/n)
    • sudo n stable (Install latest stable version of Node.js. Last tested with v10.8.0)
  3. Upgrade NPM. (and remove old apt-get version).

    • sudo npm install [email protected] -g
    • sudo apt-get remove npm
    • sudo reboot (After rebooting, you'll have to SSH into the Pi again.)
  4. Install pigpio C library. npmjs.com/package/pigpio

    • sudo apt-get install pigpio (Only if you're using Raspbian Lite.)
    • npm install pigpio

Installation

On the Drawbot Pi:

  1. git clone https://github.com/andywise/drawbot.git to clone this repository.
  2. cd drawbot
  3. npm i

Use

On the Drawbot Pi:

  • Run npm start or sudo node draw.js to start the Drawbot controller.

Controlling the Drawbot

On a device connected to the same local network as the Drawbot Pi:

  • Go to raspberrypi.local/control to access the Drawbot control interface.
  • Use the "bullseye" interface to manually position the gondola, or raise/lower the pen/marker.
  • Use the settings panel to configure the Drawbot's D, X, and Y values (see "Configuration" below).
  • Drag and drop an SVG file onto the control interface to send artwork to the Drawbot!

SVG Artwork Notes:

  • Only the first <path> element will be drawn, so if necessary, combine artwork into a single compound path.
  • The Drawbot will scale artwork so that 1 pixel = 1 millimeter.

Configuration

  • Enter value for D: measure distance between string starting points (in millimeters).
  • Enter starting X and Y values: measure distance from left and top (respectively) of left string starting point to initial pen position (also in mm).
  • Note: Values will be stored in the config.json file.

Rendering Raster Artwork (Coming Soon!)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].