Smart Rubik's Cube Solver
We've seen a trend worldwide to play the Rubik's Cube nowadays. before and now everybody has tried to solve it. The first attempts for solving the cube and it ended miserably and provide lots of frustration to a solver, many people try to solve the most popular puzzle in the whole over the world, wh
2025-06-28 16:35:41 - Adil Khan
Smart Rubik's Cube Solver
Project Area of Specialization RoboticsProject SummaryWe've seen a trend worldwide to play the Rubik's Cube nowadays. before and now everybody has tried to solve it. The first attempts for solving the cube and it ended miserably and provide lots of frustration to a solver, many people try to solve the most popular puzzle in the whole over the world, which is Rubik's cube. It's easy to follow algorithms to solve cubed on a sheet of paper, but it’s difficult to implement manually, People find so many online solutions to solve the Rubik’s cube easily but they didn’t solve it easily because they can’t understand the algorithms (left and right turns) for solving it efficiently, So we thought about it robotics way is a best satisfying way to solve cubic in the first attempt, Over time, with the development of technology, robots are helping humans in various fields. Many developers are manufacturing robots for every field and sector of life. So, we decided to build an automated machine that would find a solution and resolve the Cube in fewer changes and in fewer time. Aim of the project taken the current state of the cube for the input and find out the possible solution which is required to solve the cube and then start solving the cube through the push of a button. Project objective is the code given some time for training and generating lookup tables. The lookup table saves every cube solution with its combination. These solutions are arranged in depth wise and the color sensors or camera, will read the color of the cube and store them in an array, Then that state will be searched in a predefined lookup table for the possible solution of that particular combination, Then the solution will be sent to the motors controller and the motors will start to solve the cube and stop once done, we implement whole circuits including microcontrollers, wiring, motors in the simulating software named Proteus to accomplish this project successfully.
Project Objectives- Take the current state of the cube for the input.
- Find out the possible solution which is required to solve the cube.
- Start solving the cube through the push of a button.
There are many methods to solve the cube e.g., Gods number, Thistle Thwaite, 52 move algorithms, etc. Modern robots use the LUT (Lookup Table) method to solve the cube. In this method, all the combinations and their solutions are pre-stored in memory and when that particular combination has detected the solution for that particular combination is sent to the motors or arms to solve it.

- These solutions are arranged in depth wise.
- A flow chart describing the cube is first placed under the color sensors or camera, the sensors will read the color of the cube and store them in an array.
- Then that state will be searched in a pre-defined lookup table for the possible solution of that particular combination.
- Then the solution will be sent to the motors controller and the motors will start to solve the cube and stop once done.
CFOP (cross, f2L, OLL, PLL) (memories 78 up algorithm) is a Fredrick method created by Jessica Fredrick, the first method solves in 1980, we can solve the cube in four steps 1st cross, 2nd first 2 layers, 3rd Orient last layer, 4th permute the last layer but now we use lookup table from MATLAB.
Lookup query table use to arrange the data array to create a graph for output values, we use MATLAB software for creating a lookup table and image processing, Simulink is a block diagram estimation and it also provides a graphical editor of image processing customize block libraries that’s why we use it in our project, it performs the operations to give the best output value from the lookup table, On the off chance that the query table doesn't characterize the info esteems of the input values, then the block estimate the close value that’s why we use a lookup table for solving a trick of Rubik’s cube because most of the world’s Rubik’s cube solving robots (RCSR) uses this methodology for a fast solution, after that when you give the input algorithm to the robot to solving the task of Rubik’s cube you will first to sensors the task image with the help of GUI and HD Cameras.
Then the combination will be converted into a special string for being readable by the code and molded by following the table and then the solution for this combination will be searched in the table and a suitable solution will be generated. When you generate a solution then you will be able to send it to the machine controller and then the controller processes it and sends it to the motor.
Benefits of the ProjectSome of the majors benefits of the project mention below for your reference. One of the most beneficial part of this project you don’t need to remember the code or movements to solve the rubix cube, project helps you to solve the rubix cube by sensing the colors of the cube which detect the current state of the cube throw the camera and then do some image processing with the help of Matlab and the look for the lookup table and give you a solution, step by step procedure to solve the rubix cube.
Technical Details of Final DeliverableWe have developed a robot for solving the Rubik’s cube that can solve any state of the cube by using motors and jaws. The current state of the cube can be entered by using either the GUI or a camera. The body of the robot is made of acrylic sheet. The body has eight motors, four jaws to hold and rotate the cube, and four sliders for moving the motors with jaws backward and front. The first thing we learned in designing the Rubik’s Cube Solving Robot was how to solve the Cube itself.
We learn image processing. As we programmed in Python and C, we will be learned a lot about them. We learn how to interface hardware with the software. We also learned how to simulate design our robot in SolidWorks and the implementation of these 3D designs to the real world. We will be known how to develop a GUI in Python.
We have to learn how to work on acrylic sheets and what precautions to take while working on it. We also learn how to use servo motors for any application. The development of this robot is the hardest part of our entire graduation life. We worked day and night on this project. But in the end, it will bed all joy and satisfaction to see our robot work.
Final Deliverable of the Project HW/SW integrated systemCore Industry ITOther IndustriesCore Technology RoboticsOther TechnologiesSustainable Development Goals Industry, Innovation and InfrastructureRequired Resources| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 39700 | |||
| Acrylic sheets | Miscellaneous | 2 | 2000 | 4000 |
| Veroboard | Equipment | 4 | 500 | 2000 |
| Universal Charger 6V/3A | Equipment | 1 | 800 | 800 |
| Servo Motors | Equipment | 10 | 800 | 8000 |
| Grippers/Jaws | Miscellaneous | 4 | 1000 | 4000 |
| AT Mega Microcontroller | Equipment | 3 | 850 | 2550 |
| 2GB Memory Card | Equipment | 1 | 500 | 500 |
| Resistors, Diodes, Inverters, Rectifiers, Power Diode and other circu | Equipment | 1 | 1000 | 1000 |
| 5 Core Soldering wire for SMD soldering | Miscellaneous | 1 | 1500 | 1500 |
| Connecting Wires | Equipment | 50 | 250 | 12500 |
| USB ports | Equipment | 3 | 650 | 1950 |
| USB-TTL UART Serial Adapter CP2102 5V 3.3V | Equipment | 1 | 600 | 600 |
| Clock Module | Equipment | 1 | 300 | 300 |