DrawBot – Design Considerations

This post isn’t really so much of an update as it is a way for me to jot down some thoughts about this DrawBot and to keep me occupied. 1 23

  1. Stepper motors mounts
    1. Right now I’m designing some rather mundane stepper motor mounts.  They’re inspired by Ed’s designs, but I’ve written the code myself.  I’ll post the code on Thingiverse once I’ve printed it.  It will output a good looking motor mount, but the design isn’t entirely parametric yet.
  2. Beaded cord, belts, and filament, oh my!
    1. If you check out this Polargraph video, you can see @ 0:22 where Sandy Noble shows a version of his Polargraph operating using two spools winding and unwinding filament.  The versions Sandy was producing for sale used a beaded cord.  The Der Kritzler uses a toothed belt.
    2. There are several downsides to using beaded cord4 or toothed belts.  First, they’re more expensive and slightly more work to obtain than simple mono filament line.  Secondly, they are both bulky.  If you’re using beaded cord or a toothed belt, they’re going to have to dangle off the side of your machine.  This means more moving and swinging parts – which is a whole other problem.
    3. One of the benefits to using a filament line is that you can easily route and redirect the line using pulleys.  This means that you could mount the motors and electronics in close proximity to each other – and then run the filament line through something like an eye bolt or a specially designed5 part.
    4. I don’t know how any of these options would affect the placement and usage of a servo for penlifts.
  3. In a box6
    1. I have this long shallow pine box, at least three feet in length, that may be perfect for this project.  I think I’ll be able to mount the motors, electronics, and just about everything I need entirely inside this box.  If I do, then all I’ll need to do later is mount the box to the wall, plug the USB cable into a computer, plus the power adapter into the wall, and start printing away!  Now, I realize that this implies a totally vertical drawing surface, but I think that is not as much of a problem as it could be.
  4. The Russians used a pencil
    1. Writing on a perfectly vertical surface with a pen can be challenging.  My thought is to create a gondola that has the weight farther back on the gondola – so that it is pushing the pen against the paper.  If the pen were angled down slightly, this might even work a little better.   But, obviously, I’ve never tried any of these variations.  I have to imagine that smarter men than me have considered and discarded these designs.  I have a crappy sketch for this, but I’m really tired and should get some sleep.

To sleep, perchance to dream.  Ay, there’s the rub.

Fear not gentle reader.  If history tells us anything, tomorrow shall bring your RSS feed another deluge of nonsense!

Default Series Title
  1. I don’t feel like working, even though the hour grows late and I will need to get a bunch of things done one way or another. []
  2. And, really making a drawing robot is SO much more productive than what I do on a daily basis. []
  3. I wish I were kidding. []
  4. Either metal or plastic []
  5. Perhaps printed?! []
  6. With a fox! []

DrawBot – The Assembly, Part IV

Here’s what I was able to do last night:

  • As I’ve mentioned, I know very very little about Arduinos or how to hook them up.  Although the Adafruit stepper motor page gives some guidance as to how to hook up the Stepper motor – 200 steps/rev, 12V 350mA, “Red, Yellow, skip ground, Green, Brown,” I have no idea which side or starting from which end of the terminal block this is supposed to go.  Admittedly, I have a 50/50 chance of wiring it up properly.
  • I tried hooking up two old steppers I had scrapped from some old electronics – but all I got for my troubles was a small popping noise and the smell of electronics.  There was no blue smoke, no apparently burned parts, and I was able to program the Arduino Uno to blink and then run a servo through the Motor Shield.
  • I designed and printed a spool for holding the monofilament line and which will fit snugly on the stepper motor shaft.  I got a little sidetracked playing with Skeinforge settings, but the spools turned out really well.
  • I printed a gondola for holding the pen, designed for the Polargraph by John Abella
  • I designed and printed a holder for the Arduino with the Motor Shield on it – but it was slightly too narrow for some reason.  I’ll have to redesign, reprint.
  • I’ll have to design and print a new motor block as well as a filament line guide.  I have some cool ideas for the latter.
  • I tried to use the Polargraph controller, but I wasn’t able to get it to do much.  I”ll give it another whirl tonight.
  • I know I’ll also have to change some of the Polargraph Arduino code to accommodate the motor and spool combination I’m using.
Default Series Title

DrawBot – The Assembly, Part III

I debated with myself over how best to lay out my build log for this DrawBot. 1  Is it better to post the build process as I’m working on it, so that it would span numerous posts, or is it better to try to keep posting all the major steps into one post so that it is easy to follow?  At the cost of appearing repeatedly repetitious over and over again, I think if I were following along at home I’d want to read either one long post that covers everything or a small series of posts that cover the few major steps.  It’s easier at this stage to put all the information into one long post, revising it as I go along and pruning the ubiquitous2 nonsense out as I go.

Here’s what I’m adding in this iteration:3

  1. A section about optional hacks to the Adafruit Motor Shield
  2. More detail about the various libraries and the sketch necessary to upload the Polargraph source code
  3. Instructions for uploading the Polargraph source code
  4. Slightly better organization of my build outline

Continue reading

  1. FYI, I was explaining this DrawBot to a friend at a party yesterday.  He suggested I create a wipe board robot instead, similar to the Lady Ada and Matt Metts robots, and call it the BotWiper. []
  2. Don’t you just love that word? []
  3. Since this information is 95% stuff you would have seen from the prior Assembly post, I’ll put it after a little “More” tag. []

DrawBot – The Assembly, Part II

Now that all the parts have arrived, I’ve finished soldering the Adafruit Motor Shield, it’s time to figure out what the hell I’m doing.

  1. The Parts
    1. 9 VDC 1000mA regulated switching power adapter – UL listed 
    2. Stepper motor – 200 steps/rev, 12V 350mA
    3. Micro servo
    4. Arduino Uno R3 (Atmega328 – assembled)
    5. Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0
  2. Assembly
    1. Adafruit soldering and assembly instructions for the Adafruit Motor Shield
      1. Hint:  Don’t try to put the L293D into the 16-pin sockets before you solder the socket into place.
      2. Hint:  While preparing to solder the header pins into the motor shield, I found that the motor shield would not sit flat on the Arduino Uno because the leads from the motor shield’s reset button were in the way.  I crimped the leads slightly and then motor shield sat flat.
    2. Download and read the Polargraph Instructions
      1. Polargraph build instructions on Instructables
      2. Latest Polargraph Build Instructions circa 11/28/2011
      3. Polargraph Instructions circa 10/20/2010
      4. Polargraph Instructions circa 10/9/2010
    3. Install the Processing environment
      1. Processing environment download page
      2. It’s necessary to run the Polargraph controller software
    4. Update the Arduino Uno’s firmware
      1. Go to Arduino.cc and download the latest software (Version 1.0 is 85.9MB for Windows)
        1. The latest version of Sandy Noble’s Polargraph software requires the Arduino 1.0 firmware
      2. Install the Arduino drivers123
        1. Plug in your board and wait for Windows to begin it’s driver installation process.  After a few moments, the process will fail, despite its best efforts
        2. Click on the Start Menu, and open up the Control Panel.
        3. While in the Control Panel, navigate to System and Security. Next, click on System. Once the System window is up, open the Device Manager.
        4. Look under Ports (COM & LPT). Â You should see an open port named “Arduino UNO (COMxx)”
        5. Right click on the “Arduino UNO (COmxx)” port and choose the “Update Driver Software” option.
        6. Next, choose the “Browse my computer for Driver software” option.
        7. Finally, navigate to and select the Uno’s driver file, named “ArduinoUNO.inf”, located in the “Drivers” folder of the Arduino Software download (not the “FTDI USB Drivers” sub-directory).
        8. Windows will finish up the driver installation from there.
      3. OMG!  I just made an LED blink!
        1. I followed up this incredible success by adjusting the amount of time the LED spent off and on.  It was pretty cool. 4
    5. Download Sandy Noble’s Polargraph Controller v2.0
      1. Download the Windows binaries or
      2. Download the source code and compile them for yourself
    6. Download the AccelStepper Arduino Library
      1. Direct download
    7. Download the Adafruit Motor Shield Arduino Library
      1. Direct download
      2. When I tried to drop this library into the “arduino-1.0/libraries/” subfolder, the Arduino IDE freaked out.  I had to rename the library sub-folder from “adafruit-Adafruit-Motor-Shield-library-dd30da7” to “AdafruitMotorShieldLibrary” since the IDE would not recognize a library with spaces, dashes, etc.
    8. Um… now what?
      1. As I’ve mentioned, I really have no clue what I’m doing here.  I’m mostly just banged away at the motor shield with a hot soldering iron, jammed it onto an Arduino…  and don’t know what to do next!  Halp?
Default Series Title
  1. This was written for Windows XP, Vista, and 7, there’s also guides for Mac OS X and Linux []
  2. I’ve just copied and pasted this info here for completeness. []
  3. MacOSX []
  4. Arduinos can be used for MORE than this, you say?!  Tell me more! []

DrawBot – The Delivery, Part IV

It always kinda freaks me out for a moment when I am talking to someone and they reference something I’ve written in a blog post.  It takes me a little bit to process that the act of blogging isn’t really a solitary one – that I’m usually interacting with the people who read it.  While I understand intellectually that there are people who read this, part of me1 2 3 4 5 6 7  is nevertheless surprised. See, I was on a conference call tonight and someone mentioned they were happy to hear I was experimenting with a DrawBot8  ANYHOO!

My order from Adafruit arrived today!  This was my very first order from Adafruit Industries and I have to say all of the parts were packed very well and thoughtfully.  It’s a small thing, but I like how the Adafruit logo is printed right on the external USPS shipping label.  The box was sealed with clear packing tape and then additional paper packing tape was put down over that,9 with everything inside bundled inside bubble wrap. 10 11 12 13 14 15 16 17 18 19 20

This order contains my very first stand-alone Arduino. 21  It’s an Arduino Uno and it thoughtfully comes with four little rubber feet, several cool stickers, and a little thank you note for supporting open source.

It’s really just as well that the USPS website didn’t update until after 5pm, otherwise I would have been tempted to rush home to fawn over the parts.

Default Series Title
  1. The self-effacing / self-depricating part wonders … why?! []
  2. Don’t you worry gentle reader, that is by far the smallest part of my psyche. []
  3. Ladies and gentlemen of the jury…  Allow me to bring your attention to Exhibit A. []
  4. I suppose you’d probably get more out of this post if you weren’t always poking around in the footnotes trying to see if I’ve written something clever here. []
  5. In fact, I really try to keep the clever stuff out of the footnotes entirely. []
  6. Boobs. []
  7. I ask you, ladies and gentlemen of the jury…  is this the work of a sane man?  A stable man? []
  8. Hi Brian! []
  9. Nothing could escape that box.  Not even light. []
  10. Pop! Pop! []
  11. Apparently I’m having a very parenthetical day. []
  12. I didn’t even know such a thing was possible []
  13. I think it stems from my… []
  14. Oh!  Shiny! []
  15. extreme ADD []
  16. Okay, would you like a story about my ADD? []
  17. You would?! []
  18. Of course you would! []
  19. Ages ago I was in the boy scouts and I had, as all good boy scouts do, a copy of the boy scout’s handbook.  Everyone was instructed to write their names on the sides of the book so that they would be able to tell them apart.  I wrote my first name along the side and half of my last name.  Apparently, I got distracted halfway through writing my last name … and never finished it []
  20. Thirty years later I’ve more or less moved on.  I suppose I may go back and finish writing it, but I’m clearly in no hurry. []
  21. I say stand-alone since there are apparently already Arduinos in my home – in my MakerBot Cupcake powered by a Sanguino and MakerBot Thing-O-Matic rocking an Arduino Mega. []

DrawBot – The Assembly, Part I

I assembled most of the Adafruit Motor/Stepper/Servo Shield for Arduino kit – v1.0 last night.  Since I don’t have an Arduino yet,1 I didn’t want to solder in the connector pins.  Other than those four connectors, it is all soldered up.

FYI, don’t try to put the L293D into the 16-pin sockets before you solder the socket into place.  I tried to do that and it was a mistake.  I bent some of the leads to the socket and stabbed myself in the finger with the L293D chip.

Default Series Title
  1. It’s on its way!!! []

DrawBot – The Delivery, Part III

So, I’ve figured it out.  Admittedly, it took until about 4:45pm today, but I figured it out.

Today was Friday the Thirteenth.  Duh.  That DEFINITELY explains my work day.

I was very happy to find the Adafruit Motor/Stepper/Servo Shield for Arduino kit – v1.0 had arrived from MakerBot.  When I opened1 the package I noticed that the kit really was a kit.  Which I already knew.  I knew this was a kit, but somehow I kinda forgot about it.

In a way, it’s irrelevant that I don’t have the other parts since I have to assemble this kit.  So, tonight I’ll assemble the motor shield and tomorrow, hopefully, I can assemble the rest of the DrawBot.

Default Series Title
  1. Read: shredded the USPS box []

DrawBot – The Delivery?

I don’t think all of my parts are going to arrive in time for me to take a crack at assembling a DrawBot this weekend.  Per the USPS:

  • MakerBot shipment:  Your item departed our OAKLAND, CA 94615 sort facility on January 13, 2012.
  • Adafruit  shipment:  Your item departed our NEW YORK, NY 10199 sort facility on January 13, 2012.

I think the best I can hope for is getting my motor shield tomorrow.  That’s okay, there’s plenty to do in the meantime.  I must learn patience.

Default Series Title

DrawBot – Giant Unicorn?

As you may know, I’ve got a MakerBot Cupcake named “Bender” and a MakerBot Thing-O-Matic named “Flexo“.  There’s really no doubt in my mind I’ll be springing for a Replicator with dual extrusion1  Thankfully, I think there’s a way for me to make use of each of my robots, in its own special way.  I figure I can keep the Cupcake rocking a Unicorn Pen Plotter, use my Automated Build Platform in my Thing-O-Matic for mass production of smaller parts, and put a Replicator to work printing new, wacky, and/or large designs.

But, why am I talking about giant unicorns?!  Sandy Noble, the creator of the Polargraph,2 just posted about how he has created a vector graphics importer for the Polargraph software.  This is some pretty amazing stuff.  The MakerBot Unicorn has several software toolpaths that take vector graphics to GCode for printing through ReplicatorG.  The end result is that a Polargraph rocking a vector graphic importer should be able to draw arbitrary shapes, without the need to draw scribbly bits.

I think it would be particularly awesome to have a DrawBot draw a frame/border and then fill it with a scribbly/pixelated drawing.  Or, perhaps, draw the outline of an object and then fill it in with scribbly/pixelated shadings.

Default Series Title
  1. Will my extravagance know no bounds?! []
  2. Which is probably the best documented DrawBot on the internet []

DrawBot – The Hacks

Sandy Noble's modifications to Adafruit's Motor Shield

Sandy Noble's modifications to Adafruit's Motor Shield

Chatting with Sandy Noble over at the Polargraph website has been extremely helpful1  It looks like he’s added three changes to the Adafruit Motor Shield:

  • Heatsink added23
  • Breakout boards to connect the terminals to the clips for the motor leads.  However, it looks like there’s a small little component of a circular purple variety also on that board.
  • Extra pins for hooking up a cooling fan.  Sandy says he doesn’t use them any more, but it really wouldn’t be a bad idea given that it would take hours for even a simple print.
Default Series Title
  1. The photo is from Sandy Noble’s photo stream.  It says All Rights Reserved and I will happily take it down if he asks and says this is not a fair use.  Given that all of his stuff has been very open source, I’m guessing this was just a default setting. []
  2. To the H-Bridges? []
  3. Also…  Where does one get a heatsink?  How do you attach it? []