BB2B version 1

A Breitenberg-2B robot

In this post we describe how to make a simple but interesting robot. It is so simple that it does not even use a microcontroller. The robot will be able to drive around on its own and will show interesting behaviour.

The robot is inspired by the vehicles invented by Valentino Breitenberg. He created a number of conceptual vehicles which show life-like behaviour. By connecting sensors and motors together in a specific way, different behaviours can be observed.

Our goal is to make a robot which moves around in a space autonomously, avoiding objects. Next to that, we want to make the robot as simple as possible because that helps you to understand the way the robot works. Based on these goals, we come up with the following setup:


  • 1 2WD car chassis
  • 2 TT motors
  • 1 4x AA battery pack
  • 1 (mini) breadboard
  • 1 TB6612 motor controller
  • 2 microswitches

The robot runs on a 4xAA (4.8v) NiMH battery pack and the movement is quite slow, but that is good for the integrity of the car :-).  The use of a 6 volt or higher battery pack is not advised for this project.

Besides the TB6612 motor controller, a DRV8833 or L293D controller can be used too, which are less efficient but work as well.

How it works

Each wheel will either rotate forward or backward with a fixed speed. When the robot is not colliding, both wheel will rotate forward and thus the robot will move forward.

As both switches are placed at the front of the robot, they will be able to detect whether the robot collides with something. Depending on which switch is closed, the robot will behave as follows:

  • Left swich is closed only: the robot will turn right
  • Right switch is closed only: the robot will turn left
  • Both switches are closed: the robot will drive backward

All of this is achieved by connecting the left switch to the right motor and the right switch to the left motor. When the switch is open, the motor rotates forward, when it is closed, the motor rotates backward.

You will see that with this setup, the robot will be able to move around the space quite well. 



The TB6612 and DRV8833 have been mounted upside-down such that the pin labelling can be read.

Next: BB2B version 2 - ultrasonic sensors and a microcontroller