The arm control software, written in Python and GTK+.

Working Quickly

Sometimes, writing software can be a pain. It’s unfortunate, but true. Sometimes there’s a need to be filled, an itch to be scratched; and though it might be quite simple in concept, it’s often hard to translate that idea to code. Luckily, the team at Ubuntu has a tool for that: Quickly.

Quickly isn’t a new tool, but it is a useful one. The idea is to provide a shell command which will help take some of the obstacle out of programming for Ubuntu by automatically generating a PyGTK project’s boilerplate code for you. Just entering quickly create ubuntu-application foo creates a directory foo and adds the basic code needed for a simple GTK+ application. It even initializes a bzr repository for you and commits a first revision.

The tool aims to make some “opinionated decisions” about what is a good way to start. I think that’s a good way to go; it certainly makes getting started easier. Although the choices aren’t necessarily the best in my personal opinion (as you probably guessed, I prefer git), they are reasonable defaults and it’s even possible to change them using Quickly templates, which can be created by the user to match their favorites.

The arm control software, written in Python and GTK+.

The main downside, however, is the lack of documentation. There is a team working on writing some on Launchpad, but so far it’s rather sparse. Even knowing how to hook up the GUI to your custom code can require a fair amount of research, and it takes a little of the ease out of using the framework. That said, once you’ve familiarized yourself with the workflow and the structure of the generated code, it’s not too hard to ramp into productivity. I’ve even been using it to work on the robot arm’s control software.

Personally, I think it’s a great idea. It would be nice to have a GUI for it (I reflexively close terminals when I’m done with a few commands, and getting back to the right directory is a pain), but that could easily be written using Quickly itself! While it’s not a new language or even a new toolkit, it is a convenient synthesis of extant tools that have the capacity for powerful projects and are easy to use.

It don’t fit!

Getting components for your projects is always exciting! I love seeing the little slip in my mailbox at school telling me that I have a package. I’m always ready to add new functionality to my projects, and I love seeing my designs come together.

Sometimes it doesn’t quite work out that way. Parts don’t always match your specifications, maybe they’re defective or you just made a mistake in the design. It happens! Unfortunately, some of the parts I got today just don’t fit the design right. I got a pair of stepper motors and associated drivers from SparkFun today (man, they ship fast!), and what do you know, they’re a little bigger than I was expecting.

A stepper motor from my SparkFun order.

Of course, it’s not a problem of poor information. I honestly didn’t design the parts to use these motors. They were designed for a different pair of salvaged motors which unfortunately don’t work. I figured that I could do a little bit of machining to make the new motors fit, and still have a working design. And I still might! But the crux of the matter is that I need to redesign my parts for the new motors. Hopefully when I get into the shop on Monday I can make some changes and hack together a working pH adjuster.

The top plate and a stepper motor. Notice any problems?

The stepper motors are too big! They will interfere with the nuts on top.

Not to mention that the gears are a little small.

Prototyping Online

Online prototyping seems like it may be a nice option for quickly starting production of parts without the hassle of having to make them yourself. I’ve had a company by the name of the E-Machine Shop ( in mind for my next prototype which was beyond my capabilities as a machinist. To that end, I decided that I might as well outsource my production of a peristaltic pump from my last post to them so I can focus on other projects. I drew up my design for the outer pump container in their proprietary CAD software, and had it give me an instant quote.

The 2D design of my peristaltic pump enclosure.

$250 for the part. This part is made of acrylic will require three operations: turning the inner and outer diameters, milling the two slots, and drilling the 5 holes with two standard-size drills. This is ridiculous! While I rather enjoy the idea of having parts only a click away, the price that I got quoted for this part is simply exorbitant.

The 3D view of my peristaltic pump enclosure.

Of course, I was asking for just one of them; had I upped my order to 25 I could have gotten them at $20 apiece. But for the prototyper and homebrew developer, this is simply out of my price range. I guess I’m going to have to make it myself!