Fun Projects for your LEGO MINDSTORMS NXT!

Home     Projects     Help     Contacts

Castor Bot
Building: Intermediate


Building Instructions




Important: Use step 3-AA if using AA batteries, use step 3-Li if using the NXT Lithium rechargeable battery.

3-AA (for AA batteries only)

Continue to Step 4

3-Li (for Lithium Rechargeable Battery Pack only)









Use two medium length wires to connect the two drive motors to ports B and C on the NXT. 

Important: Keep the left wire on the left and the right wire on the right (do not cross the wires).


Building Tip: Weight Balance

When building a robot with a castor wheel, it is important to consider the weight balance of the robot.  For good turning, you want to have most of the robot's weight over the drive wheels, if possible.  But there must also be enough weight over the castor to keep the robot stable and avoid tipping over.  If too much weight is over the castor, the robot may struggle to turn, might get caught up and stall, or the drive wheels might start slipping.  However, if too much weight is over the drive wheels, the robot may pop a wheelie when told to drive backwards.

As determined by the experiment below with a small scale, the Castor Bot robot has a total weight of 624 grams, with 466 grams over the drive wheels.  This works out to 75% (466/624) of the weight over the drive wheels.

The Castor Bot's total weight is 624 grams 466 grams (75%) is over the drive wheels


Castor Bot Programming

The Castor Bot is a basic two-motor drive robot with sturdy construction that turns easily.  You can use it as a starting point for your own projects, and program it however you want.  To get you started, here are a couple of programs that demonstrate the use of the Move block to do different kinds of turns.

The TurnDemo program (Easy) shows three kinds of turns using the Move block:

  • Pivot turns, where the wheels turn in opposite directions to make the robot make a very right turn.

  • One-wheel turns, where the robot turns by moving one wheel and keeping the other stopped.  These turns take more room than pivot turns but are usually more accurate.

  • Curve turns, where the robot makes a gradual turn by moving one wheel faster than the other one.

The Spiral program (Intermediate) demonstrates using the Steering parameter on the Move block's data hub to numerically control the amount of turning.  It makes the robot drive in a spiral of steadily decreasing radius. 


  • Try writing your own programs to make the Castor Bot move and turn.  Can you program the Castor Bot to follow a pre-determined path of straight and turn segments that will get it where you want it?  Use "Move" blocks with the motors set to B and C.  As built, the castor is on the back of the robot, so motor B is on the left and motor C is on the right, but you can just as easily drive it "backwards" if you want.

  • Try making some attachments to add to the Castor Bot.  For example, can you make a bulldozer-like pusher attachment that can push objects along the ground?

  • Try adding some sensors to the Castor Bot.  For example, you could add a touch sensor sensor to make the robot alternate between going and stopping whenever the button is pressed.

  • For math puzzle fans, if you try the Spiral program and also experiment with the Steering slider in the Move block's configuration panel, you will find that the 11 different values calculated for the Steering parameter in the Spiral program (0, 10, 20, ..., 100) do not correspond to the 11 different positions that the Steering slider can have in one direction (plus center).  The Steering slider produces a "non-linear" steering effect that favors more gradual turns.  From evidence you gather experimentally, can you determine what formula is used internally to calculate the Steering parameter value for a given position of the steering slider in the UI?


Home     Projects     Help     Contacts

2007-2011 by Dave Parker.  All rights reserved. 
All project designs, images, and programs are protected by copyright.  Please see the usage policy.