Tilted Twister 2.0

Tilted Twister 2.0 is made using the LEGO Mindstorms NXT 2.0 set.
It is the successor of Tilted Twister which was built with the LEGO Mindstorms NXT 1.0 set.


  • Solves a standard Rubik's cube  No need to replace any color stickers

  • Can be built from a single LEGO Mindstorms NXT 2.0 set

  • Completely stand-alone  No need to connect a computer

  • No web cam needed  It detects the colors using the LEGO Mindstorms color sensor

  • Support for Herbert Kociemba's Two-Phase Algorithm

  • Free programs and building instructions

Color recognition

Even if the LEGO Mindstorms color sensor is very accurate, it is hard to distinguish between the red and the orange colors. The corners are no problem. There is redundancy in that it is possible to use the colors of two sides to determine the color of the third. The center cubies have even more redundancy. The only thing I had to consider was the Rubik's logo on the white center cubie, which gives undefined color readings. The edge pieces are hardest to resolve. For example to determine whether an instance of a cubie is red/blue or orange/blue.

Calculating a solution

I have implemented a corners-first method which generates a reasonably short solution. The average is about 60 face turns (which I think is pretty good for a general solution). As a matter of fact, the program calculates three solutions with different starting points, and picks the shortest.

Herbert Kociemba's Two-Phase algorithm

To get an even quicker solve, it is possible to connect Tilted Twister to a computer via Bluetooth to calculate a shorter solution. I have used Herbert Kociemba's fantastic Two-Phase algorithm which I use in a Java Application. This produces a solution of typically 21 face turns in just a second.


  • Scanning the cube: 45 seconds

  • Calculating a solution: 20 - 40 seconds

  • Executing the moves: 1 - 5 minutes

  • Average total time: 6 minutes

Connected to computer:
  • Scanning the cube: 45 seconds

  • Calculating a solution: 1 second

  • Executing the moves: 1 - 2 minutes

  • Average total time: 2.5 minutes