DrawBot – Another Successful(ish) Drawing!, and an Update

A summer rose from our garden, drawn by a freakin’ narcoleptic robot

A summer rose from our garden, drawn by a freakin’ narcoleptic robot

The drawings are getting better with a little tinkering.  I’ve designed, printed, and installed new motor spools.  These have a thicker central core, so they should be able to collect more monofilament line with slightly less distortion.  I’ve made a few changes to the setup.  Dialing in the starting area and calibrating the starting home point were pretty important.

I’m still having a little trouble with the robot occasionally stalling out.  Although, now I think it is a symptom of the controller software rather than a problem with the Arduino.  There’s no set time after printing, no set time after running the program, or other noticeable precipitating event which seems to cause this problem.  At some point during a drawing, the controller software just reports the Arduino as being busy. 1  Here’s what I do to correct the problem:

  1. Disconnect the USB cable from the laptop
  2. Click “Queue->Export Queue” and save as a text document
  3. Open the text document and perform the following operation
    1. Select, copy, paste the first line above the first line – so now you see a duplicate.  So, for instance in the image above I had to copy “C05,2700,2370,10,247,END” and paste this above the same line – so that it would look like the robot would be receiving the same command twice.
    2. Edit the line “C05,2700,2370,10,247,END” so that I change the command to start with “C09″ and delete the last two numbers and the “END” statement, so that it now looks like, “C09,2700,2370,END”
    3. Save the text document with these changes
  4. Shut down/close the controller software
  5. Restart the controller software
  6. Reconnect the USB cable to the laptop
  7. Click “Setup->Serial Port…” and click on the serial port of choice
  8. Click “Queue->Import Queue” and choose the text document I just edited
  9. Start the queue again!

The reason I suspect this is a controller software and not an Arduino firmware issue is that I don’t have to reset the Arduino at any point – just disconnect the USB, restart the controller software, reconnect the USB, and start the queue again.  I would think that if there were a problem with the Arduino firmware, I would need to reset the board itself.

The lowest you can specify as the “grid size”2 in the Polargraph controller software is “20,” but you can use a smaller value by editing the “polargraph.properties.txt” file.  In the image above I used a grid size of “10″ which appears to cover 1/4 the area of the size 20 pixel.  That image probably took about five hours to draw.  I think it looks really nice.  The image above seems to have been distorted by my scanner.  It came out almost perfectly square with a slight warp to the top right corner. 3  You can see some bare spots in the image above – that’s where the pen, for whatever reason, just wasn’t making a mark on the paper.  I suspect it has something to do with that region of the paper being either slightly smoother and/or slightly more depressed than the surrounding regions.  Otherwise, there would be no reason why the next row would have a similar defect nearby.

I’ve noticed the controller software also tends to forget the machine width, page size, and page position.  I’ve updated this, saved it, and uploaded it to the Arduino several times, but it doesn’t seem to stick past a reboot of the software.  Ultimately, these are very minor concerns and really just something to be aware of when I’m printing.  I just about couldn’t be happier with the controlling software.  That piece of software plus the Arduino sketch together have basically made this a nearly effortless project.  Besides a hiccup soldering a circuit board wrong, this entire project went together very quickly and yielded almost immediately gratifying results.

I’ve done several drawings in the last few days.  I’m still having trouble getting a perfectly rectangular and centered result.  I may have to adjust the Y offsets and double-check my machine measurements.  I still also notice a slight upwards warp to a drawing in the top right corner.  But, I’m looking forward to additional experimentation – it’s all part of the adventure!

Last, but certainly not least, I want to make it clear that Sandy Noble’s software for the Polargraph/drawbot is really really great.  That I am having some minor calibration troubles speaks more to my incompetence than Sandy’s excellent program.  So, a great big thank-you to Sandy for his continued hard work on this software!

Posts in the DrawBot Adventure Series
  1. Wanna make a DrawBot?
  2. DrawBot Resources and Links: Updated 2012/04/19
  3. DrawBot, the Adventure Begins
  4. DrawBots for the slow learner
  5. DrawBot - Parts Ordered!!!
  6. DrawBot - The Breakdown
  7. DrawBot - Parts Shipped!!!
  8. DrawBot - What would you draw?
  9. DrawBot - The Plan!
  10. DrawBot - The Hacks
  11. DrawBot - Giant Unicorn?
  12. DrawBot - The Delivery?
  13. DrawBot - The Delivery, Part II
  14. DrawBot – The Delivery, Part III
  15. DrawBot – The Assembly, Part I
  16. DrawBot – The Software, Part I (and an existential conversation)
  17. DrawBot – The Delivery, Part IV
  18. DrawBot – The Assembly, Part II
  19. DrawBot – The Assembly, Part III
  20. DrawBot – The Assembly, Part IV
  21. DrawBot – Design Considerations
  22. DrawBot – Halp!!! No - seriously, a little help?
  23. DrawBot – The Face Palm
  24. DrawBot – The Delivery, Part V
  25. DrawBot – The Silver Lining of Failure
  26. DrawBot – The Delivery, Part VI
  27. DrawBot – The Assembly, Part V
  28. DrawBot – The Assembly, Part VI
  29. DrawBot – Printed Parts
  30. DrawBot – The Assembly, Part VII
  31. DrawBot – The Operation, Part I
  32. DrawBot – The Assembly, Part VIII
  33. DrawBot – The Breakdown, Part II
  34. DrawBot – Printing!
  35. DrawBot – Printing, Part II
  36. DrawBot – Why are you crying?
  37. DrawBot – Calibration
  38. DrawBot – Pen Selection
  39. DrawBot – How to Recover from a Stalled Print!
  40. DrawBot – Drawing Success(ish)!!!
  41. DrawBot – Pen Selection, Part II
  42. DrawBot – Onwards and Upwards!
  43. DrawBot – Another Successful(ish) Drawing!, and an Update
  44. Restarting a Stalled DrawBot Drawing
  45. TSP FTW!
  46. Speedier DrawBot Drawings
  47. Two new DrawBot links! And an update!
  48. Excellent DrawBot Slides
  49. Another Drawing Robot!!!

  1. Aren’t we all, Arduino?  Aren’t we all? []
  2. What is essentially the pixel size []
  3. This one was commissioned at the request of my daughter and now hangs in her room. []

Zaggo’s Pleasant3D v2.0

I’ve always been a PC kinda guy ever since my IBM 286.1  PC’s are inherently more modular and hackable than Macs – I can buy any off the shelf no-name brand part and fix something myself.

That said, Zaggo’s software is making me wish I had a Mac.  His Pleasant3D v2.0 software is crazy awesome.  I use Google Sketchup to design and a combination of Netfabb and Blender to convert formats.  But nothing I have lets me view models in the way Zaggo wrote.

  1. Which still works – rockin’ a 20 MB hard drive! []

I trust my life to open source

I use open source software for nearly everything.  Now I get to use an open source robot too!

I stopped using MicroSoft Office, Eudora, CuteFTP, TextPad, Internet Explorer, and ASP and other proprietary products about four years ago in favor of Open Office, Thunderbird, FileZilla, Notepad++, Mozilla, PHP/MySQL,  etc.  I’m still on a Windows box… for now.

But, damn, some days you get your ass handed to you too.  Today’s been one of those days.  In the last twenty four hours I’ve spent a LOT of time unscrambling two of my WordPress installs.  They were SO messed up that they were offering anyone who cared to look the option to enter a new blog name and administrative address.  Yeah, that’s not good.

Admittedly, this can happen with any software.  But, today man.  Today I feel like I’ve been run over by an open source Humvee.

Open Everything

The ideal is obviously using a totally open source environment to develop things with a RepRap/MakerBot.  For the most part I use open source software – FireFox, Thunderbird, OpenOffice, Pigin, PHP, MySQL, WordPress.

However, I’m still tied to certain closed source proprietary software.  I still use Windows and haven’t made the leap of faith to Linux/Ubuntu.  I really like the ease of use and intuitive nature of Google’s Sketchup.  But, I can’t help feel like a little bit of a sham – still clinging to Windows and Sketchup because they’re easy and familiar.  All the while cranking out wonderful plastic goodness with my open source hardware ‘bot.

I have a feeling I could get used to Linux/Ubuntu if I gave them a shot, but the alternatives to Sketchup I’ve seen and tried are nearly unintelligible.  Does this mean I try to run Wine or break down and spend the time to learn something else?