Home :  Boatman :  animation   code  FAQ  

Boatman, side view

I've made two other Mindstorms boats (Boat_I and Boat_II), but neither of them could cope with the lily-pads that grow in the University of Chicago's Botany Pond during summer. Also, the outdoor daylight range of an RCX's IR Tower is pretty short which makes it tricky to control the boat at any distance beyond about 5 feet (nervous-making, given that the Botany Pond is about 40 feet in diameter).

I was just thinking what to do about this when I got a CyberMaster set for my birthday. (A French language set, which made figuring out the CD-based programming environment more interesting than usual.)

The CyberMaster, as you probably know, uses a radio-link rather than an IR-link, so I thought it would be ideal for summer pond applications. Also, the two built-in motors have built-in rotation sensors (about 50 'clicks' per full revolution). So, I started work on a rower, reasoning that this would deal with lily-pads and weed more efficiently than my previous fan-powered and propeller-powered Boats.

Boatman, front view
Boatman, on water

The chassis is a catamaran made from two Zeppelins from LEGO's 5956 Adventurers sets. Unfortunately, the Zeps are constructed in two pieces so that you can unscrew the tail section to store stuff inside the body. I thought it would be easy to seal the join between the two pieces, but all the mastic sealants I tried leaked! Then I realized that I could just tape the seam between the two pieces with vinyl electrician's tape (duh!).

The arms are driven by the CyberMaster's two built-in motors. Each arm is essentially a three-bar linkage driven eccentrically by a 40t gear mounted on each of the motors. The arms 'strike' and 'set' the oars (lift them in and out of the water). One problem with mounting the CyberMaster in a vertical orientation like this is that the CyberMaster's two flexible radio antennae stick horizontally out of the rower's 'chest', so I bent them upwards. They were still sticking out a good long way above the bot so I decorated them to look like a face.

The CyberMaster unit is contained in a cradle which moves back-and forth along a 'slide' of inverted 1x16 Technic bricks either side of the chassis. The slide bricks have their undersides covered with 1x4 rack pieces.

The third (external) motor drives a motor-14t:40t-8t gear-train. The 8t gears at the end of the gear-train engage the rack pieces on the underside of the slide to move the CyberMaster unit back-and-forth. The back-and-forth motion is geared way down compared to the arm motors so that the 'strike' (removing the oars from the water) is quick enough that the bot does not come to a dead stop in the water.

The oars are made from three lengths of 1x16 Technic Bricks with black plates for the 'blade' and the loom coming to a linkage to the robot's arms. The outriggers which support the oars are able to hinge upwards. The hinging allows the outriggers to move up with respect to the surface of the water if the oar blades hit something other than water (like a lily-pad).


Boatman was programmed in NQC. A ZIP of the NQC source can be downloaded by clicking the Code link.

The position of the arms is managed by the CyberMaster's built-in rotation sensors. A 'command' variable in the program is set via Spirit.OCX (run inside a VB5 program) using the radio-link to the CyberMaster. The 'command' variable states which oar(s) should be in the water at the beginning of the next stroke:

  • if both then the robot goes straight ahead,
  • if only the right oar then the bot turns one way,
  • if only the left oar then the robot turns the other way.

The position of the sliding cradle is monitored by two touch sensors built into the sledge. One is pressed when the CyberMaster reaches the bow end of the slide; the other is pressed when the CyberMaster reaches the stroke (stern) end of the slide.


The oars were not trapped by the lily-pads (good!), but the trailing edge of the zeppelins' fins got caught on the lily pads sometimes (not so good!). Control at a distance using the radio-link was better than with the RCX-based IR-link. We had a lot of fun taking photographs and movies. I can email you an MPEG (envcons at ameritech dot net) if you're interested.

  Home :  Boatman :  animation   code  FAQ  
LEGO® and CyberMaster are registered trademarks of the LEGO Group of companies which does not sponsor, authorize or endorse this site. Read the full heavy latin from LEGO for more details.

 Page and graphics copyright © JP Brown, 2001-2006. All rights reserved.