Page 280 - Hacking Roomba
P. 280

Chapter 13 — Giving Roomba a New Brain and Senses                    261



                             It’s tempting to skimp and not get a box of pre-cut jumper wires. Don’t do it. It’s possible to
                             cut and strip wires yourself (and necessary if you run out of pre-cut wires), but using just any
                             sized wire makes for an ugly and hard-to-read circuit. The ill-fitting wires move around, put-
                             ting stress on the breadboard holes. Making jumper wires takes a lot of time, which is kind of
                             beside the point of using a solderless breadboard. Get a box of pre-cut jumper wires and you’ll
                             be a much happier hacker.

                             Alternatives

                             Although the circuits presented in this chapter are both simpler and easier to build than the pre-
                             vious projects, even easier ways to re-program your Roomba are emerging. RoombaDevTools.com
                             is working on two boards that are functionally very similar to the Basic Stamp and Arduino
                             boards. They are:

                                 RooStamp: A carrier board for Basic Stamp 2 that interfaces to Roomba. It is
                                 Bluetooth-optional with servo ports and GPIOs exposed to the user, and it is powered
                                 by the Roomba battery.
                                 RooAVR: A high-end 16-bit Atmel AVR processor with plenty of I/Os, Bluetooth
                                 onboard, A2Ds, URART, JTAG, and servo ports, also powered by the Roomba.

                             Both of these boards can also be powered externally if your project needs to draw more current
                             than Roomba can supply. The RooAVR uses the same type of microcontroller as Arduino, so it
                             should be possible to use the Arduino programming environment with it.
                             If wiring up a microcontroller to your Roomba is not your cup of tea and you want to get
                             started immediately making an autonomous robot, check out RoombaDevTools.com for these
                             devices. But hooking up a little computer to Roomba isn’t so hard really, as you’ll see.


                     Adding a New Brain with the Basic Stamp

                             The Basic Stamp was created by Parallax in the early 1990s to address a persistent problem of
                             embedded systems design: making it easy to use. Because microcontrollers are so self-contained,
                             you couldn’t just add a monitor and keyboard to them to see what’s going on. Instead you
                             needed some sort of development system, usually costing thousands of dollars. When you got
                             the development system, learning the strange non-standard languages used to program the
                             microcontroller was daunting. It could be months before you get a working system. And even if
                             you could get all that working, acquiring the microcontrollers themselves was quite difficult
                             unless you were a large company that wanted to buy 10,000 of them.
                             Parallax solved these problems by taking a common microcontroller, placing it on a hobbyist-
                             friendly carrier board and writing a BASIC language interpreter for it. Now anyone who could
                             program in BASIC could buy a single Basic Stamp and get a tiny stamp-sized microcontroller
                             running a program they wrote, and do it in an afternoon. It was a revolutionary way of thinking
                             about microcontrollers and for the past decade the Basic Stamp has been the standard in
                             microcontrollers for hackers.
   275   276   277   278   279   280   281   282   283   284   285