Micromouse Guide


Stepper motor kits consisting of a motor and a driver PCB are available for around £20 each from electronic suppliers. Ex-equipment items can be bought for less. Relatively limited power means that wheel-spin will not be a problem. It will not break records, for that you must use more expensive rare-earth magnet motors with slick control systems, but it will work. The driver chips are operated by two signals. One signal determines the direction of rotation, plus for forward and minus for backwards. The other moves the stepper by one step each time it goes from minus to plus. Simple.

DC motors are cheaper to buy, and simple to drive - just switch them on and off - but they need feed-back sensors to allow control of the speed. It is necessary to detect the rotation of the wheels, usually by means of IR sensors detecting reflective segments on wheel disks. Speed is best controlled by pulling the motor supply - it uses less battery power than analogue/resistor methods. Low-inertia, efficient servo-motors bring advantages of fast response and efficiency, but add cost.

Radio-control servos are available in model shops for from about £8 each. They contain a small DC motor, a gear box and some control circuitry, and feed on 5 volts at about 100mA maximum, and about 10-20mA when idle. They have a three-wire connector, one common wire (0 volt, usually black), one +5v wire (usually red), and one signal wire. In normal use they are controlled by pulses of about 1 to 2 milli-seconds at a repetition rate of about 50 per second. A short pulse makes the servo drive to one end of the travel, a long pulse makes it drive to the other end, and a medium one puts it somewhere proportionally between. Some servos (beware, some servos, not all) have gear components which allow them to rotate continuously, not their usual mode of operation. How can you make them do this? Inside a servo is a feed-back potentiometer used by internal circuits to measure the position of the output shaft. If this is disconnected and the wires taken to an external pre-set potentiometer, the servo will drive continuously in one direction if fed with short pulses and vice-versa. No pulses, servo stops. Two such servos can drive a micromouse; one servo in 'normal' mode to steer the micromouse, one with the above modification to drive it forwards and backwards. The pulses are at normal TTL levels (if you don't know what that means - leave the electronic bits to someone else). The speed is not greatly affected by the pulse repetition rate, as long as it is above about 30 per second.

These pulses can easily be provided by an output port of just about any computer, for instance the data or control lines of a printer port or a serial port, or a simple addressed latch added to the memory circuits. A possible configuration is the tricycle described above, with one driving and steering-wheel at the front and two idler wheels at the rear. Using an RC servo for steering is a good method, because the position of the steering mechanism is determined by the length of the servo drive pulse, which can be generated by a software countdown loop, or a simple hard-ware counter. If an RC servo is used as a drive motor, wheel motion sensors are needed on at least one wheel as in any DC motor system. The use of an RC servo for driving only simplifies the mechanics.


Sensors have two purposes - to detect the presence or absence of walls to the sides and front, and, in some designs, to provide feed-back about the motion of the wheels. Wall-sensors need to be mounted ahead of the centre of the micromouse for steering purposes. The reason for this becomes clear if you consider the effect on wall sensors if the micromouse is rotated within the micromouse maze by, say, ten degrees. If the sensors are mounted ahead of the micromouse, they will see a difference in wall position with respect to the micromouse and corrective action on steering is possible. If the sensors are near the centre of the micromouse little difference in apparent wall position can be seen. To achieve reliable steering you must control direction, not position.

Wheel sensors have to operate quickly to measure position to reasonable tolerance, say 2-3 mm, on a micromouse travelling at high speed.


Ultra-sonic detectors, using sonar to detect presence and distance is, at the simple level, not easy. The method has been used but there are problems caused by reflections, the short distances involved (a few centimetres) and the interaction between multiple sensors to detect walls on the left, on the right and in front. This makes them too difficult for amateurs, I think, unless they have relevant experience.

Mechanical switches, such as micro switches, or reed switches worked by magnets on feelers, are simple, and they can be heard working, a simpler method of checking than using an oscilloscope to measure current pulses out of IR diodes.

The first successful micromouse ever, built by Nick Smith in 1980, was called Sterling Mouse (get it?). It used reed switches worked by a cunningly shaped pair of 'wings' which rested on top of the walls. The curved undersides of the wings made them ride up if the wall was close and vice-versa. Each wing operated about six reed switches by a magnet, closing them in succession as the wing moved up or down. The front wall-detector was a micro-switch with a thin flexible wire arm. He used stepper motors, so no drive-wheel feed-back was used. It worked well, and proved that the job could be done, when every other effort had failed. This micromouse has recently re-entered competition, and is still running successfully - but slowly by modem standards. The simple ideas are reliable.

My first micromouse used micro switches for all sensing. It sensed walls with two switches operated by long wire arms. A similar method was used to detect walls in front, and a switch operated by a hexagon nut glued to the side of the single drive wheel opened and closed six times per revolution to measure linear progress. Steering was by mechanical feed-back from the micromouse maze walls by a second pair of 'whiskers'. All these arms/whiskers had to be retracted by bits of nylon thread when the micromouse turned corners by lifting himself on a central foot which was revolved by an RC servo when all three wheels were off the ground.

Infra-red sensors have no mechanical components to tangle with walls during turns or reversals. They operate much faster than mechanical switches. They are reliable when adjusted correctly, but may suffer interference from massive doses of IR from filament lamps used to illuminate micromouse mazes during public exhibitions, and from flash-bulbs, though flash photography is prohibited during competition runs.

The common form of IR wall-sensor is a row of IR-emitting diodes shining down onto the walls on each side of the micromouse, and a set of about five IR-sensitive diodes on each side looking downwards to determine the presence and position of the walls to the left and right. If these are mounted ahead of the centre of the micromouse they can also detect the presence of a wall in front, or a separate sensor may be used. To reduce power consumption and the effects of interference, emitters are usually pulsed during sensing cycles with power far above the nominal continuous rating. Sensors to detect and measure wheel motion must be fast to achieve good position resolution at high speed. Such sensors use reflective or slotted disks on driven or non-driven wheels. Most electronic catalogues list items designed for such use, containing an emitter and a receiver in one assembly.

Vision systems are used on top competition mice, using simple CCD cameras sensing the line of colour difference between the white walls and the matt black floor of the micromouse maze. The technique is one to look forward to, not for use on your first attempt.

Next page>>


Please note that TEE is not responsible for the content of external internet sites that may be linked to from this site.