Rubik's Cube Solver Robot

Published on . Written by

Rubik's cube solver Robot
Rubik’s cube is a puzzle which everybody cannot solve easily, a person needs to calculate and then twist the cube to match the colors of each side. How exciting would it be if a robot can solve a Rubik’s cube? If a person is solving a Rubik’s cube, then he checks the pattern of all the sides in the cube and calculates what should be the movement of the cube to match the colors of each side. This Rubik’s cube solver robot does the same.

Read more..
The Rubik’s cube when shuffled has many possible patterns, the robot should be able to take any pattern as input and solve the cube. The robot should be able to hold the cube in a position and twist it to change the pattern and also turn the cube’s side. The pattern of the cube will be input for the robot.


Skyfi Labs Projects
You can use servo motors for actuating the robot to turn and twist the Rubik’s cube. The robot should be programmed such that it calculates the possible way to solve the cube and then twists and turns the cube and match the colors of each side, this process of solving should be the fastest way and also the number of twists and turns should be as minimum as possible.

Project Description:

  1. Arduino Uno: The digital and analog input/output pins equipped in this board can be interfaced to various expansion boards and other circuits. The serial communication interface is a feature in this board, including USB which will be used to load the programs from computer.
  2. Servo motor: Servo motor is a rotary or linear actuator which allows for precise control of angular positions. These motors are used as a high-performance alternative for DC motors, you can use the servo motors to actuate the twist and turn of the Rubik’s cube.
  3. L293D Motor driver: You will need a motor driver to run the motors, L293D is a typical motor driver IC which allows the motor to run in both the directions and you can control two motors with one IC.
  4. Robot chassis: You have to build a robot which can twist or rotate the cube, the robot should also be able to hold the cube while rotating it.
  5. ESP8266: ESP8266 is a WI-FI module which uses 802.11 b/g/n protocol, and has an Integrated TCP/IP protocol stack, which offers a complete and self-contained WI-FI networking solution.

Project Implementation:

  1. Build the robot such that the cube when placed on the robot is inclined at an angle of 40 degrees and the cube should be placed on one of the servos for twisting so that it changes the pattern. An arm should be used to turn the cube to change its side, this arm should be actuated by another servo motor. The arm should also hold the cube while twisting it.
  2. Develop an android app from which you can select the pattern of the Rubik’s cube and this pattern you select is the input for the robot.
  3. Program the robot such that it takes the color pattern of each side as the input and depending on the input the robot has to calculate the possible ways to move the servo motors and twist the Rubik’s cube to solve it.
Project Brief: The cube should be placed in position and the Robot when switched on and the pattern is given as input from the Android app, the servos actuate and solve the cube to get the same color pattern on each side, to do this the robot is preprogrammed to calculate the number of twists and turns required to solve the cube. Depending on this calculation the servo motors actuate to solve the Rubik's cube.

Software requirements:

  1. Arduino IDE Version 1.8.5 : You will be needing Arduino IDE software for writing and uploading the program into the Arduino Uno board.
  2. MIT app inventor 2:: This software is an online based android app development platform you can use MIT app inventor 2 to create your app.
Programming language: Arduino programming (C++)

Kit required to develop Rubik's Cube Solver Robot:
Technologies you will learn by working on Rubik's Cube Solver Robot:


Any Questions?


Subscribe for more project ideas