The IR Brainibot (Infra Red Brainibot) is a small mobile robot with two infra-red obstacle detectors and light sensors, two motors, a sounder and an 8-bit computer running at 4MHz. It is a further development of the Classic Brainibot. It can be programmed from a PC or via a pushbutton. The default program heads towards light while avoiding obstacles in its path.

The Classic Brainibot has been on sale for many years and has been very successful as an introductory educational kit. The Brainibot was designed to be the cheapest possible intelligent robot.

Two versions of the IR Brainibot are available. One is based on a the Classic Brainibot but costs around £1 more. The other is based on a 6-wheel chassis and costs around £4 more. (See Classic Brainibot page for prices.) It is supplied as a kit. The instructions and programmer are included on CD.

The IR Brainibot consists of a chassis with two motors in the normal skid-steer arrangement. It has the following features:

  • two Infra-Red obstacle detectors
  • two light-level sensors
  • speaker
  • comms with PC for programming
  • "timeout" timer
  • "external sensor" input

The "external input" allows users to add their own binary sensors. For instance, a reed switch could be taped to the front of the robot which is activated when it finds a magnet.

The IR Brainibot is not yet in full production. The software and hardware are complete but the documentation is not yet as slick as I'd like it. Please email me at PeterBalch@btinternet.com

CE approved. Not suitable for children under 36 months. Contains small components that could represent a choking hazard. Contains components with sharp points. Recommended age 10+. Assembly should be carried out under adult supervision. Batteries not included; requires 4 AA/UM3/LR6 batteries. Requires soldering. Soldering iron and solder not included. Designed and assembled in Scotland. Component contents foreign.


The IR Brainibot is programmed from a PC running Windows. Programs are downloaded over a serial cable.

The programming system is based on that used by the Picobotz. (See the Picobotz page for a fuller description.)

You can download a copy of the programming system.


There is a single variable called N. Several of the instructions use N as their parameter; for instance

N = 20
Timeout = N

Events and Behaviours

The robot responds to its sensor inputs by executing Events and Behaviours.

A program consists of one or more "Behaviours". Each Behaviour contains a Main Handler and zero or more "Event handlers". You can create Event Handlers and Behaviours via the Event and Behaviour programming pages.

The program below has two Behaviours. The Main Behaviour has a main program and three Event handlers. Behaviour 2 only has a main program.

The Main Handler and the Event handlers contain instructions to turn on and off Motors, make Beeps, etc. The robot initially runs the Main Handler of the Main Behaviour. When it reaches the end of the the Main Handler it returns to the start and executes it repeatedy,


If, at any time, a sensor value triggers an Event then the robot stops executing its current program and starts executing the Event handler. For instance, in the above program, it the robot senses an obstacle to the left then it starts to execute the ObstacleLeft Event handler.

When execution reaches the end of the Event handler, the robot starts running the Main Handler of the current Behaviour again. It re-starts at the beginning of the Main Handler.

Only events in the current Behaviour which are to the right of the current handler can be triggered. So, while the robot is executing the ObstacleLeft Event handler, it will not respond to obstacles to the right but it will respond to a Light > Threshold Event.


Behaviours are like independent programs. They have a Main Handler which is executed repeatedly and Event handlers which are executed when Events are triggered. Only one Behaviour is being executed at any time. An Execute Behaviour N instruction tells the robot to start executing a different Behaviour. It continues to execute that new Behaviour until it meets another Execute Behaviour N instruction; at the end of any Event handler, it returns to executing the Main Handler of the current Behaviour.

Only Events in the current Behaviour can be triggered. Event Handlers in other events are ignored. In the above program, if a Light > Threshold Event is triggered then the robot starts executing Behaviour 2.


Questions or comments ? E-mail me at PeterBalch@btinternet.com

No part of this web page may be reproduced in any form or by any means, including photocopying and recording, for any purpose without the express written permission of Analogue Information Systems Ltd.

This web page is copyright © 2003 Analogue Information Systems Ltd., 1 Warrender Park Crescent, Edinburgh EH9 1DX, Scotland, UK, Tel: +44 (0) 131 228 6008. All Rights Reserved