LEGO Bolo Mark .8
This was done in 1996 and is still here because it has been linked to by a bunch of sites and I tried to take it down and had many request to put it back, Though some things are dated people are still interested.

The Bolo Mark .8 is my platform to test out different sensors and programming techniques
in autonomous robot control. The knowledge I am gaining from this will directly translate
to my other larger robot projects.

     I have been a collector of LEGO building bricks since I was about 9 so I jumped at the
chance to make them into a pseudo life form. I knew that they would be the perfect choice
for construction.

LEGO Kits:
1 each Technic 8229 (Treads and parts $19)
2 each Technic 8720 (9vdc Motor Kits {man are these expensive $38 each, you can order them
cheaper*)) and some misc. parts for decoration collected over the years/

Since my Robot budget is limited, I built the brains for the Bolo to be as universal
as possible. This is why all of the red wires are sticking up on the board, with these
jumper wires I can reconfigure the board in a flash. I have enough driver chips on board
to drive six motors (I have two Robotix kits that have 4 motors in each and I was
averaging about 6 motors in the projects I built with them).

1 each Basic Stamp II from Parallax Inc
1 each Stamp II carrier board from Parallax Inc
2 each 74HC10 Triple NAND Gate IC
3 each SGS Thompson L293D Dual H-bridge driver

From Radio Shack
2 each Microswitches with rollers (bumper switches)
1 each Package of 5 CDS photo cells (eyes)
3 each 0.1uf Tantalum Caps
4 each 220 ohm resistors
2 each 10k ohm resistors
1 each LED (power light)

Since I couldn't locate a 6 AA (9vdc) battery holder I chopped an 8 cell holder and
Hot Glued it to a 4x8 flat LEGO platform.

About the Programming:
The Basic Stamp II has 2K of EEProm for program storage and data storage( it's kind of
like programming a VIC-20 or a Timex Sinclar 1000) so you have room for about 1500 to 2000
instructions depending on how you use it. Keeping this in mind I knew I couldn't get to
elaborate so I decided to do a light following program.

I setup two variables for normal speed, one for each tread ("LS" for the
left and "RS" for the right) incase the motors ran at different speeds I could
compensate for the Bolo curving as it was moving in a straight line. This worked great but
when I started writing the Light AI routines I realized that these routines would
compensate for this themselves. I left the individual left and right variables in anyway
incase future modifications might change this.

The CDS cells I bought at Radio Shack were in a 5 pack and none of them had the same
range. I used a multimeter to find the ones that were closest. I would recommend buying
CDS cells that are manufactured to a certain range. You will have more precision in your
readings and better control of your robot. I found that the CDS cells reacted different to
florescent light than incandescent light. I set the "Limit" constant to 4 for
fluorescent and 7 for incandescent.

Treads and Shag Carpet:
This was my first Robot with treads and I didn't realize the gripping power of treads. I
originally had the bump routines back up a few inches, drive the treads in different
directions to turn in place about 33 degrees, and then move forward again. On tile floors
this worked great but on carpet the treads would grip the carpet and cause the drive belts
to slip. This caused the Bolo to not turn more then about 5 to 10 degrees. If I just
increased the time in the turn routine when he ran on to a tile floor and bumped into
something he would turn almost all the way around and go the other way. So I changed the
routines to drive both treads backwards at different speeds. This was more constant and

Rubber bands, Gears, and Chains:
The slipping of the rubber bands on the motors lead me to try replacing the pulleys with
gears. The results were great. The control became very accurate and the speed increased
and his performance was very snappy. The Bad side was the noise. The plastic gears hitting
each other made a very annoying growl. So I switched back to the rubber bands. I am going
to keep an eye open for some chain links that will fit the Lego gears to see if I can have
the best of both worlds.

I have changed the eyes on the Mark .8 from three light sensors to just two. Both eyes
look straight ahead and have a barrier between them so light from one direction will have
more of an impact on the decision of witch way to go.


You can order motors, gears, and cables cheaper from LEGO Direct 1-800-453-4652
The 2 motor kits(#8720) are $39.95 each or $79.90
or you can order
2- motors (#5114 or the new #5225) $17.50 each or $35.00
1- 9 volt motor wire (#5111) {cut it in half so you can connect both motors to the
controller} for $4.50
1- Small Beams & Plates (#5228) for $4.50
1- Gears & Differentials (#5229) for $4.50
1- Cross Axles (#5226) for $4.00
a savings of $27 and you get a lot of extra gears, axles, and bricks.
What you don't get is the LEGO battery boxes but you can't use them for robotic control
anyway. So call and get your Catalog!

P.S. LEGO has made their own robot lab kit called the LEGO MINDSTORM. You don't have to
build you own controller and the software is all icon based (you build lists of ICONS) for
about $220

Basic Stamp II

What is a Bolo?