A nifty little WordPress plugin…

The idea for this little plugin has been rattling around in my head for a little while now.  It clocks in at less than 60 lines of code, including comments, and makes it easy to create a “series” for posts.

As I’ve been blogging about my (mis)adventures in building a DrawBot, I’ve been updating each post to contain a link back to all of the prior posts in the series.  However, if someone were to find one of the first posts – they wouldn’t see a link to a later post.  That is, unless I update all the posts.  That’s not really much of an option, since I’ve racked up 23 posts in less than 19 days. 12

This plugin is actually super simple.  Here’s what it does:

  1. Add a “post meta” tag for the current post with the same key as whatever you want to name the post series
  2. Query the database for all posts with the same post meta key as the one for the current post
  3. Output an ordered chronological list of all posts in with the same post meta key as the one for the current post

The simplicity of this plugin are actually some of it’s strongest features.  Unlike a lot of other series plugins out there, it doesn’t create any unnecessary tables in your WordPress database.  There are no settings to mess with, no CSS to fiddle with, no ugly standard formatting to overcome.

The only downside I can perceive is that if you delete the shortcode from a plugin, it will still leave the post-meta attached to the post and the post will still appear in the series.  If you leave the shortcode in and don’t specify a series title, it will delete the post-meta.  I suppose I could include a little button in the interface to delete the post from the series, but really, it’s just not going to be used that often.

Anyhow, this is something that I’ve wanted to have for a long time – I just hadn’t gotten around to building it yet.

Default Series Title
  1. I’ve got a lot to say. []
  2. And, actually, that’s just 23 posts on this one topic.  I’ve probably blogged an equal amount over on the MakerBot blog, with a few totally random additional posts here. []

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

3.57% More Contempt

I really hate January and February.  This year, I have 3.57% more contempt for February since it is a leap year.  Historically, these are dark and foreboding months for me.  I am grateful this month is nearly at an end, but fearful for what lies ahead.  I’m not overly superstitious, but like any reasonable man I believe robots work better with Daft Punk and the first two months of every year the darkest months indeed.

One little bright note.  Not this year’s Doctor Who Christmas special, but last year’s, had such a brilliant opening monologue.

“On every world, wherever people are, in the deepest part of the winter, at the exact mid-point, everybody stops and turns and hugs. As if to say, “Well done. Well done, everyone! We’re halfway out of the dark.” Back on Earth we call this Christmas. Or the Winter Solstice.”

On December 22, 2011 I happened to be having lunch with a friend.  As I did so I noticed there was a nearby table with about eight or so people.  I happened to overhear them toast the winter solstice.  That, in turn, made me think, “Hey!  We’re halfway out of the dark!”  That thought does warm me some now.  If this were merely a matter of seasonal affect disorder or just a superstition about the dark, that would be one thing.  Instead, my personal attitude of loathing towards these first two months is borne of a long experience.  Bad things just seem to stack up in these months.

If the posts on this blog take a melancholy turn for a bit, please do excuse.

Goodbye Kitty

This past Thursday one of our kitties was acting very lethargic and withdrawn.  Highly unusual behavior for such a social, friendly, and outgoing creature.  We took her to the vet for tests that day and heard back from them on Saturday.  I was in a meeting in San Francisco when I got the news.  I left the meeting immediately and rushed home, picked her up, and took her to the vet.  Her kidneys were failing and there was very little to be done.  They tried to hydrate her, but she kept getting worse.  When it became apparent there was nothing more that could be done, we sat with her, talked, petted, and kissed her.

Our kitty had such personality – affectionate, friendly, curious, and adventurous and we will miss her terribly.

It was tough telling our daughter.  We answered her questions the best we know how.  But, how do you explain the absence of a thing?  As amazing as the Greeks were, they didn’t have a concept of “zero” of nothingness.  I must say, she’s dealing with all of this far better than we are.

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 DrawBot – The Assembly, Part III

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