Drawing Robot Penmanship

Not a robotic pen holder

Not a robotic pen holder

Until very recently, I had only considered a drawing robot’s pen holder maintaining the pen at an angle to the drawing surface as an obvious and positive thing.1 I have now been cured of such illusions and understand that when the pen is mounted at something other than perfectly perpendicular to the drawing surface, it is possible for the pen tip skip or stutter across the drawing surface.

I’ve already droned on at length about the various ideal attributes I considered while designing a pen holder.  In light of this new important attribute of pen tilt other than perpendicular causing pen skipping, would I modify my design?

It probably depends.

First let’s consider what causes the skipping itself.  It seems to occur when the pen holder moves faster than the pen tip “wants” to be dragged across the drawing surface.  The result is that the pen tip tilts slightly with an upward movement instead of drawing upward for a short distance, then the pen holder swings a little to compensate for the upward jerk, then the pen tip skips upward – leaving a gap the pen tip skipped over. (I feel like I”m not explaining this well…)

Once I read that post by Dan, I did some half-scientific tests.2 I dragged the pen holder around on the drawing surface.  This is not even close to an operational simulation because I’m sure I didn’t keep the pen steady and the pen holder would almost never move that quickly.  I found that when the pen was moved very quickly upwards, the entire pen holder would indeed skip.  I tried the same “experiment” again after having adjusted the pen so that it was perpendicular to the drawing surface.  This time the pen still skipped – just a little less than when it was at a 15 degree tilt in the pen holder.  However, the pen I was using was a big marker.

Setting aside the pen tilt for a moment, I can’t think of any other benefits besides skip-reduction behind putting the pen perpendicular to the drawing surface.  The next thing to consider is whether all pens skip equally.  Not having actually performed a specific test to determine this, and speaking only from experiences in using different pens, I would suggest that not all pens skip equally.  Specifically, good ball point gel based pens do not appear to skip when operated very quickly.  In fact, running a gel based ball point pen seems to work quite well since it seemed to keep the itty-bitty ball inside the pen tip moving, which keeps the ink flowing.

I would suggest that the desirable pen holder tilt would depend upon (a) pen holder speed and (b) type of pen possibly as follows:

Marker, perpendicular Ball Point Pen, perpendicular Marker, tilted Ball Point Pen, tilted
Fast Pen Holder I would hypothesize a fast moving marker is going to skip whether it is mounted perpendicularly or not.However, from a semi-scientific test, I a tilted marker would skip a little more.  It is important to note that a marker will draw equally well whether it is perpendicular or tilted. First, gel ball point pen will quickly stop being able to draw ink if it is not held at a tilt.  A non-gel ink ball point pen might not have this problem since at least some of the ink comes through via capillary action.Either way, drawing perpendicularly is a problem for ball point pens.  However, since their tip makes a small point of contact with the drawing surface, they don’t seem to suffer from skipping problems, even at high speed. I don’t think a marker held at an angle is going to draw lines any better or worse than one that is held perpendicularly.However, my limited testing suggests that markers drawing at an angle quickly will skip a little more than quick drawing markers held perpendicularly. I suspect a ball point pen of almost any kind would work well if drawing at an angle.  Almost every single drawing made with my first drawing robot was done with ball point pens operating at about a 30-45 degree angle.Admittedly, that robot never drew very quickly, but then again I never seemed to have problems with skipping.
Slow Pen Holder If a pen holder with a marker is moving too slowly, the result will be ink bleeding all over the drawing and through the paper and pens that dry or run out too quickly.  It’s really quite a mess.I suspect that running any marker too fast is going to cause skipping problems – whether it is at an angle or not.  A marker’s tip either starts out much wider than a ball point pen, or it will end up that way after hours of drawing and being dragged across a large sheet of paper.  In my experience, using a marker in this fashion will basically make the marker unsuitable for any other purpose. With the caveat that pretty much any kind of ball point pen is going to have a difficult time drawing perpendicular to a vertical drawing surface, I would posit that moving the pen slow-to-medium would result in gaps in the drawings.  However, I think those gaps in the drawing would likely be more due to the ball point pen not have sufficient friction to keep ink flowing consistently. A slow moving marker makes about as much of a mess as an oil spill.Even assuming a medium-speed marker, I don’t think skipping would be that big a problem as long as the pen was not tilted at too severe an angle. A ball point pen could probably be operated anywhere between slow and fast.As long as the pen is moving relatively continuously, a ball point pen should be able to provide a continuous stream of ink.

Taking into account the potential for skipping, I would suggest based on the analysis above, that skipping is a problem for markers no matter the angle and largely irrelevant for ball point pens.  I would also suggest that a very slight pen holder tilt of 15 degrees is extremely helpful, if not crucial, to ball point pens and mostly irrelevant to markers.

Hey Dan, what do you think?

Last but not least, this is post #80 in this DrawBot Adventure Series!  And there’s still so much to cover!

Default Series Title
  1. Photo courtesy of Creative Tools []
  2. Which, I suppose is not much better than not-scientific… []

DrawBot Pen Holder Post Mortem

Yoda, standing tall

Yoda, standing tall

Two days ago I designed a new type of pen holder for my drawing robot based upon what I had learned from examining the pen holders other people have designed and used.

Here’s what worked and what didn’t:

  1. WORKED:  The fit.  I’m really happy with how the pen holder went together.  It’s always very satisfying to print a part you just designed and have it “just fit.”  With the zip tie holding the micro servo in place, neither the micro servo tab nor the zip tie protrude beyond the flat surface of the pen holder.  The groves for the rubber band to hold the pen in place work very well.  The pen doesn’t move side-to-side, get pushed back into the holder, and it is very easy to reposition the pen or change pens entirely.  While it’s not as elegant as, say, a metal spring, it works very well and doesn’t require a bunch of moving parts.
  2. WORKED:  The amount and placement weight.  I hot glued a AA battery to either side of the pen holder, as close to the center as I could manage around the hole for the pen.  This weight seemed to work perfectly.  There was enough weight that the cords hung in straight lines, but not so much that it seemed to cause a strain on the motors.  The placement of the weights seemed to work well as there was no noticeable pendulum swinging of the pen holder, despite me running the robot at about three times it’s usual top motor speed and about twice it’s normal acceleration.1
  3. WORKED:  The multiple points of cord attachment.  Having a row of holes for connecting the cords at different points along the top central edge of the pen holder worked out great.  To test the balance all I did was stick a small paperclip through a hole.  If the holder balanced with the flat edge upright and vertical, that’s the point I needed.  It was easy to find the balance point and easy to connect the cords.
  4. WORKED:  The single point of cord attachment.  When I was using a crappy cardboard pen holder with cord attachment points very far apart, the entire pen holder would tip to one side or another when it got close to that side.  This caused a bubble-like distortion effect towards the edges of the drawing.  While this could be a cool effect to intentionally inflict on a drawing, it’s not what I was going for with that crappy cardboard design.  Having the two cords meet at exactly the same point worked out incredibly well.  Even when the robot was drawing the top left corner of Yoda’s lightsaber, the pen holder was always perfectly vertical.
  5. WORKED:  Shape of pen holder flat side.  The pen holder I’ve designed is roughly teardrop shaped, with a flat top.  My thought with giving it a “flat top” was that it wouldn’t potentially develop a central raised point (between the circular top edge of the pen holder and the device I was using for the pen lift) when I was doing a pen lift.  I figured that if I was using a “flat top” it was possible for the pen holder to be balanced on the edge of the flat top and the point of the servo arm – essentially turning my full contact pen holder into a three point contact pen holder with the servo arm as one of the points.
  6. DIDN’T WORK:  Motor skipping?  There is a large section in the middle of the drawing of Yoda, pictured above, that looks like it was shifted downwards slightly.  This could have been because I was fussing a little with the robot while it was working.  It could also have been because I was running the robot pretty fast (motor speed of 1600 when the normal is 600), because I had increased the acceleration (400 instead of the default 800), because I had the pots turned down too low (maybe, but the current settings have worked reasonably well for other drawings), because the pen holder was too heavy and causing too much strain on the motor (very unlikely since this holder is lighter than the cardboard abomination I was using) or some combination thereof.  My guess is that I probably need to increase the pots when I increase the speed.  It’s really unlikely that the pen holder itself was to blame for these missteps.2
  7. DIDN’T WORK:  The pen lift.  I haven’t drawn anything with a pen lift yet – but I did test the pen lift last night after Yoda was done.  I noticed a few minor problems with the pen lift – but nothing to indicate I was on a completely wrong track.
    1. The first problem is that I glued the two batteries slightly too close to the clearance area for the micro servo arm.  This is why the next version will include a holder for the AA batteries – to ensure they don’t get in the way.
    2. Second, even when fully extended the servo arm didn’t push out far enough to cause the pen tip to lift off the surface of the paper.  This could be solved by either making sure the pen tip is positioned slightly farther back, extending the servo arm, or creating a servo arm powered cam, similar to Dan Royer’s Makeangelo (check out the video at about 4:35 for a view of the cam in action).
    3. Third, my concern is that since the micro servo is mounted in such a way that the servo arm sweeps from right to left, it could cause a similar sweeping motion to be applied to the pen tip – assuming I work out the pen tip depth issues.  It’s possible that sweeping the arm upwards or downwards might minimize this effect.  I just have no idea whether this is a valid concern or not – the servo arm might move so quickly that it’s not a real concern.
    4. Also, while not an actual issue, the servo motor cable applies a bit of weight to the pen holder.  This will require me to reposition the cord attachment points – and may require me to add extra weights to the pen holder itself.

Once I change the pen position and maybe use a larger servo arm, I’ll try a vector drawing which requires pen lifts and re-evaluate this design.  Overall, this design has basically worked beautifully.  I’m looking forward to experimenting with some new variations on the design to see if I can eliminate the few remaining issues.

Default Series Title
  1. I’ll pretend I was doing this for a system stress-test, but really I was impatient to get a big giant Yoda drawing []
  2. Does that count as a pun? []

Fire the DrawBot!

Last night I connected my newly designed pen holder to my finished drawing robot and attempted a relatively “quick” drawing of Yoda.  I say “quick,” because it only took about two hours.  The one lone trade-off for having an cheap and easy to build robot capable of essentially unlimited drawing sizes is that it can take a long time.  I took several photographs of my robot while it was drawing and turned them into an animated GIF, featured at the end.

Finished and mounted robot, with old pen holder

Finished and mounted robot, with old pen holder

Above is the robot itself, mounted to the wall.  I’ve made two minor changes to this setup since that photo, detailed just below.  First, I’ve placed a large sheet of sacrificial cardboard under the paper so that any pen leaks will not mar the wall.  Second, since the “home point” (exactly 130mm down from the exact midpoint between the two spots where the cord leaves the project box) is hidden by the paper when I pull it down, I needed a way to be able to center the robot without having to re-measure the home point each time.  My solution was to take a small piece of leftover plastic about the size of a pinhead and tape it to the home point on the cardboard.  Now, I can feel the home point through the sheet of paper and center the pen holder accordingly.

Home point for centering the pen holder

Home point for centering the pen holder

It’s a little difficult to make out in the photo above, but you can see the two big arrows pointing to the home point and a slight bulge in the tape caused by the small plastic speck.

Brand new pen holder, assembled

Brand new pen holder, assembled

This picture shows the pen holder fully assembled.  I operated it the first time without the benefit of a servo motor cable.  I wanted to see if the pen holder would work well.  Once the drawing was about 2/3 done and I was pretty happy with the pen holder’s operation, I soldered up a cable to connect the servo lift port to the servo motor.

Drawing robot in action

Drawing robot in action

The above animated GIF is comprised of eight separate photos from my digital camera on a tripod, combined in GIMP.  I’ve never to make an animated GIF from a series of photos, but it very quick and painless.  Since video takes up a lot of space and battery power, I figured a series of photos would be the easiest way to create a “time lapse” of the robot’s operation.  You don’t get the low drone and hum of the motors, but you can see how it operates.  Now that I’ve done one, I’m looking forward to making more of these.

Yoda, standing tall

Yoda, standing tall

And here is Yoda!  As you can see from the ruler next to him, he’s about 35 inches tall from the tip of the lightsaber to his feet.  There’s a “band” of the drawing that appears to be shifted downwards slightly, causing a little overlap at the bottom of that region and a slight gap above.  This is probably due to me fiddling with the robot, but it could also be due to the motors slipping or skipping slightly during operation.  If it was due to me fiddling with the robot, then the fix is simple – I just need to be more patient.  If it was due to the motors skipping steps, then turning up the pots just a little would probably fix that.  Given that this is the very first drawing from my very first draft of a new pen holder, I’m really happy with the result.

Ideal Qualities in a Drawing Robot Pen Holder

Even something as cool as this...

Even something as cool as this…

In my last post I tried to list off as many uniquely designed drawing robot pen holders as I could find.  The reason for documenting them as I did, and pointing out certain design choices, was to help me identify ideal qualities in a drawing robot pen holder.  Before I dive too far down this rabbit hole, I should mention that Stuart Childs has an excellent post on his site discussing the particular challenges faced by those who seek to design a pen holder.

Before we can talk about how what makes a good pen holder, we have to agree on some of the terminology:

  1. Pen holder.  This is just the device that holds the pen and hangs down against the paper for drawing.  While it is sometimes called a “gondola,” I’ll refer to it as “pen holder” in this post.
  2. Cord.  Different drawing robots use different methods for controlling the gondola.  Some use monofilament fishing line (as is my preference), others use toothed belts, some use beaded cords.  For ease of reference, I’m just going to use the word “cord” to refer to whatever method might be used to connect your pen holder to the motor spools/sprockets.
  3. Hanging triangle.  When you draw an imaginary line between the two stepper motors, the cords from each motor meet at a point on the pen holder, forming a triangle pointing downwards.1
  4. Cord convergence point.  The “cord convergence point” is the, sometimes imaginary, point where the two pieces of cord meet to form the tip of the hanging triangle.  Many times the cords don’t actually physically meet.  In those cases, the “cord convergence point” would be the point where the two cords would meet if both cords were perfectly straight lines that continued through their point of attachment to the pen holder.
  5. Up / Down / Left / Right.  These directions will assume your robot is mounted to a wall/large sheet of plywood and you are facing the wall.  ((This could cause a mention of a “pen up” to be confusing, so I’ll try to avoid this phrase))
  6. Forward / Back.  Again, assuming you are facing a wall on which the robot is mounted, forward here would mean going towards the wall and back would mean moving away from the wall.

Without further ado, a list of ideal qualities in a drawing robot pen holder.  While not in any particular order, I’m listing them by number for ease of reference later.

  1. Secure pen holder.  The pen holder must, as you might imagine from it’s title, hold the pen used for drawing.  If it doesn’t hold the pen securely, you’ll get squiggly lines when you don’t want them and really squiggly lines when you only want somewhat squiggly lines.  It is important to note that a pen should be held securely so that it doesn’t move around left/right/up/down or back and forth.  Even if a pen is held securely with respect to left/right/up/down, it could still accidentally be pushed back (or, I suppose get pulled forward?) causing the pen to not touch the drawing surface (or always touch the drawing surface) despite pen lifts.
  2. Adjustable pen holder diameter.  An ideal pen holder should be able to hold a big fat marker or a teeny tiny marker.
  3. Adjustable pen position.   I’ve noticed that some pens are a lot narrower near the pen’s tip.  Thus, some pens will need the pen tip to be closer or farther from the wall, depending upon it’s own characteristics.
  4. Adjustable tilt to pen.  Although markers can pretty much draw at any angle, other pens (such as ball point or gel ink) just won’t work when they’re nearly horizontal.
  5. Incorporate a micro servo.  Single line drawings are really awesome – but with the addition of a micro servo for pen lifts, the robot becomes infinitely more versatile.
  6. “Depth” of pen holder.  Just to choose a term, this would be the distance the pen holder sticks out from the wall.  To strain the metaphor, the “shallower” the pen holder the less it can tilt or tip front/back or up/down.  Conversely, the “deeper” the pen holder, the more it could tilt or tip as it moves.
  7. Distance of center of gravity from wall.  This is an interesting one.  When I started building my robot, I thought the best thing to do was to have the wires leave the project box as close to the wall as possible – so that they would “encourage” the pen holder to hang closely to the wall.  Then I realized that it was actually equally important to achieve a balance of the pen holder.  With most of the considerations here, I can pretty much determine whether it is better to choose a configuration one way or the other.  Unfortunately, with this issue, I can’t decide whether it is better to have the pen holder’s center of gravity close or far from the wall.  Of course, not knowing won’t stop me from pontificating, eh?
    1. First, let’s agree there’s no apparent benefit to having a pen holder designed so that it is “deep” and balanced such that the center of gravity is farther from the wall.
    2. Second, the only apparent benefit I can think of to have a “shallow” pen holder is that it might reduce tipping/tilting somewhat.
  8. Adjustable line attachment points.  As the weight of the pen holder changes, so would it’s center of gravity.  Thus, the attachment points should also change.
  9. Adjustable weight.  Weight is one of the more finicky variables.  If the pen holder is too heavy, the motors will have a harder time, require more power, and be noisier.  If the pen holder is too light, there may not be enough pressure against the drawing surface, the cords may not be held taut (and thus will not behave as the program expects them to), it won’t be as responsive to the tugging of the two cords, and will tend to tip up or down or bind against the wall.
  10. Balanced pen holder.  An ideal pen holder should be balanced so that it doesn’t want to tilt left/right, up/down, or forward/back.
    1. In this video from Darcy Whyte’s site you can see how a pen holder that appears to not be balanced well tends to tilt or tip in response to a change in direction – essentially pivoting around the pen’s tip.  When this happens the pen either doesn’t move as much as the program expects causing certain features to be too short or the lines and curves drawn will appear to have a “stuttering” quality caused by the pen not moving with the cord because the pen tip is binding against the wall and then releasing suddenly and going too far.
    2. I used to think it would be more advantageous to have slightly more weight on the forward side of the pen holder – now I’m not so sure.  What I used to think was that by having the front end of the pen holder heavier, it would somehow exert more force on the wall.  However, there really isn’t any logical reason this should be the case.  Or, until I put a force sensor on the wall and test it, I don’t think I can claim this to be the case.  Watching videos of drawing robots and my own drawing robot in action, I now think that a very light touch on the wall might be more ideal.  Let’s assume any decent pen, especially markers, aren’t going to require a lot of force to leave a mark.  The more force with which the pen is pressed against the wall, the more likely the pen tip is to bind against the wall and draw stuttering lines or lines that are too-short.  Meanwhile, a very well balanced pen holder that is lightly pressing against the paper should not bind at all, resulting in more accurate lines.
  11. Points of contact.  There are any number of different designs for pen holders.  Some of them only touch the drawing surface with the pen tip (like the Der Kritzler, AS220 Labs and GarabatoBot), while others tend to have three points of contact (such as Makeangelo 1 & 2), and some basically have a large wide flat surface which meets the drawing surface (Polargraph, Mr. Drew, and DRBO).  My original mis-use of John Abella’s pen holder design actually had two points of contact – the pen tip and then the sack of batteries that hung from the holder.  A few comments about these different styles:
    1. One point of contact.  This single point of contact will always be either the pen tip or device used to create a pen lift.  Either way, the resulting pen holder can easily tilt left/right, back/forward, up/down, or any combination no matter how well balanced.  If you’re going with a single point of contact design anyhow, I suspect a well balanced and “deep” pen holder might work best.  Here, by deep, I mean a pen holder that sticks out from the wall.  My suspicion is that dialing in the pen’s balance, you might be able to achieve a favorable angle of pen-to-paper.  Having a “deeper” pen holder would allow more room for the robot operator to adjust the cord attachment points.
    2. Two points of contact.  This is just a bad idea – just don’t do it.  The way I implemented this involved a weight hanging below the pen tip.  When the pen moved too fast, the weight would swing causing a pendulum like wobble in the drawing.
    3. Three points of contact.  This seems, intuitively and by observation of Dan Royer’s videos, to be a stable pen holder design choice.  The two extra points of contact (in the case of Dan’s Makelangelo below and to either side of the pen tip) prevent the pen holder from tilting back/forth, left/right, or even up/down.  A three point of contact pen holder could still have a sway left/right problem, but that’s so bad if it means you’re eliminating all that tilting.
    4. Full contact.  This setup, like the three point contact, eliminates any form of tipping and is possibly less susceptible to left/right swaying.  Unlike the single point of contact setup, I think this kind of pen holder might benefit from being shorter (as in doesn’t stick that far out from the wall)

      ...can be drawn by something as ugly as this

      …can be drawn by something as ugly as this

  12. Cord attachment points.  There appear to be about several different ways of approaching cord attachment to the pen holder.
    1. The cord convergence point is exactly at the pen tip.  This kind of setup requires nice big bearings or metal tubes that allow the cord attachment points to rotate around the pen tip.  As the angle where the two cords meet changes, the two cord attachment points rotate to accommodate.  Getting the cord convergence point to be centered on the pen tip is much more complicated to design and expensive to build.  Look to the Polargraph and Ragnar drawing machine for examples of this type of design.  This is particular design choice does not introduce any distortion.
    2. Off-center but close together.   This is a very simple and extremely common method of cord attachment.  Each cord is connected to the pen holder a little to the left and a little to the right of center with the pen usually a little below that.  As long as the two cord convergence points aren’t really far apart, this method will introduce very little distortion.  Additionally, by having the two cord attachment points separate, this kind of pen holder enjoys a little extra stability.
    3. Single cord convergence point, not at the pen tip.  I have not been able to find any pen holders that use this method of cord attachment.  It would basically involve using a single point of cord attachment, either by simply tying the two cords to the same point or by using two pivoting arms as with the Polargraph or Ragnar drawing machine.  Rather than the pen tip being at the same point as the cord convergence, the pen tip would be at some point a constant distance and position from the cord convergence point.  I think the reasons this type of holder isn’t seen is that it is so easy to build an “off-center but close together” style pen holder, any distortion with the “close together” method is extremely small, and having the cord attachment points separate provides the added benefit of a little extra stability against tilting.  However, as long as stabilizers (three point of contact or full contact) are used, there shouldn’t be any reason not to employ a single cord convergence point.
    4. Devil-may-care.  The big Deathstar at the top of the post was drawn by the ridiculously crude pen holder pictured above.  Even with the cord attachment points being 120mm apart, the results are really great.2 Building a pen holder with this design choice will introduce some distortion.  It’s unlikely someone is going to be as foolish as I was to build a pen holder with cord attachment points as wide as 120mm.  However, even in such an extreme case, the distortion was shockingly small.
  13. Location of weights.  While I haven’t done any tests on this, I’m fairly certain that having the weight of the pen holder as tightly packed around the cord attachment point as possible is most advantageous.  The last thing you want is for an off-center weight to cause the pen holder to sway during a direction change.

Enough talk!  I think it’s time I start actually designing a pen holder!

Default Series Title
  1. This is a term I only learned today from the context of Sandy’s comment in an earlier post.  This term is just so perfect and useful in describing drawing robot set-ups, I just have to include it here. []
  2. Unfortunately, the Sharpie started to run out of ink about 2/3 through the picture, which does detract from the drawing somewhat. []

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

Overengineered Stepper Motor Mounts, Filament Guides

Simple - see?

Simple – see?

If you’re just tuning in, I’m working towards overengineering a drawing robot.1 Here’s my progress to date:

  • PolagraphSD case – discussed here – done!
  • Mounts for a paper roll – discussed here – waiting to upload…
  • Filament spools – discussed here – waiting to upload…
  • Stepper motor mounts – discussed in this post – waiting to upload…
  • Filament guides – discussed in this post – waiting to upload…
  • Pen holder/gondola – TBD

The most difficult part is definitely going to be the pen holder.  I’ve seen some good ones, but… well, that’s another blog post.  :)

  • Motor Mounts.
    • I’ve designed these motor mounts using the same exact groove system that I used to mount the paper roll holder.  This means I’ll be able to adjust, mount, and dismount the motors by just adjusting a single bolt.  I’m a little concerned about whether the plate the motors are attached to is thick enough to prevent it from wobbling.2
    • I’ve also left space around the motor so that I can add some kind of insulating material.  I’ll try a few different materials, starting with the cheapest and most readily available – cardboard.  After that, I’ll try polar fleece, foam packing material, a sheet of rubber or silicone.
    • With some minor modifications to the design, I could use some zip ties hold down the motor.
    • Since I don’t have any really really short M3 bolts, the length which would be ideal for holding the motor to the mounting plate through a thin layer of material, I’ll use an M3x16 with several M3 nuts on it.
  • Filament Guides.
    • In my earliest version of my drawing robot I tried to use a plastic filament guide which was incorporated into a motor mount.  While a cool idea, the original just didn’t work.  The filament squeaked and tended to bind on the filament guide.  This may have been due to the filament rubbing against the wood of the project box.  This new one is basically a plastic cylinder that will be insert into a hole in the wooden project box.
Default Series Title
  1. Photo courtesy of Casey Hussein Bisson []
  2. Wibbly wobbly, timey wimey []