Let's Make Robots!

BEAM Phototropic Single Motor Walker

Walks towards light

Hello Everyone,

I have been working on this one motor walker the last month on an off. It was inspired by Jerome Demers' single motor walker, but with a few differences. I used a gear motor instead of a modified servo, and although I'm using a similar circuit based on one by Wilf Rigter, this one has photodiodes and can turn towards light.

I made the frame first, using plumbers strap, a small 6V gear motor, emergency cell phone charger and the two big gears. By the time I had that figured out I had got an order in from Jameco. I ordered on a Friday and they have a free item on Fridays. That day's item was a grab bag of LEDs. Looking at the one big 12 pin LED, I knew I had to use it on this bot. From that point I found a round pcb that was the same footprint as the LED and I started in on the circuit layout.



The 74AC240 is a tri-state octal inverting line driver, but in this case we use it to form two oscillators called bicores. The first one is connected to the photodiodes and called a phototropic suspended bicore. It operates at a 'high' frequency from 100Hz to 100kHz depending on absolute light level. The two outputs from the photo-bicore are complementary rectangular waveforms whose duty cycles are determined by the ratio of light on the two photodiodes. These two waveforms PWM the current through the two 1M timing resistors of the grounded bicore (which controls the motor). As the PWM duty cycle of the two signals varies, the effective value of the timing resistors does as well, changing the duty cycle of the grounded motor bicore, but not it's frequency. The remaining 4 inverters are used to drive the motor. Why to go to these lengths when you could just connect the photodiodes directly to the motor bicore instead? Because the frequency of the motor oscillations will vary based on total light level. Your walker would not work predictably in various light levels. Why use a bicore at all? It provides motor feedback, if the motor stalls it will reverse automatically. It provides direct environmental input into the 'brain' through this motor feedback along with the light sensors. It drives the motor directly, requires no programming and is completely analog.


The blue cylinder in the photos is an emergency cell phone charger. It houses a single AA battery and boosts it to about 5v @ 700mA... More than ample (pun intended) for the motor I am using. A good battery lasts about an hour.

Blinking lights:

The big LED in front is a 6 led package with 12 pins. I used four to display the state of the oscillators or what the bot is 'thinking'. The top two display the motor control signals and the bottom two display the phototropic bicore signals. The ladder of which are too fast to discern visually, so they appear to be constant on. There is also a green/orange bi-color LED attached to the motor bicore's outputs. I cut off the top of the led close to the die, superglued on a few strands of fiber optic cable and applied heat shrink.

Other bits:

The two large gears were scavenged from technoscrap. I used 'European terminal strips' (RadioShack) for the leg mounts, you just bust them out of the strip. They have 2 screws for tightening on wire, I drilled the gears out to match. The legs are cut from a metal coathanger with a plastic covering. I used inkjet printer ink tubes for the rubber grips on the feet. The current leg design, although working, is still under review. I will probably end up making some changes to their length. There are two high strength magnets superglued to the back of the circuit board along with the SMD 74AC240. These allow the head to be held in place securely yet removed easily. I used machine pin headers for the big LED and the motor bicore's timing resistors and adopted a freeform type of circuit construction along with standard thru hole practices.

Sorry, I did not take any pictures during construction...

I'll add a video as soon as I can get to it.

I'll add some more video soon.











Final schematic:



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Makes me feel a bit self-conscious about the sorry shape of my circuits, yours are so neatly packed and added to make a pleasing shape.

But then I snap out of it and simply try harder and practice more!

Thanks Doc. Don't doubt for a second that my first freeform circuits were not this pretty. I just have a love for freeform construction / compactness.

this is awesome!! can't wait to see the video.

Thanks! I'll shoot some video tonight hopefully.

Dear Nyarlathotep! This is art, sir.  Your through-hole assembly puts an iPhone PCB to shame.

I'm thinking I need to switch to attempting BEAM builds.  It seems diminutive and responsive.  Right now, when I use a uC, I feel like I'm giving simple creatures Stephen Hawking brains.  Oh! And I could actually learn something about actual EE, instead of just stringing stuff together and seeing what happens.

=D Thanks!

I hope you do try out some BEAM circuits, they are fun and have taught me much. There are many applications where they could be useful. I was thinking about a single bicore reading two photodiodes, a uC could measure a single output and by measuring the frequency can determine overall light level and by measuring the duty cycle you can tell the ratio of light between the two photodiodes. One pin to read two sensors and get the total light value too. I think another real potential for BEAM is to interface the robust low level walker circuits with a uC... Horse and rider topology.

very neat and good work as always.

Thanks Vis!!

That is a one-motor walker to be looked upto. You sure have been working on it for a while! Awesome Yahmez.

Thanks for the kind words Enigmerald.