Yes, it’s made mostly out of random parts I had lying around. That’s sort of the point: even if you had to buy all the parts, this thing would be cheap, and if (like me) you accumulate toy and electronic scrap, it’s even cheaper. And any smart kid could put one together. I think the idea started when I found out how much the wheels for those standard gearmotors cost: “Heck, I could print a wheel for that!”
This one has a Teensy 2.0 for a brain, an L293 motor driver chip, a no-name micro servo, sonar, some front wheels off a surplus site, a clearance-sale USB charger from the old Radio Shack, an optical interrupter to read the rear wheels from another surplus site, and a half-size breadboard that provides much of its structural integrity. (Oh, and if you look at the picture carefully you might notice a 7805 voltage regulator in case you want to run your bot off a LiPo battery and get better performance out of the motor.)
I’ve always been vaguely dissatisfied with bots that use two-motor drive for turning, so I came up with this design instead. It’s somewhat less maneuverable, and you have to think a little harder about navigation (pre-calculus, anyone?). But I get simple sonar maps for free, and people who program it get a little practice in controlling servos.
The rear wheels embody some interesting history (for me anyway). My first draft had a reflective sensor that read whether there was a spoke in front of it or not, for an accuracy of about an inch (and a whole lot of analog fiddling to get the thing to read in varying light levels, at slightly varying distances from the wheel, with wheels printed from different materials and so forth). It wasn’t until I’d gained confidence in my 3D printer (and found a logic-level interruptor for a steal somewhere) that I came up with the notion of printing a perforated cylinder. And now I look at it and figure I could probably double the resolution with careful printing.
I hope other people print some of these up, because I really don’t have enough imagination about what to do with them (if you don’t believe me, look at my lousy code). I’d love to see a bunch acting like Braitenberg’s vehicles, for example.