A Study of Drawing Robot Pen Holders and Design Considerations

MakerBlock's Cardboard Gondola, Annotated

MakerBlock’s Cardboard Gondola, Annotated

The pen holder for a drawing robot is one of the most deceptively simple aspects of the entire machine.  Stripped down to the most basic elements, the pen holder is nothing more than a small device used to connect to both cords from each motor to the pen.  However, there are a number of extremely important, and subtle, design considerations that are not immediately evident.

Since Hektor’s debut in 2002, and arguably as far back as SIGGRAPH in 1988, people have been working on vertical pen plotters.  In that time

I guess I should start this post with a discussion of the different gondolas out there.

In no particular order they are:

  1. Binder clip.  One version of the AS220 DrawBot used a simple binder clip holding a pen as the gondola/pen holder.  It doesn’t get a whole lot simpler than that.  It appears from the video associated with this post that the pen is held on a somewhat rigid rail.  Similarly, Dustyn Roberts’ SADBot also used a big huge clip as a pen holder/weight and James Provost’s InternBot used a few binder clips.  However, the most hacked together system is easily Josh Myer’s Muralizer which consisted of a lump of Play-Doh enveloping the pen.
    AS220 Labs Pen Holder

    AS220 Labs Pen Holder

    SADBot Pen Holder

    SADBot Pen Holder

    Muralizer Pen Holder - Powered by Play-Doh

    Muralizer Pen Holder – Powered by Play-Doh

  2. Clip Stabilizer plus Binder Clip.  The “production version” of the AS220 DrawBot included lasercut spool parts, motor mounts, and a “clip stabilizer.”  The setup described in the assembly instructions appears to indicate that the pen can be held reasonably steady using this design.  However, having spoken to Shawn Wallace about these designs, he advised that this is really a non-optimal setup that has a lot of wiggle to it.
    AS220 Labs Clip Stabilizer Design

    AS220 Labs Clip Stabilizer Design

    AS220 Labs Clip Stabilizer plus Binder Clip

    AS220 Labs Clip Stabilizer plus Binder Clip

  3. Der Kritzler by Alex Weber.  This “gondola” made use of several lasercut parts creating a long wooden “cage” which held the pen in place along with a servo activated pen lift.  I can’t quite tell how the “pen lift” operates, whether it retracts the pen itself or whether it pushes something in front of the pen’s tip preventing the pen from leaving a mark.  Either way, this drawing robot pen holder has a feature that I never really appreciated until now – the wooden cage is suspended by two wooden “wings” which keep the point of attachment to the toothed belt at it’s midpoint.  I’ll discuss this feature more later.

    Der Kritzler Pen Holder

    Der Kritzler Pen Holder

  4. My first gondola was one of my own design and it was a miserable failure.  The central ring was too large to accommodate the marker pens I was using.  Also, it wasn’t heavy enough to make the monofilament hang in a straight line.

    Crappy Gondola

    Crappy Gondola

  5. Sandy Noble’s Polargraph.  Sandy has probably logged more hours with his drawing robots than just about anyone else.  So, when he uses a particular setup for his pen holder, there’s got to be something to it.  The interesting features of his gondola are that the weight is concentrated around the pen tube by use of several large bearings and, as with several other designs here, the cords to the pulleys are centered over the holder’s center of gravity.  After I published this post, I found a printable Polargraph-style pen holder by Lanthan on Thingiverse.

    Sandy Noble's Polargraph Gondola

    Sandy Noble’s Polargraph Gondola

  6. John Abela’s Gondola.  I used John’s designs with my first drawbot, but without the blank CD.  For the first time today I noticed that all of John’s pictures show the printed gondola glued to a blank CD for stability.1 When I used his design I just tied the top of the printed gondola to the monofilament line and added a ziplock baggie with dead batteries for weight.  The result was a reasonably decent gondola that was pretty finicky.  If the robot started drawing too close to one side or the other, the holder tended to twist and the pen made little to no contact with the paper.  I can see why the blank CD was such a good idea.

    John Abella's Polargraph Gondola

    John Abella’s Polargraph Gondola

  7. Dealywhopper’s Dr. Scratchy Polargraph Gondola.  Similar to John Abella’s Polargraph derivative is Dealywhopper’s Mr. Scratchy setup.  It’s an amusing mixture of high tech 3D printed parts and hot glue hackery.  There’s just something about its simplicity that really tickles me.  Print the part, add some glue, slide the binder clip into the groove, glue the holder, some pennies for weight, and a micro servo to an old CD and you’re done.  The interesting thing about this one is that the majority of the weight is off-center towards the drawing surface.

    Dealywhopper's Dr. Scratchy Polargraph Gondola

    Dealywhopper’s Dr. Scratchy Polargraph Gondola

  8. Dan Royer’s Makelangelo.  In the spirit of open source Dan Royer has been working on and blogging about his Makeangelo and Makelangelo 2 robots.  Dan’s Makeangelo is, like my first Polargraph derivative ‘bot, based on an Arduino Due and Adafruit Motor Shield.  If you check out his Youtube channel, there’s about two dozen uploads documenting Dan’s experiments with different pen holder configurations.  The version he’s shipping with his latest kit, which you can see below (the image is also a link to the video), uses three lasercut pieces to hold a pen and allow for an interesting pen lift.  Although you can’t see it in the image below, there is a third lasercut piece which appears to slide forward and backwards with the micro servo.  In the forward position it would push the pen holder top off the wall.  The holder includes two rows of holes along the top for attaching the motor strings above the holder’s center of gravity.

    Makeangelo 2 New Pen Holder

    Makeangelo 2 New Pen Holder

  9. Drawing Machine by Ragnar.  This drawing robot by Ragnar, a co-founder of Havtek, is exceptional for its incredibly high quality drawings and bespoke pen holder.  Ragnar provides a detailed description of his setup in two posts.  This may be the single most beautiful pen holder of the bunch.  With heavy brass pieces, there appears to be no further need for any additional weights.  As you’ll notice from his other photographs, the two brass arms are in the centered along the body of the pen holder.  This pen holder looks like each of the parts came off of an assembly line just destined to be part of an awesome drawing robot.

    Ragnar's Drawing Machine Pen Holder

    Ragnar’s Drawing Machine Pen Holder

  10. GarabatoBot (aka DoodleBot) by Made by Miguel Ángel de Frutos.  This is one of the most interesting drawing robot pen holders ever made – if for no other reason than it integrates almost all of the critical components into the pen holder itself.  As I recall, several other projects had tried to use integrated motors but found that the resulting pen holder/robot combination was too heavy to lift itself.  Miguel’s design is well documented on his site and the printable parts are shared on Thingiverse.

    GarabatoBOT robot by  Miguel Ángel de Frutos

    GarabatoBOT robot by Miguel Ángel de Frutos

  11. Harvey Moon’s Drawing Machine.  What makes Harvey Moon’s drawing robot pen holder particularly interesting is his choice to have the pen actually move up and down.  The pen holder incorporates a second non-drawing point and a rack-and-pinion system to advance and retract the pen.  I have to admit, I really like the aesthetic quality of having a no-foolin’ pen lift.

    Harvey Moon's Drawing Machine Pen Holder

    Harvey Moon’s Drawing Machine Pen Holder

  12. Darcy Whyte’s Mr. Drew.  Darcy Whyte aka Mambohead has been blogging about his own Polargraph variant2 for quite some time and worked through several different pen holders, including one designed specifically for a smaller drawing robot.  His designs use layered clear lasercut acrylic to build up a gondola which incorporates a springy clamp for holding the pen in place.  This video gives a really good tour of Darcy’s pen holder and explains several of the more important features.
    1. There are two pieces of threaded rod on either side of the pen holder.  By stacking pieces of acrylic you can adjust the position where the wire connects to the gondola.
    2. There is a pen clamp using a rubber band, as indicated above.  The best part about this clamp is that he uses varying pieces just below the pen to adjust the tilt on the pen, in case it requires a slight angle to draw on a more vertical surface.
    3. There is a third piece of threaded rod at the bottom of the gondola where additional weights can be attached.
    4. The clear acrylic and strategically placed holes in the top of the pen clamp allow the operator to see where the pen contacts the paper.

      Darcy Whyte's Mr. Drew Pen Holder

      Darcy Whyte’s Mr. Drew Pen Holder

  13. Stuart Childs DRBO.  Stuart Childs sells a lasercut Polargraph-compatible robot kit.  Once assembled it is a stand-alone drawing robot.  The most interesting difference between Stuart’s robot and Sandy’s setup is the construction of the pen holder.  I’ve included a picture of the front and back of the pen holder below to give you an idea of what it looks like.  Per Stuart’s comment below, his own gondola was inspired by Darcy’s Mr. Drew.3 For a better idea of how it is assembled and how it operates, you should definitely check out Stuart’s excellent step-by-step assembly photographs.  This pen holder has a small circular lasercut piece which attaches to the business end of a micro servo, to push ahead of the pen’s tip – allowing for “pen lifts.”  There are two features in particular that I really like.
    1. First, I like how the “arms” which connect to the motor cords can swivel.  This is a very clever way around several potential problems.  When tying the two cords to points on the pen holder, there are issues with placing them too far or to close together.  Too far apart makes the pen holder extra stable, but the image drawn are distorted.  Too close together minimizes distortion, but the pen holder can start to swing like a pendulum, causing wibbly wobbly lines.  Additionally, if the cords from the motors have too much “twist” in them, the entire pen holder can actually be turned sideways and will stop drawing entirely.  (I suspect just about any Polargraph-style pen holder which uses a large wide flat surface would be sufficient to combat the cord twisting/torquing problem.)  Looking back to the AS220 Labs pen holder, you can see that it appears to use two rigid rails instead of string.  The arms in Stuart’s robot essentially allow the cords from the motors to act as if they’re very close together – but probably wouldn’t allow much in the way of pendulum action.
    2. Second, I appreciate his spring-loaded pen holder.  This feature would allow his robot to accommodate a variety of pens or drawing implements.  While a rubber band would obviously work as a quick hack, a true metal string would stand up to repeated use.

    Stuart Childs’ DRBO Pen Holder

    Stuart Childs’ DRBO Pen Holder

  14. DrawBot Quick Change Pen Holder by UechiMike.  Thingiverse user UechiMike designed his own pen holder which he identified as a derivative of Dan Royer’s Makeangelo.  You’ll notice that UechiMike’s pen holder, like the DRBO immediately above, uses a rubber band in place of a spring as a way to accommodate a variety of pen sizes.  UechiMike’s pen holder has holes on either side for routing the monofilament wire which, it looks like, are tied around.  I have to wonder if the holder has any problem with torquing.  You’ve got to love the recycling of dead AA batteries here.  The only “gripe” with the design is that there isn’t any room for a  micro servo to for pen lifts.

    DrawBot Quick Change Pen Holder by UechiMike

    DrawBot Quick Change Pen Holder by UechiMike

  15. Screwless Sharpie Holding Gondola by Bluemetal.  Simple and sweet, this design doesn’t seem to have any weights or moving parts.  Just a bit of printed plastic and a push-fit hole designed for Sharpies.

    Screwless Sharpie Holding Gondola by Bluemetal

    Screwless Sharpie Holding Gondola by Bluemetal

  16. MakerBlock’s Cardboard Gondola.  Okay, now the most intricate, well designed, and durable feat of engineering ever to meet a marker.  My very own cardboard gondola.  As you can see, I slapped four AA batteries and a pen to a jagged piece of cardboard.  While it worked for several drawings4 it’s clearly nonoptimal.  The cord attachment points are wide enough to cause distortion and not well balanced enough to prevent swinging.  The only reason I slapped this together was that I was anxious to put my drawing robot to work.

    MakerBlock's Cardboard Gondola, Annotated

    MakerBlock’s Cardboard Gondola, Annotated

Frankly, my crappy gondola is a testament to the how forgiving DrawBot setups are.  Even though I’ve been admiring drawing robot setups for probably a year and a half now, I’ve really only started to understand some of the design decisions.  I’ll go ahead and publish this post5 and get to work on the next one laying out what I’ve learned from the different pen holders featured above.

Default Series Title
  1. Face palm []
  2. How awesome is it that Darcy worked with Sandy on pen holder designs?! []
  3. TeamTeamUSA created his own variation on Stuart’s pen holder and made the plans freely available on Ponoko []
  4. Four Deathstars and a Firefly class starship []
  5. I’ve been sitting on it now for a few days []

DrawBot, now ACTUALLY wall mounted!

Robot, all wired up

Robot, all wired up

If you’re just tuning in, I’m building an Arduino powered drawing robot.  If you’re the least bit interested in making one of your own1 then please take this quick DrawBot poll to let me know what you’re interested in.  You can come right back and check out all the nifty little details in my drawing robot project, promise.

Okay!  I’ve finished designing, printing, and installing all the plastic parts necessary and wired up all the bits that need to be wired.  Despite the big curl of rainbow colored ribbon cable, which I left in because I didn’t want to measure the cable for an exact fit and because it just looks pretty, the wiring is extremely simple.  Each of the stepper motors I’m using has four leads which, through some connections and cables, make their way to the PolargraphSD case.  Once these eight wires are connected and the robot supplied with power, you’re ready to start drawing.

Wiring detail

Wiring detail

To help tame the wiring mess I lightly braided2 the motor leads and added a drop of hot glue to keep them in line.  I made sure I left more than enough slack so I can remove the motors and move them around.  On the left side of the above photo you can see a curved piece of plastic.  I’m using an old version of one of the monofilament spools to somewhat contain the rainbow ribbon cable.

Wiring and connectors

Wiring and connectors

As mentioned above, the wiring is exceedingly simple – four wires from two motor are connected to eight terminals on the circuit board.  Insisting on the rainbow ribbon cable as I did simultaneously complicated and simplified this project.  The simplest possible solution would have been to wire the right side motor directly into the terminal blocks on the circuit board, solder four wires to the four left motor leads and plug these newly extended wires into the circuit board and call it a day.  It would have involved only four soldered jointed and it would have been a breeze.

But, I had a dream.  A dream of a sweet looking awesome drawing robot.  And this dream involved soldering 16 separate connections and 8 additional wire ends.

On the left and the right I soldered the motor leads to a 4-pin break away 0.1″ header.  Since I didn’t have any brown heat shrink tubing, I decided to color code the motor leads by covering the green lead with a little green heat shrink, the brown with blue heat shrink, the red lead with red heat shrink, and the yellow with yellow heat shrink.  If you’re following along at home, alwaysremember to put the heat shrink on the wire before you solder the connection.  Once I had soldered the four wires to the 4-pin connector and shrunk the heat shrink, I added a really wide piece of black heat shrink which I shrunk around the whole thing.  This way I can easily grab all four wires at the same time.  I also think it looks nice.

Before doing this soldering I made sure that I knew the exact order I needed to wire the motors to the circuit board.  In case you’re using the exact same setup as me, the colors are, from left to right: yellow, red, brown, green.  If I had wired the motors directly into the PolargraphSD board, you would see them, again left to right, as: yellow, red, brown, green, yellow, red, brown, green.

I then took the 4-pin female-to-female connector cable I bought from SparkFun and cut it right down the middle.  I took my 10-wire rainbow ribbon cable and pulled away the two least colorful wires leaving brown, red, orange, yellow, green, blue, purple, and light gray.  The I soldered the cut ends of one of the 4-pin female connectors to the brown, red, orange, and yellow ends of the rainbow ribbon cable and the other 4-pin connector to the green, blue, purple, and light gray side of the cable.

I spent more than a little time debating exactly how I would include these connectors.  Should I solder the motor leads to the female connector wires or is it better to solder the leads to male pins?  In the end I decided that if I ever took this project apart I might one day need to change the order of the wires coming out of the motor.  If they were soldered to female headers, my only solution would be to add more connectors in between or cut the female connectors off.  Since I soldered a 4-pin break-away block to the motor leads, I could theoretically break the four pins apart at a later date with little effort.

I suppose I could have chosen to be slightly less paranoid/OCD about checking and re-checking the wire order when I was soldering.  There’s no actual harm in accidentally swapping the order of one of those connections – I could always just swap the appropriate wires going to the terminal block on the circuit board and no harm done.  However, it was important to me, for purely aesthetic reason, that the ribbon cable actually look rainbow-y when it was connected to the terminal block.

Besides using one drop of hot glue with each of the motor lead braid bundles, I also added an additional drop underneath the green-through-gray section of the ribbon cable to help keep it in line.

Finished, Mounted Robot!

Finished, Mounted Robot!

This is what the robot looks like installed on my wall!  I’ve plugged it in and powered it up, but drawing will have to wait for another night.  It’s a little difficult to see, but there are four additional plastic parts installed in this picture which were not included in the first picture above.  To simply installation and removal, I’ve bolted two white dovetail slides to the wall.  Then two black plastic mounts slide onto the remaining dovetail slide on the top of the project box and onto the white dovetail slides on the wall.  Tighten a few M3x16 bolts, and everything is solidly in place! ((Just so you know, that the black cord running down the right side of the picture doesn’t really look like that.  When I stood back far enough from the wall where the robot is installed, something was in the way which I didn’t want in the picture.  When I smudged it out of the way I had to smudge-out the end of the power cord.))

The paper roll seems to unroll pleasantly from behind the project box with just enough resistance so there’s no way it will just unfurl unexpectedly.  While it was a little difficult to get started behind the box, ideally I won’t have to repeat the process very often.  While I was mounting the project box on the wall I realized that the wall bows out slightly.  I don’t think this will affect anything much – it’s just an odd quirk of my home which I noticed for the first time.

I’m very much looking forward to starting a drawing tomorrow.  I’ve got several in mind which I’ve prepared in anticipation of Maker Faire.  :)  While I’ve taken the necessary steps to fine tune the steppers by adjusting the potentiometers, I’m sure they will both need to be dialed in.  Even once I’ve gotten a successful drawing done, I foresee additional room for improvement in this project.  The pen holder/gondola is a constant source of innovation.  I’m looking forward to trying out several designs.  I’ll need to install the servo motor so I can do drawings with pen-lifts.  Lastly, I think Sandy is hard at work developing the code to support endstops.  I think this would be a really helpful addition as it will allow for automatically calibrating scripts to run just before a drawing.  Edit:  I almost forgot!  I also need to experiment with different kinds of pens to find out which ones work best on nearly vertical surfaces.

Don’t forget to take a minute and fill out my DrawBot poll so I’ll know what to blog about next!

Default Series Title
  1. I’ve heard of someone making one for as little as $30 []
  2. Which makes me think “lightly breaded,” which reminds me that I’m hungry, which in turn reminds me that I’m on a diet…  Haha! []

Arduino Powered Drawing Robot – Take 2 (Or 3)

Still under construction

Still under construction

My original drawing robot was built using an Arduino Uno, Adafruit motor shield, and two beefy stepper motors bolted onto a big chunk of plywood.1 Now I’m in the process of building a new robot using a sweet wooden project box, a freeduino, a PolagraphSD shield, and the steppers from the original drawing robot.  The other day it occurred to me that if I only had another set of steppers, I would have everything I need for a second drawbot.

About a week and a half ago I placed an order with SparkFun for some awesome rainbow colored ribbon cable, wire connectors, and some other stuff.  Since I was buying some stuff anyhow, I figured $14 wasn’t much to pay to have another set of motors I could use to rebuild my old drawing robot.2 I also see several additional side benefits to having this extra set of motors.  First, and most obvious, I’ll have two drawing  robots.345 Second,67 I’ll have another set of motors I can put into some other wacky project down the road.  Third, I’ll be able to test a totally different software setup on the second drawing robot without having to disassemble the other robot.  Ideally I’d tinker a little with the source for Dan Royer’s Makelangelo’s software and Sandy Nobel’s Polargraph software.

Don’t forget to take a minute and fill out my DrawBot poll so I’ll know what to blog about next!

Default Series Title
  1. Photo courtesy of Alex Abian (Also on flickr.com/alexabian []
  2. Albeit with smaller motors []
  3. What’s better than one drawing robot?  10 drawing robots! []
  4. Give it a second []
  5. Second.  Heh. []
  6. Again with the second []
  7. You’d think we’d be to thirds by now []

Unidentified Foam Object

Unknown foam

Unknown foam

While I understand options like acoustic wool makes a very good sound/vibration insulator, I’d rather not have something that messy in my ‘bot.  I’d be happy to use a material that doesn’t insulate as well, as long as it is clean.

I found this short strip of gray/black foam padding lying around my house among my daughter’s things.  She had no recollection where she acquired it and believed she might have another piece somewhere.  My MakerBot Cupcake CNC came with a large amount of this kind of padding – but it was pink.  I didn’t have any of the pink stuff left over, otherwise I would have used it in place of the cardboard as the insulating material for my DrawBot’s stepper motors.

So – do you know the name of this foam padding?  Do you know where I could pick up a few square inches of it to use as a sound/vibration insulator for my DrawBot’s stepper motors?

Default Series Title

DrawBot – Printed Parts Tour

Drawing Robot - Preview

Drawing Robot – Preview

This is going to be another long in-depth post about my Arduino powered drawing robot.  If you’d like to know more about how to build one yourself, please help me out by filling out my DrawBot poll.  And, if after reading this post you find you want to know even more, be sure and check out the 68 preceding posts about the exact same topic, all listed in order at the end.

While you can build a drawing robot from 95% scrap, it does look better if you have the ability to design and print your own custom plastic parts.  While I’ve discussed my designs for the spools, stepper motor mounts, filament guides, bolt endcaps, and the pieces I use to hold the Polargraph case in place and I’ve taken you on a tour of the robot, I haven’t actually shown you how all the parts fit together.

While I’m quite happy with how everything has turned out, I haven’t had a chance to fire up the robot and actually try a drawing.  Once a few parts arrive from Sparkfun, I’ll be ready to give it a whirl.  Until then, please forgive me for not sharing these designs yet.  It’s less out of a desire for perfection1 and more out of desire not to strand some poor soul with some flawed printed parts.  Thus, I beg your indulgence a little longer.  Until then, I’d like to show you how all the bits I have so far work together.2

Filament guide and bolt covers

Filament guide and bolt covers

On the bottom left of the above picture you can see the filament guide – with filament helpfully sticking out of it.  Just to the right of that you can see two bolt covers/endcaps.

The filament guides ((One on the left, one on the right side)) serve several important purposes.  First, the monofilament line does not squeak when running through the smooth plastic filament guide as it does through a hole drilled in a piece of wood.  Second, it ensures that the two ends of the filament are always at a constant, precise distance from one another which is important for accurate and repeatable drawings.  Filament that is just spooling on and off can change position on the spool by a comparatively large amount.3 Third, the filament guides allow me to make sure the filament is flowing out of the box very closely to the back/bottom of the box – to help keep the pen holder/gondola against the wall.  Fourth, they just look nice.

The bolt endcaps serve some practical and aesthetic purposes.  Without these endcaps, the M3 bolts on the inside of the project box would protrude outside of the box beyond where they meet the 3mm nuts.  The protruding bolts can scratch or puncture and also make the overall project look a little raw.  One minor benefit to using these caps is that the force exerted by the bolt and nut as they are tightened against each other is spread out across the area underneath the endcap, leaving less marks on the project box.

For a project that could be easily disassembled, it would be interesting to create a variation on these plastic endcaps that essentially turned them into wingnuts.  As you will note from the upcoming pictures, many of these parts were specifically designed to make modular assembly/disassembly/modification a breeze.  Having had to pull these parts apart and reassemble them for these photos, I can assure you that taking everything to pieces and putting them back together is a cinch.

Exposed filament guide and stepper motor rail

Exposed filament guide and stepper motor rail

In the photo above you will see the filament guide once I’ve pulled it out of the hole in the project box.  I believe all I did was drill a 1/4″ hole, design the part to fit, press-fit the guide in place, and run the monofilament line through the guide.  I had to re-print these since the first pair was just a little too short.  Ideally the guides should just barely stick out from the project box, so that the monofilament never has to come in contact with the wood.

Once I get the ‘bot up and running, I plan to try using some endstops for automatic homing and printing.  I’ve seen several drawing robot designs that use metal contacts or simple switches to help the ‘bot automatically home before printing.  I think I prefer the style where metal contacts would go around the filament guides at either end, as they are less obtrusive on the exterior of the project box.

Just to the right of the tiny filament guide, you’ll see the plastic rail that I’m using to mount the stepper motors.  There are holes in that long plank of plastic with recesses for the M3 boltheads.  This rail or track or slide is held in place quite firmly by just those two bolts.  Once the rail is in place, the motor mount can be slid back and forth.  It’s a tight fit and would probably stay in place by itself, but why leave things to chance?  The motor mount includes a bolt and captive nut behind the motor, so that it can be tightened against the rail.

Stepper motor, fully installed

Stepper motor, fully installed

In the photo above you can see the stepper motor completely installed.  It’s not much to look at, but I rather like it.  You can just barely see the bolt just behind the motor that I use to keep the mount on the rail.  The setup is pretty solid and more than enough for the amount minor operational stresses they will endure.

Stepper motor, bolt loosened and off rail

Stepper motor, bolt loosened and off rail

In the above photo you can clearly see the top of the filament guide sticking out of the project box, the motor mount removed from the rail, the loosened bolt I use to keep the mount tight against the rail, and the corrugated cardboard I’m trying out for sound insulation.

Stepper motor off rail and spool off motor shaft

Stepper motor off rail and spool off motor shaft

In this view you can clearly see the bolt in the side of edge of the spool I use as a “set screw.”  The end of the spool has to be as thick as it is in order to accommodate the captive M3 nut.  While the other end of the spool does not have to be nearly as thick, I designed it to be symmetrical.4 You’ll also notice that the spool is not tapered on either end.  I designed the spool to be a two-piece bolt-together design.  This has the beneficial side effect of allowing me to trap the end of the monofilament line between the two pieces, rather than using a knot in the filament or some other such fix. ((OCD again))

End of spool

End of spool

Above you can see the end of the spool.  This is the part of the spool facing away from the motor.  Since I didn’t want the spool to be too unbalanced5 I didn’t want to use just one bolt on one side of the motor shaft.  I couldn’t use one bolt down the middle, since it would make the entire spool much longer than necessary.  Given that I was trying to make wide-diameter spools anyhow, it was little hardship to add a way to bolt the spool together on each side.  The end you see has two hexagonal holes to fit the M3 nuts and the other end has long holes going most of the way through, specifically designed to work with some of the M3x16 bolts I have lying around.

Paper roll mount

Paper roll mount

The paper roll mount system you see above were actually the first plastic parts I designed and installed into the project box.6 The entire assembly is pretty solid.  You’ll notice I used another set of bolt endcaps to keep the bolt threads from sticking into the project box.  While I didn’t anticipate them scratching or puncturing anything inside the box, I do really like the way they look.

Paper roll mount, disassembled

Paper roll mount, disassembled

Above you can see the paper roll mount system disassembled.7 The bolt is simply loosened, allowing the piece of plastic which has a circular hole for the wooden dowel to slide back, in turn allowing the paper roll to be removed easily.  You’ll note that the paper roll does not have any kind of cardboard core, as a roll of wrapping paper might.  This is why I had to create the thin endcap for the paper roll.  It serves to keep the paper roll centered on the dowel while preventing the paper from slipping from side to side.  The plastic rail for the paper roll mount is the same exact rail, only slightly shorter, that I used for the motor mounts.

PolargraphSD case installed

PolargraphSD case installed

When I designed the PolargraphSD case, I was mostly concerned about creating a case that didn’t use a lot of plastic and which could be easily mounted.  What I didn’t take into account was how I would end up mounting it to the inside of this particular project box.  In the end I had to design two plastic parts that would connect to the PolargraphSD case.  The beneficial side effect is that now the entire case is set off from the back/bottom of the wooden project box by the thickness of an M3 bolt head on each of the four corners.  It remains to be seen whether the vibration of the stepper motors would case the case to rattle.

Don’t forget to take a minute and fill out my DrawBot poll so I’ll know what to blog about next!

Default Series Title
  1. Perfection is the mind killer.  Perfection is the little-death that brings total obliteration. []
  2. Well, hopefully work together []
  3. I would estimate perhaps 10mm or more, depending upon your spools []
  4. Such is OCD []
  5. Like it’s designer []
  6. Sorry for the grainy photo []
  7. Hence, the caption []

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 []

Arduino Powered Drawing Robot Poll

Arduino Drawing Robots - what would you like to know?

View Results

Loading ... Loading ...

Thanks for checking out my DrawBot Adventure Series.  For the last 13 months I’ve been blogging all about my adventures in learning basic Arduino skills, basic robot building skills, applying my limited soldering skills, talking about my numerous fails and occasional triumphs, in building a drawing robot.  So far I’ve racked up 66 blog posts about drawing robots (which is about 5/month) and shared all of my designs and improvements1 freely on Thingiverse.

But, this is really just me typing up stuff as it occurs to me.  I would rather write a bunch of stuff you want to read.  So, I would really appreciate it if you could take a minute and let me know – what do you want to know about awesome Arduino powered drawing robots?  Please take a quick moment and let me know.  If you don’t see an option above that suits you, please leave a comment.

After you’re done, you may want to check out some of the posts in the series in the links below!  I’d suggest starting here.

Default Series Title
  1. And one epic fail []

DrawBot – A Preview

Drawing Robot - Preview

Drawing Robot – Preview

Unfortunately, it will be a few more days yet before I can completely finish the drawing robot.  I still need to order some rainbow ribbon cable and connects, wire up the motors, and then actually draw something with the brand spanking new PolargraphSD brain.  For now, please just ignore the mess of wires and the superfluous Arduino + Adafruit motor shield in the middle.  The blue tape on the paper roll is just there to keep it from unfurling.

As you can see, the project box looks so much better without all the clutter inside.  Once I’ve gotten everything all set up and tested, I plan to add some internal wire guides to keep the wires in check.  That should help the whole project look a lot more clean and pleasing.

I’m fighting my perfectionist1 to keep printing and reprinting parts.  I had the idea to have dualstrusion printed spools.  I know from experience that rotating single color spools don’t look all that much different that from non-rotating single color spools.  A spool with a dualstrusion pattern embedded in it would provide some kind of interesting visual confirmation that the robot was operational.  Then again, I do like having a very monochrome project – unpainted, unvarnished wood, black ABS plastic, and black oxide bolts.2

You can see above that I’ve already drilled a rough hole into the right side of the box to route the power cable through.  There’s just enough clearance in that hole to allow a USB-B cable to go through as well.

I’ve tried to use a very modular system that allows me to loosen and tighten parts in place with a single bolt.  While making minor adjustments here and there, this system has been amazingly useful.

I’ve taken several more pictures of the various plastic parts and how they fit together.  I’ll post about these shortly.3

Default Series Title
  1. Yes, I do have some perfectionist tendencies… []
  2. Except the shiny M3x8 bolts used to mount the motors.  I wish they didn’t bother me as much as they do. []
  3. Well, to be perfectly accurate, I’ll post about these plastic parts soon.  If you’re a regular reader of the blog, you’ll note that few of the posts could be legitimately described “shortly.” []

DrawBot – A Tour!

Dual use project box

Dual use project box

Above is a picture of my drawing robot, still a work in progress.  The great thing about this particular project box is that it also doubles as a work area.  It’s a good place to cut and strip wires, solder, assemble parts, and it’s totally portable.  The box is 3′ long, 8″ high, 2″ inches deep.

  • A. Printed Bolt Covers.  An M3 nut goes into the recess and the end of the bolt is covered by the printed part.  One of these goes over every one of the protruding bolts in the project box.
  • B. Printed Paper Roll Mounts, on a Slide.  These are actually three separate printed parts.  Since the paper roll came without a cardboard tube, I put a wooden dowel down the center, with printed plastic caps on either side to hold the paper in place.  There are two printed holders which the wooden dowel slot into.  Each of the printed dowel holders slide left and right on a track and have a bolt that can be tightened to keep it from moving.
  • C. Paper Roll.  After looking in a few craft stores I finally found a big long roll of paper at Staples of all places.  I think it was marketed as paper you would use to cover a table.  It’s thin paper, but there’s a lot of it and it was really cheap.  With no internal cardboard tube, I had to design endcaps to keep it from wobbling all around.
  • D. Maker Faire Application.  I’m hoping to display this robot at Maker Faire Bay Area 2013.  Since the call for Makers hasn’t gone out yet I just downloaded the Maker Faire New York 2012 application and filled it out.  Now when the call for Makers comes, I’ll be ready.
  • E. Wire Cutters and Pliers.  These are just necessary tools.  When I need something to hold tiny parts I wrap a rubber band around the pliers and they’re a tiny vise.
  • F. Printed Spools.  Two printed plastic parts plus three nuts and bolts.  Definitely overengineered, but they don’t have the weaknesses of a single print spool.
  • G. Motor Bolted to Motor Mount, on a Slide.  The motors are bolted to a plastic mount with a groove.  The motor mount is then slotted onto the slide which is itself bolted to the actual project box.
  • H. PolargraphSD in a Printed Case. I designed and printed the case.  The way it is mounted to the project box, it is slightly offset from the box, which gives the circuit boards extra ventilation.
  • I. Stick Lighter.  I used this stick lighter to heat the heat shrink.
  • J. Heat Shrink.  Lots of heat shrink in varying colors and diameters.
  • K. Printed Gondola.  This is John Abella’s gondola.
  • L. Soldering Iron.  A cheap soldering iron.
  • M. Adafruit Motor Shield on an Arduino Uno, in a Printed Holder.  Well, that about says it all.  I would point out that the printed holder is pretty terrible – it’s just a little too small.  The only reason I put the Arduino and shield in the box was so that I could hook up the motors and make sure everything was still in operating condition.
  • N. Big Container of Zip Ties.  Zip ties are useful.
  • O. Solder.  For soldering.
  • P. Monofilament Guide.  You can’t see it, but there’s a little plastic tube that fits into a hole drilled through the wood project box.  It’s much smoother than wood and works great.

I’ve taken a lot of detailed pictures of the various parts and how they go together, so that comes next.

Default Series Title

Sourcing DrawBot Parts

This can be a surprisingly good place to shop for robot parts

This can be a surprisingly good place to shop for robot parts

I’ve previously discussed sourcing the main electronic components for a drawing robot.1 Since there’s more to a robot than just the electronics that make it work, I thought I would list my other resources in one place.

  • Electronics.  The electronics are the brain and heart of this project.  There’s really only two parts that could not be found or scavenged – these parts being the Arduino and the Adafruit Motor Shield.
  • Project Box. I’m using a long thin pine box left over after a huge catering party platter order. Frankly, you could mount the parts on nearly anything – a 2×4 or a nice custom box – it’s entirely up to you.  Heck, you could even screw these parts directly into a wall if you were feeling particularly adventurous.

  • Structural Parts.  Besides these main components, it’s really really useful to have a 3D printer to manufacture all the parts necessary to make it all work.  Motor mounts, spools, etc.  If you had a laser cutter or a ton of quick-set plastic, you could probably fabricate perfectly serviceable parts.  The parts I’ve designed are ideally suited for my own project, could be modified for your own project, or you could just design some parts from scratch.
  • Hardware.  There are also all the little bits of hardware to hold everything together.  I still have a ton of M3x16 bolts and M3 nuts left over from building a Cupcake CNC and Thing-O-Matic.  Besides these M3x16 bolts and M3 nuts, I did use two screwhead M3x16 bolts to hold the Polargraph case in place and eight M3x8 bolts to attach the two motors to the mounts.
    • McMaster has a truly amazing website.  Even if you want to build a drawing robot and have zero parts on hand, you could pick up all the hardware you need from them super-cheaply.  Update:  The only thing I don’t care for about their website is that they don’t have a way of getting an estimate on shipping.  Among McMaster’s virtues is their amazingly responsive customer support.  I just asked them for a shipping estimate on these parts and they got right back to me.  You could pick up a set of 100 nuts, 100 M3x16 bolts, and 100 M3x8 bolts for about $6.  This is an absolute bargain for way more nuts and bolts than you’ll ever need for this project.
    • Chances are if you really had to you could use whatever bits of hardware you can find lying around your place.  I’ve seen examples of similar drawing robots using zip ties to hold the motors in place.
  • Electronic Bits.  I still need to track down some rainbow colored ribbon cable and connectors.  While I do actually have all the pieces of scrap around my home to finish the robot right now, I don’t want to do this half-way.  I want to use a rainbow ribbon cable because (a) I need to extend the motor leads to reach the circuit board, (b) it would be very helpful to have each lead color coded separately, and (c) they’re really pretty.  As for the wire connectors, all the other parts to my setup are very modular and it would be very nice to have the electronic connections just as modular.  After searching around, I found that Sparkfun has all the little pieces I need to finish this project.

I recently had a very unsatisfactory experience trying to source some parts locally, so I”ll be placing an order for some ribbon cable and jumper wires from Sparkfun.

Default Series Title
  1. Photo courtesy of Jes []
  2. This is the type I have left over from building my MakerBots []