July 25, 2008

Making lemonade...

Posted by Bjoern Hartmann at 04:02 PM | Comments (0)

July 19, 2008

Keep your software with your hardware!

After building a number of physical computing projects on a number of different computers over the years, I frequently run into the following problems:
I pull an old project off the shelf that is still running and I want to modify it. However, I have absolutely no idea which computer and which folder my project files are on. I likely don't even use the computer anymore. Even worse, sometimes I pull an Arduino board out of a completed prototype because I don't have another board on hand. After pulling out the board and reprogramming, I now have a broken prototype with no easy way to get it back up and running again.

The basic idea to address this problem is to physically keep the entire project source files with the project at all times. My simple, ham-handed solution is to add both a USB flash drive and a USB hub to the Arduino hardware. You connect both the flash drive and the Arduino to the hub, and then connect the hub to the computer. Result: you can still shuttle data back and forth between the Arduino and the computer, but you also have a file system to store your project files.

Artists and students don't have a lot of money - so what's the cheapest way to implement this idea?
IMG_3165

At my local Fry's, the answer is $7.98. That gets you a 128MB flash drive on closeout and a four-port USB 1.1 hub. Plug everything together et voila:

IMG_3173

This first solution is clearly a bit unwieldy.

IMG_3180

Above, I just took the PCBs for flash drive and hub out of their cases and zip-tied everything together. This is NOT functional, but closer to what we want to end up with. So off to the lab to make this smaller version work. To keep cabling under control, solder the flash drive directly to a port of the hub, and then solder another short cable with a USB B plug to a second port, to connect to the Arduino. This way, you don't have to solder to the Arduino itself and can connect and disconnect the entire storage+hub part.

IMG_3184
Above is the final (functional) prototype - the added bulk is minimal, altough the board is no longer on stable footing. Here's another shot from a different angle:

IMG_3187

That leaves one step: to have the Arduino environment save it's project files to the USB stick automatically. This is accomplished by opening the Arduino software and changing the sketchbook location under Preferences.

As an extension, you can imagine storing your entire Arduino development environment on the Flash drive as well. In this case, you'll have to choose at least a 256MB stick (1GB sells for $10 right now) and a USB2.0 Hub ($10 as well).
If the ugliness of the prototype is a concern, one could design a shield that houses both a mini breadboard, a USB hub chip+circuitry, and a USB plug where you supply your own flash drive.

Thanks to Sean Follmer for helping with construction and photography.

Posted by Bjoern Hartmann at 12:51 AM | Comments (0)

July 13, 2008

Introducing the alter ego..

I met Craig Schwartz at Foo camp who runs a fabulous site called toonlet that lets you create comic strips in a snap. Here's my alter ego:

Posted by Bjoern Hartmann at 08:40 AM | Comments (0)

July 11, 2008

Talk at MX

I'm back from 3 months at MSR in Seattle and am catching up on some long overdue posts. In April, I spoke at the MX ("managing experience design") conference in San
Francisco. One of the details that stuck with me was their use of realtime
graphic recording in the back of the room and I thought I'd share the
two drawings that were created during my talk:


All of these images are also in the Graphic Guide to MX 2008 (large pdf).

There's also an interview with me online at Boxes and Arrows.

Posted by Bjoern Hartmann at 10:10 PM | Comments (0)