Tuesday, December 7, 2010

Freeduino Diary

A year or more ago, I built a series of small, scratch-built Lego robots. It was something I had always wanted to do. The Genius Triangle (Time, Resources, Interest) snapped together and the first soldier in my robot army was born.

I had banged around on the original Lego Mindstorms robot kit ten years ago, and it was all right, but I wanted the potential for more than five sensors and three motors. Programming in the graphical IDE didn't work very well for me either - even though I always thought I was a visual kind of guy.

I decided to get some Parallax Basic Stamp microcontrollers and figure out how they worked. For a brief while, eBay was rich with miscellaneous Basic Stamps, and my minions multiplied. I built everything on the robots from scratch, without plans or kits. I dusted off my soldering skills and built a number of switched 5V regulated power supplies. I made brackets that interfaced Legos to Futaba servo motors. It was fun, it was satisfying. Every robot was an improved iteration of the previous, primarily focused on improving the Lego mechanics.

Basic Stamps are well designed and well supported. A simple Google search will deliver a rich encyclopedia of PBASIC code. But my disinterest was fueled by two factors: They're hugely proprietary, and relatively expensive. Nobody make a Basic Stamp clone, and they cost vastly more than a standalone microprocessor. It reminds me of the Apple Macintosh product line.

I've been thinking a great deal about Open Source lately. I believe that multiple vendors supplying an open source (or licensed source) product benefit the consumer more than a corporate choke-hold on intellectual property. The people at Parallax (and Apple) are very smart, but I feel they're focused more on controlling production than ubiquity. At one extreme, that strategy leads to cartel pricing and can be very profitable when you are good at manufacturing something people desperately want. On the other hand, Microsoft built its empire on ubiquity driven by software and content.

The Arduino is an open source microcontroller that is inexpensive and available in a wide variety of configurations. I recently built my first Arduino-compatible (a "Freeduino" design called the MaxSerial), having bought the kit months ago, on eBay, with an eye to building the next generation Schlembot around it.

This is exactly what I am looking for in my future microcontroller projects. Even a full-featured unit from one of the many companies that make compatible hardware is about half the price ($25) of a bottom-spec Basic Stamp. A kit can be had for about half of that ($12.50). You can even build one from scratch, with another halving in price ($7.00).

I always find that one interest fuel other interests, and thus I've been designing an Arduino-compatible circuit to push the limits of cheap, versatile, utility. The Creative Commons license on Arduino-compatible hardware allows you to adapt, modify, and customize hardware or software for your own purposes, with the proviso that you make the derived product available with the same license. The basic circuit has been fully developed for years, with subsequent variations by different designers (serial communications, USB, breadboard compatible, minimal, maximal...).

I am porting the Arduino circuit to a general purpose prototyping board, sold by Radio Shack for years. I used the 276-150 for high school science projects. Any description of this PC board touts its precisely drilled 417 holes. There is not a lot of creative design in this endeavor, but the goal is make a "recipe" for assembling a homebrew Arduino-compatible from readily available electronic components. Actually, naming the design presented the biggest challenges to my creativity. After a couple of beta monikers, I settled on 417DUINO (after the number of holes in the jaunty little PC board).

The final version will have an on-board regulated power supply, USBTTL programming, an ICSP programmer connection, and be stackable with 276-150-based protoboards.

Many open source electronic products are designed with a (printed circuit board design) CAD tool called EagleCAD, but I've been satisfying my obligation to document the design of 417DUINO in your basic bitmap editor, Windows Paint. I want to learn EagleCAD, to make a mask for the 276-150 PC board, but that can wait. For now.

Creative Commons License
417duino by theschlem@gmail.com is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at www.arduino.cc.

No comments:

Post a Comment