I saw a Photopopper on the cover of Nuts & Volts magazine a few years ago and wanted one. My birthday was coming up, so I ordered one from Solarbotics then asked my wife, Barb, if it was okay. Shes used to this by now, so she didnt complain. I ordered it over the Web, paid a few extra bucks for faster delivery, and it came within two weeks. Solarbotics is based in Canada, so the Photopopper had to go through some form of Customs inspection. Written on the shipping package in pen, apparently by someone in Customs, was the interesting phrase "toy resembling animal". A Photopopper looks somewhat like an oversized Palmetto bug commonly found in trailer parks in south Florida.
A Photopopper is a BEAM robot. BEAM stands for Biology Electronics Aesthetics Mechanics. Mark Tilden, a chubby Canadian physicist working at Los Alamos is the inventor of Beam robots and the philosophy behind them. BEAM robots make no pretense to being intelligent. They are simply survival machines, similar to any low-level organism. A Photopopper's goal is to find the best source of light and travel towards it. Tilden holds the patents on the circuits, but makes them freely available for private use. This keeps BEAM robot development mainly in the realm of the garage hacker, which is good. BEAM robots and their disciples parallel experimenters and pioneers in the early days of personal computing. In those days, people bought kits and parts, spending untold hours soldering components, wiring backplanes, and entering machine language instructions via paddle switches or a hex keypad. Success was certainly not guaranteed-- failure was more of a sure bet. But so what! If something didn't work, then half of the fun was in the debugging. Nobody learned very much by simply soldering components and entering in programs that someone else had written. The real learning experience and deep understanding began with a scope or logic probe and some creative machine language test loops. That's kind of the way I see BEAM robot development now. Anyone who missed the early days of personal computing can still experience this sane sense of discovery and excitement by creating a BEAM robot.
I opened the shipping package and pulled out the inner package that held the Popper. The package was made of clear plastic, stapled at the top with thick, folded-over paper. It reminded me of the early pre-shrink wrap days of personal computing when a lot of programs were sold like this. Guys in their garages, kitchens, and basements hacked out the code, put it on a floppy, typed a brief users guide, then put it all in a stapled plastic bag and hoped for a few sales. It was more about sending a dream out into the real world than about making money. The crude, homespun package the Popper came in was instantly appealing to me.
I received the Popper on Friday afternoon, so I deferred my Friday night plans and started getting ready for the build session. It was unusually hot and humid, so my garage based lab was at least twenty degrees warmer than that the outside temperature, which was around 88 degrees F. Building the Photopopper was definitely a kitchen table job. This meant many trips between the garage and the kitchen for tools. Its classic, no matter how well you try to anticipate all the tools need for a project, the one tool needed at any given moment is still out in the garage.
The Photopopper was a lot smaller than I thought it was, which is okay. One of the appealing things about BEAM robots is their diminutive size. I set out the tools, put the red circuit board in the holding vice and opened the manual. I cheated somewhat. Since I received the Popper at noon, and I go home for lunch, I took the manual back to work with me and read it there.
Heres a picture of the initial setup.
I felt fairly confident about building the robot by reading the well written manual in advance, but I was still a bit apprehensive, since I dont build things well. The first computer I built, a single board ELF computer based on an RCA 1802 never worked really well, and I never could fix it reliably. I hate it when I build something, turn it on, and nothing works. I once bought an old 6502 based KIM single board computer for twenty bucks and powered it up backwards, instantly smoking the PROMs. That was a real bummer for me-- not the loss of the twenty bucks, but being unable to play with a historically significant computer. My track record is not good, but I was ready to get started.
The most important part of the entire assembly is placing the transistors and voltage detectors in properly. If this is done incorrectly, the robot will not work. The manual is very explicit about this, warning the reader in several places. I carefully fit and soldered the transistors in place, checking and double checking along the way. The circuit board, which acts as the body of the robot, is clearly marked and contains an outline of the curvature of the component, making it hard to foul up. Everything went well with this step, as shown in the fuzzy Figure 2.
The next steps consisted of installing the motors and optical sensors. The motors are tiny yet powerful pager motors, held in by fuse clips. This is another appealing thing about BEAM robots; theyre built using just about anything small. I made my first mistake by installing one of the optical sensors in backwards. I had some solder wick handy so I carefully removed, reoriented, and re-soldered the sensor into place, not knowing whether I damaged it or not. Figure 3 shows the Popper with the motors and sensors installed. (Notice the solder wick!).
Now it was time to install the solar cell, then the storage capacitor. The cell was easy, but the cap was different. Soldering in the cap was the moment of truth. As soon as the cap is installed, the cap begins charging then release the stored energy into the paging motors, which rotate in rapid bursts. This will only happen if everything is installed okay. The manual said to hold it up to a light source and one of the motors should continuously pulse. I soldered in the cap and was ready to test. By now it was dark outside, so I held the Popper over a halogen lamp, and sure enough, one of the motors pulsed. Cool!
One of the last things to do, and by far the hardest, is to assemble the touch-sensors, or feelers. The feelers are long strands of thin wire a little over twice the length of the robots body. Its really difficult to expand the diameter of the spring and slip it over the shrink tube covered pin. Mistake number two: one of the pins broke. I wasnt too dismayed, and took as kind of a BEAM challenge to scavenge for a substitute part. I cut a leg off a dip socket and used that, and it worked fine.
Finally, I installed the feelers. Although not ideally constructed, they looked worked. Now it was time to tune and test. The finished Popper is shown in Figure 4.
The Popper wandered to the left, and this was easily adjusted with the trim pot on the rear of its underbelly. It was now pretty late and dark, so I decided to defer testing until the morning. The Popper sat there, occasionally twitching, looking strangely alive. I already felt attached to the little creature.
The next morning was bright and sunny, so I was in luck. I noticed a high contrast shadow by the doorwall leading to the deck, so I put the Popper along the edge. Sure enough, it followed along the edge and made a somewhat leisurely track to the doorwall, wanting to go outside, as shown in Figure 5.
I took it outside into the full sunlight. The motors pulsed at about one second intervals, maybe a little less. I put it on a small concrete walkway the was filled with intermittent shadows caused by trees and bushes (Figure 6), then waited to see what the Popper would do.
Figure 7 gives a good indication of the Poppers scale to the rest of the world. Although fairly rugged and well constructed, its still small and can easily be stepped on and crushed. The Popper slowed down in the shadows, but always moved toward the light. The concrete walkway is somewhat porous, causing the tiny shafts of the pager motors to spin in place Occasionally the Popper fell off the edge of the walkway and went nowhere. Notice that the lawn and edging looks a bit ragged and unattended to I spend my spare time writing, researching, and building robots. My house and yard suffer for it.
I moved the Popper onto to lawn to see what it would do, and it just spun its shafts in place, as shown in Figure 7.
One dramatic improvement to the basic Photopopper design may be to add lightweight but large foamy tires, giving it a better chance of navigating over difficult terrain.
Next, I took the Popper into the garage, facing it opposite to the light from the open garage door. In came Sadie, our dog, heading straight for the moving Popper. Sadie was mildly curious, sniffed the Popper, then sat next to me and watched it gradually turn an about face and wander out of the garage into the outside world. Sadie checking out the Popper is shown in Figure 8.
This little robot, and the whole concept of BEAM robots, turn me on in a big way. I like the concept of goal seeking machinery without batteries. I also like locomotion without explicit brains (i.e., no microprocessor). After building the little Photopopper and watching it react to its environment, the thought of batteries, drive belts, and frames seem crude and clunky. Another appealing BEAM attribute is utilizing the actual components for the mechanical structure and body of the robot. This seems more economical, and more in line with nature.
I plan on integrating BEAM locomotion with small microcontrollers. The microcontroller can act as a primitive brain of sorts, but cannot interfere with the basic survival instincts of the BEAM circuit. This should make for some interesting experiments, discoveries, and lots of fun. When I first opened the Photopopper assembly manual, a tiny spider scurried from the binding. My first impulse was to squash it, but looking at the tiny spider, I thought, this is really an ultimate goal of BEAM technology-- to create a tiny, self sustaining, living machine. After building the little Photopopper, I have a lot more respect for insects.