The GearsBot App

The GearsBot app was developed by Cort Wee of A Posteriori in Singapore during COVID lockdowns in 2020-2021.

The project is completely open-source, and has been contributed to by many other developers in the past few years, and used freely by an active and enthusiastic community all over the world.

The GearsBot base robot Single Line Follower and the coding blocks available are generally inspired by LEGO Mindstorms, as is the python API, which is based on EV3 third-party contributions.

The Blocks tab is where you code using block-based programming. The Python tab is where you code using Python and either the ev3dev or pybricks APIs. The Simulator tab is where the robot runs are simulated in a virtual, but physics-based world.

At the time of writing, the GearsBot platforms supports the basic building block shapes: box, sphere, and cylinder

It supports the following set of Sensors:

The first four are also supported by the LEGO Mindstorms platform.

It supports the following set of Actuators:


On your PC/Laptop or Tablet you will need to open a web browser, like Chrome, and navigate to or

Starting Out

The app starts with the Blocks tab open. You can navigate to the Simulator tab just to see the current world and robot selected. By default, GearsBot starts with the Grid Map and the Single Sensor Line Follower robot.


The Camera control is very useful. You can look at the world and the robot from many different angles, you can find issues with new world you create. You can zoom in or pan to a particular part of the world or the robot.

In short get comfortable with the various camera options and view controls.

Mouse wheel can be used to zoom in and out in all three views.

Manual Control

Use manual control to make the robot drive around. It's not quite like driving a car. For one we have a differential drive system, with each wheel moving independently.

Click on the Joystick and use the mouse/touch or arrow keys to move the robot around.

Port View

Now open the Port View and drive up to a wall, all the while looking at the changes in the sensor readings. Specifically, you should concentrate on the ultrasonic sensor, and the wheels (left & right motors).

Reset the world/simulation, to zero the the motor positions to get an idea of how far a degree or 360 degrees of wheel rotations get your robot.

Now let's begin coding the robot movement...