DrawBot – The Delivery, Part VI

Okay, that was FAST.  I ordered the Adafruit motor shield from MakerBot on 1/26/2012 just after midnight and it arrived today a little after noon.  That’s about two-and-a-half days for the parts to be packed, shipped, make it from Brooklyn, NY to Oakland, CA and then to my secret robot lair in the Bay Area.1  While at the hardware store today I picked up some small eyescrews and new tips for my soldering iron.  Tonight I’ll assemble the board.  Again.

I can honestly say that I was mightily tempted to purchase a third motor shield along with this second.  However, as I have no immediate designs on a secondary DrawBot2 I’m not ready to admit the possibility of defeat.  In the words of Kongorilla, I will not fail.3

Actually, now that I’ve got these new soldering iron tips, I stand a chance of being able to desolder the mis-soldered parts. 4 My old soldering tips were old, tarnished, and somewhat crusty.  The soldering tip I’m replacing is all of these things plus it is in the rough shape of a flathead screwdriver. 56

Wish me luck!

Default Series Title
    • Delivered, January 28, 2012, 12:09 pm, [SECRET ROBOT LAIR], CA [9XXXX]
    • Out for Delivery, January 28, 2012, 8:14 am, [SECRET ROBOT LAIR], CA [9XXXX]
    • Sorting Complete, January 28, 2012, 8:04 am, [SECRET ROBOT LAIR], CA [9XXXX]
    • Arrival at Post Office, January 28, 2012, 5:17 am, [SECRET ROBOT LAIR], CA [9XXXX]
    • Depart USPS Sort Facility, January 28, 2012, OAKLAND, CA 94615
    • Processed through USPS Sort Facility, January 28, 2012, 2:26 am, OAKLAND, CA 94615
    • Electronic Shipping Info Received, January 27, 2012
    • Depart USPS Sort Facility, January 27, 2012, BETHPAGE, NY 11714
    • Processed at USPS Origin Sort Facility, January 26, 2012, 11:40 pm, BETHPAGE, NY 11714
    • Accepted at USPS Origin Sort Facility, January 26, 2012, 10:25 pm, BROOKLYN, NY 11217

    []

  1. I’ll want to make sure I can get this first one sorted before I try []
  2. Actually, that’s a little more bravado than I’m really capable of.  If I fail, I fail – I just have no intention of ending at failure.  Rather, I’m committing to repeated failures … until I end up with a working DrawBot []
  3. Gah, why didn’t I pick up a desoldering pump while I was out today?! []
  4. And chipped, at that. []
  5. It’s really quite a miracle I got the first board soldered at all in the first place. []

DrawBot – The Silver Lining of Failure

After having fried my Adafruit motor shield with excessive levels of stupidity by accidentally soldering two chips in each other’s spots, I thought of a little bit of silver lining.  I now have an H-bridge and an IC that may both still be good!

Default Series Title

DrawBot – The Delivery, Part V

After frying some unknown number of unknown parts, I’m re-ordering an Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0 from MakerBot. 1

Upon its arrival, I’ll need to solder the new board and try, again, to build a DrawBot!

Default Series Title
  1. Option #2, recall? []

DrawBot – The Face Palm

Okay.  Confession time.

First, if you have been following along at home, I’m sorry – I have been leading you on a fool’s quest.  I did warn you at the outset I had no idea what the hell I was doing.  Carry on, don’t worry about me, I’ll go down with this ship.

Second, here’s the actual confession.  Despite amazingly detailed directions from Adafruit’s website, I soldered the Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0 totally totally wrong.  I soldered one of the L293D chips into the location for the 74HC595N integrated circuit chip.  And I wondered why it didn’t work.

This would completely explain why the shield made a pop noise, why there was the smell of burning, and why one of the L293D chips (which was not an L293D chip AT ALL) was getting super hot while the other was just fine.  I just tried to de-solder the L293D chip, but that’s not going to work.  I’ve de-soldered a part before, but surface mount parts are MUCH easier to de-solder. 1

At this point my choices are, from wisest to most foolish:

  1. Abandon all hope and prayer of building a DrawBot.  Power down my laptop, unplug my router, take the battery out of my phone and stop inflicting my delirium on the world.
  2. Order another Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0, and start again. 2
  3. Keep trying to de-solder that damned L293D chip, hope and pray I didn’t destroy both the L293D and the 74HC595N, then try to put them in their proper spots.
  4. Damn the torpedoes!  Full speed ahead!  Who cares that one sad little chip refuses to act like another sad little chip?!  More power and brute force will carry the day.  If I cannot make this work, I will ride this project straight into HELL!  Mu-ah-ha-ha!!!3

I’ve taken a stab at desoldering the L293D, but it just isn’t working.  The solder isn’t really coming out.  Even if it does, I’m going to have one hellishly ugly board by the end of the day – and I’ve probably already burned out the L293D and/or the 74HC595N.

At this point, I think I’ll opt for #2 above.

Default Series Title
  1. Score one for SMT, eh? []
  2. It’s a nice day to start again. []
  3. The world is ours, let’s use it up. []

DrawBot – Halp!!! No – seriously, a little help?

Okay, I’m stuck.  I don’ t know what I’m doing wrong or what I need to do next.  So, I’m calling upon John Abella, Sandy Noble, and Kongorilla for your help.  :)

Here’s where I am:

  • The burning!
    • At last attempt, I hooked up some small steppers to the Adafruit motor shield, put the shield on my Arduino Uno, hooked up the USB cable and the 9v power adapter.
    • I heard a small pop and smelled warm electronics.1
  • After the burning
    • I can upload and run the Arduino basic blink sketch.  I can alter this to change the blinking pattern.
    • I can upload and run the Arduino sketches to operate a microservo.  I can alter this to change the microservo’s behavior.
    • I can upload the Adafruit sketches for steppers – but I can’t make the steppers move.
    • I can upload the Polargraph sketch – but I can’t make the steppers do anything.

Now, I’ve got tons of questions for you:

  1. Did I ruin my Arduino?  I can still run the blink and microservo sketches.
  2. Did I ruin my motor shield?  How can I tell if it is operational?  When I connect the power to the Arduino and have the little jumper in place, the green LED is lit up.
  3. What am I doing wrong?
  4. What should I try next?
  5. How should I diagnose a problem?
Default Series Title
  1. Now I’ve got a cold and couldn’t smell anything if I wanted []

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