Building an Arduino Drawing Robot – On The Cheap

Dumpster score!

Dumpster score!

First, if you haven’t taken the time to add your voice to my DrawBot poll, please take a moment to do so! ((Photo courtesy of Trashcam Project))

Since there seems to be interest in learning how to build a drawing robot as cheaply as possible, I figured I’d give some help on how to do it.  As the old saying goes, “Fast, cheap and good – pick any two.”  The hands-down easiest way to build a drawing robot is to buy some parts off the shelf, slap them together, and start rocking away.  I’ll start with the cheapest possible way to get started and progress to the more off-the-shelf variety:

  • Basic Anatomy.  Just about every single vertical wall drawing robot is made from the same basic materials.  Fortunately, with a little effort these parts are pretty much interchangeable.  You need circuit boards for the brain, two stepper motors to operate either side of the line going to the pen, a pen, and lots of wire.  If you want to get fancy, you could also track down a servo motor.  The rest could be just kludged together out of nearly anything.  However, for the sake of completeness, here’s a shopping list or scavenger hunt list depending upon how you’re looking to build your robot:
    1. Some form of electronic brain, either built from scratch or Arduino powered
    2. Two identical stepper motors
    3. Lots of wire
    4. Spools
    5. Strong thread or fishing line
    6. A pen
    7. Screws, bolts, wood, and/or printed plastic parts
    8. Optional: one servo motor
  • Parts for free.
    • While the cheapest method, the time and effort investment won’t be insignificant.  You’ll need to get your hands1 dirty.  Some of the most expensive parts of a drawing robot could actually be obtained for $0 – as long as you’re willing to get your hands dirty.  As long as you’ve got a hacksaw, a drill, and some screwdrivers the world is your oyster.
    • Stepper motors.  Stepper motors (and possibly servo motors) can be found on neighborhood sidewalks, dumpsters, and in office building closets every single week.  If you don’t know where to start, try just walking into an office building and offering to dispose of their old printers, copiers, scanners, and CD/DVD players.  You’ll need to really dig into these machines to find stepper motors and when you find them, they’ll probably be the “permanent magnet” or “tin can” stepper motors.  You can tell a stepper motor from a DC motor by looking at how many leads or terminals it has.  Just two means it’s a DC motor.  Four or five means it’s almost certainly a stepper motor.  Ideally, you’ll want two identical stepper motors.
    • Wire.  In a pinch you could use telephone, ethernet cables, old speakers, old USB cables, computer keyboards or mice, or even electrical cords cut off from any kind of electrical device as a source of wire.  Basically, as long as you have a pair of wire cutters and wire strippers, you’ll never be without plenty of wire.
    • USB cable.  No matter what kind of drawing robot you build, chances are you’ll need one of these.  Most Arduinos use a USB A-to-B cable and some of the clones use a USB A-to-Micro or USB A-to-Mini cable.  If you can only find a USB cable that’s of the wrong connector type, consider hacking them by cutting one end off and splicing the wires onto the necessary connector.  Alternatively, and more destructively, you could cut and strip the wires in the cable, tear open the USB port on the Arduino/clone, and solder solder the wires from the USB cable directly to the board.  Realistically it’s just easier to find or buy a cable that fits.
    • Power supply adapter.  If your project includes a full-fledged Arduino or decent Arduino-clone, you can use a power supply providing 7-12V DC.2 If you look around your home3 you are almost certain to find a wide variety of power adapters for any number of different kinds of discarded electronics.  Just look at the power adapter itself and it will explicitly state it’s voltage output.  While you’re scrounging at an office building for copiers and printers, be sure to ask around for any old power adapters they may have.
    • Screws, washers, nuts, and bolts.  Saving these parts as you take apart the various electronics will net you more hardware than you’ll need.
    • Wood.  You can find scrap wood discarded at construction sites, in old pallets, or if you’re really hard up – inside furniture.  You’ll want to rig something to attach two motors to a wall or a piece of wood (that would, in turn be mounted to a wall).
    • Spools.  Nearly any kind of cylindrical object that has a hole in it that fits your motor shafts would work.   You could use a left over thread spool or a bobbin.  You could carve one from a cork.  You could drill a hole into a curtain or closet rod and put rubber bands around the two ends to keep the thread or filament from sliding off.
    • Pen holder.  The simplest example I’ve ever seen is from the AS220 drawing robot which featured a pen held by a binder clip, suspended by two pieces of monofilament wire.  You could use another piece of carved cork, a lump of clay or a bunch of rubber bands around the pen to hold it to the wires.  With a very lightweight pen holder, you may need to include a small weight.  I used to use a plastic baggie containing several dead AAA batteries.
  • Building from scratch.  
    • Back in 2011 Shawn Wallace wrote a great set of tutorials for Make about how to build a drawing robot.  This setup doesn’t rely upon an Arduino, but rather building up stepper motor drivers and a control board from electronic components.  Excluding the cost of wire, motors, a power supply, and shipping, the electrical components would probably cost about $15.  The reason I excluded the wire, motors, and power supply is that these things could probably be obtained for free, as described above.  Your total cost of building such a robot could as cheap as about $15 plus scavenged parts.
  • Arduino-based.
    • Building an Arduino based drawing robot is positively the easiest way to go.  Your cheapest options are to get an Arduino-clone and some form of stepper motor shield(s).
    • Arduinos and Clones
      • Cheap Arduino-clones.  A good starting point for Arduino clones is Phillip Torrone’s top 10 list of favorite Arduino clones.
        • Evil Mad Scientist Diavolino.  While this Arduino clone can be bought as a solder-it-yourself-kit for only $13.50 plus shipping, it lacks the voltage regulator and USB port present on an Arduino Uno.  This means you’ll need to be careful that your power supply choice only provides between 4.5 – 5.5V.  Additionally, you’ll need an FTDI cable to communicate with the Diavolino.  A new FTDI cable usually runs about $15-$20.  Although I’ve never bought anything directly from EMSL, I own one of their Egg-Bots, I can say I’m quite happy with the quality of their products.
        • Dorkboard Kit.  I don’t have any experience with either a “Dorkboard” or Surplusgizmos.com, but they’ve apparently this clone is selling for $6.25.  As with the Diavolino, it lacks a voltage regulator and USB port.  Unlike the Diavolino, it is not in an Arduino form-factor which means you’ll need a breadboard and mess of jumper wires or a really large mess of jumper wires.
      • Arduino.  Going with a fully featured Arduino Uno, Arduino Mega or an electrically-identical clone means you get to use a USB cable interface, an off-the-shelf motor shield, and can use a large range of possible power adapters.  Frankly, once you factor in the need for a FTDI cable, voltage regular or specialized power adapater, the need for a breadboard, and the work involved in MacGuyvering it all together, it might be easier and cheaper to just get a full featured Arduino.
    • Motor Shields
      • Arduino Motor Shield.  The official Arduino motor shield will run you about $30.  I haven’t used it, so I can’t really comment on it.  Just know that it’s not the cheapest option and read on.
      • Two Sparkfun EasyDrivers.  Dustyn Roberts’ SADBot used an Arduino with two Sparkfun EasyDrivers connected with wires and breadboards.  With her great instructable, there’s no reason you couldn’t do the same.  These drivers would run you about $15 each, plus shipping.  Again, this is not the cheapest option.
      • Adafruit Motor Shield.  I can’t recommend the Adafruit Motor Shield enough.  It’s fairly easy to solder and at $19.50 it’s clearly the cheapest shield-based option.  Adafruit’s website has detailed instructions on how to assemble and use the shield, with tons of Arduino libraries to get you started.  Besides all that, there are two different well-documented open source drawing robot projects that make use of this same exact shield.
  • Kits.
  • Software/Firmware.
    • Polargraph.  As mentioned above, you can find Sandy’s open source part designs on Thingiverse and all of his software and firmware on Google projects code repository.  What I particularly appreciate about using an Arduino with an Adafruit Motor Shield to power a drawing robot is that this setup is fairly software/firmware “agnostic.”  Using these electronics as the brains behind the operation, you could choose to draw with either Sandy’s Polargraph firmware/software or Dan’s Makeangelo firmware/software and just about any kind of steppers, wire, spools, and hardware.  So far I’ve only used Sandy’s Polargraph software, but once I finish building my brand-spanking-new PolargraphSD powered drawing robot, I think I’ll use my trust old Arduino and Adafruit Motor Shield to try out Dan’s software/firmware blend.  And, once I’ve tried that I think I’ll take a crack at writing some Arduino drawing software of my own!
    • Makelangelo.  As discussed earlier, Dan shares his open source designs for the parts on Thingiverse and all of the software and firmware on Github.
    • SADBot.  Dustyn Roberts designed and built a solar-powered drawing robot after a successful Kickstarter, featured in her book “Making Things Move,” and documented everything including her software, in an instructable.
    • Erik the Wall Plotter.  Matt Ball and Will built a drawing robot and shared their code on Github.
    • Der Kritzler by Alex Weber.  Alex’s Der Krizler is one of the first drawing robots I had ever seen on the ‘net.  He’s provided a fair bit of documentation for his setup, which uses a tiny Arduino clone and two Pololu motor drivers, and his code on Github.

Okay, that’s how you source or scavenge everything you need to build a drawing robot!

So, what would you like to know next?  Take my DrawBot poll or leave a comment!

Default Series Title

  1. And clothes! []
  2. Technically, it could handle from 6V to 20V, but why chance it? []
  3. Or snoop around a friend’s home []