Rolling EV3RSTORM: a self balancing robot

The Rolling EV3RSTORM is a self balancing robot with the following abilities: it keeps the upright position in equilibrium on its two main wheels; it moves forward and backward or turns on the spot and:

  • tracks the EV3 IR Beacon with the EV3 IR sensor in its head;
  • chases the IR Beacon signal;
  • fires with the gun when at firing range.

Check the video below for a small (and hopefully funny) demonstration of the robot abilities.

Discover the Rolling EV3RSTORM

Check the following links to build and run the Rolling EV3RSTORM

→ Balancing robot hardware

→ Balancing robot software

Building instructions

→ Credits

Balancing Robot hardware

The Rolling EV3RSTORM main hardware components are:

  • N.2 EV3 Large Motors used to drive the main wheels. The Ev3 Brick uses both the wheel
    angular position and the wheel angular speed of each motor as part of the balancing control task.
  • N.1 EV3 Medium Motor drives the robot head (appearance got from the original EV3RSTORM). The head is programmed to turn toward the IR Beacon
  • N.1 EV3 Medium Motor is part of the terrible 😀 robot fire gun (mechanics got from the original EV3RSTORM).
  • N.1 EV3 Gyro Sensor gives the angular position and the angular speed of the robot with respect to the floor. These two data are fundamental to calculate the compensation to keep the unstable upright position.
  • N.1 EV3 Touch Sensor used to start the balancing task.
  • N.1 EV3 Brick.

Balancing Robot software

The software for the Rolling EV3RSTORM is written in C# and compiled with Visual Studio 2015 and the Monobrick firmware library. The source code is available on GitHub.

Building instructions

Use the following instructions to build the Rolling EV3RSTORM in no time


Rolling EV3RSTORM: a self balancing robotThis robot is a bit complicated, and I couldn’t build it nor program it without some earlier precious work:

  • Steven J. Witzland has published a thesis about the GELway: a self-balancing robot built with LEGO and programmed with leJOS.
  • Laurens Valk has published on Robot Square the building instructions of the BALANC3R: a self balancing robot from which the Rolling EV3RSTORM inherits a lot; his code for the self-balancing task written with the Lego Mindstorms EV3 Software is also available.
  • Tomoaki Masuda made a valuable work porting the code of Valk in C#. The code is available on GitHub.
  • The Monobrick firmware library, by Anders and Lars, which makes possibile to program the EV3 Brick in C# (my favorite programming language).
Rolling EV3RSTORM: a self balancing robot

Leave a Reply