My Drawbot, "Death to Sharpie"

This is my drawing robot. Ultra fine sharpies fear this beast. It's really just a very bad printer, but a lot of fun to play with. I hope to get some more pictures up here.
The new chain goes something like this:

drawbot processing chain

  1. code to convert jpeg to gcode file.
  2. Manual ftp to Raspberry Pi.
  3. Python on Pi converts gcode to two byte chunks sent to Arduino via 115200 baud serial.
  4. Arduino reads new serial two byte serial commands and puts them in a FIFO queue (about 900 commands on atmega328)
  5. Arduino reads FIFO and updates stepper motors and servos.
  6. Arduino updates a GPIO to the Pi if there is room available on FIFO.

Byte 1
     Bit 7 unused
     Bit 6 unused
     Bit 5 led
     Bit 4 servo
     Bit 3 motor 2 direction
     Bit 2 motor 2 step
     Bit 1 motor 1 direction
     Bit 0 motor 1 step
Byte 2
     Bits 0-7 delay before next command, speed control.

The small FIFO on the Arduino is big enough to keep the motors busy while the Linux on the Pi does its laggy preemptive busy work.

The advantage being, the Arduino never needs re-flashed because its code almost never changes. Its very tight and small and does no math. The real work is now in python land on a Pi instead of an expensive laptop. The only down side is the speed of the serial, which might start being a problem when I get the acceleration code implemented, if ever.

On the physical side of things, I have switched to a ribbed belt with weights hanging down the sides. Its much better in terms of repeatability, but kind of nasty to look at.

Also try to forget that Kinkos can print the same thing at 300 DPI at 16 million shades of color in 5 minutes for $7.00.

Jpeg to gcode simplified (kinda sorta works version, v3.2 (beta)

Jpeg to gcode advanced (mostly works version, v3.5 (beta)

Most all the images below were drawn on 40x30 foam board.

drawbot, angel

drawbot, spitfire

drawbot, gas masks

drawbot, gas mask

drawbot, steeple 

drawbot, breadboard 

drawbot, milled PCB

Check out the new milled PCB.  Tom McGuire took a picture of my bread board and converted it to Eagle, and then milled it on a hand built CNC mill.  Very cool indeed.  We also added some headers for limit switches, and ran traces for a SPI interface between the Pi and the Arduino.  The serial interface is working OK but a little more speed would be very welcome.

drawbot, gondola

My drawbot uses the finest paperclips, coat hangers, painters tape, and fishing string that money can buy.
There is over probally well over 60 cents in nickels hanging off the bottom alone.

death to sharpie


drawing robot

arduino drawbot

vertical drawing machine

Below is the previous version of "Death to Sharpie", back when I used simple take up spools and a PC running to spit out commands to the semi-smart Arduino.  This was before I learned about gcode. The micro processor knew how to make simple line segments.  You just had to feed it pairs of coordinates.
death to sharpie

All photos have been teaked to adjust persective and color problems.  I can't take a good picture to save my soul.


created: Dec. 1, 2013, 1:01 a.m.
modified: April 14, 2019, 12:57 a.m.