| Back to the Articles |

Some Thoughts on using Microcontrollers in Beam

The Picaxe is quickly becoming the de facto Beam microcontroller. But programmable Beam is an oxymoron, right?

Our abandonment of the processor traces back to an encounter with a Tomy Omnibot and a cat named Ninja. The story is all over the place and I won't bore with the details. Basically, the cat frustrated the robot, the robot aggravated Tilden, and Tilden abandoned programming.

One piece is glossed over in telling this story: the problem was as much with the program as with the microcontroller.

Programming, by convention and constitution, encourages rigid thinking. Possible situations get boiled down into if-then blocks of code. If one is not careful, these blocks run wild and result in spaghetti code. Even at its best, code tends to be rigid and exceptions lead to stops or security holes. Such is the nature of programming (though it is improving).

I read somewhere that this is the result of linear thought meeting nonlinear reality. I am not certain that this is the case, although I am inspired by the comparison. Why not program nonlinearly? Put another way, why not develop a Beam-style of programming?

I was not the first to think about this. Terry Newton was. He documents a couple projects on his Solarbotics website. The one on simulated Bicores, in particular, really should be tried out on a Picaxe. I hope to have the time to do so, one day. But I digress.

My point is that what matters is not the implementation but rather the outcome. One can use Nv Nets to build a robot every bit as rigid as the worst microcontroller example. I wager that one can also build a robot every bit as flexible and compliant as the best Beam example using microcontrollers. All that is required is the time and desire.

J Wolfgang Goerlich
January 2006

Related Links:

1. Terry Newton, "A Self-Wiring Array of Bicores for Robotic Control", 24 Jul 2001
http://tnewton.solarbotics.net/selfwire.html