Rubik's Cube Solving Machine - UC Riverside EE Senior Design 2023
EE175A/B - Senior Design Project @ University of California, Riverside with Dr. Roman Chomko
Group members:
Thomas Sullivan, Electrical Engineering
Kenghao Cai, Electrical Engineering
Justin Morimoto, Electrical Engineering
Our project solves a scrambled 3x3 Rubik's Cube without any manual input. The cube itself is scanned multiple times using one camera connected to a Raspberry Pi. Each scan will detect the color of each tile on the face it is scanning and slowly map out the scramble of the cube. Once the scanning process is complete, the Raspberry Pi will execute a solving algorithm which will output a list of moves required to solve the cube. This move list is sent serially to an ATmega328P microcontroller which will then solve the cube.
Worth noting, our solving algorithm is very similar to the known "CFOP" or "Layer-By-Layer" human methods of solving a Rubik's Cube. We have adapted this algorithm to solve the cube using 5 faces as opposed to 6.
Parts used:
Raspberry Pi 4B
ATmega328p (Arduino UNO) x2
Arducam B0031 5MP Camera
17HS15-1504S-X1 Stepper Motor x5
A4988 Stepper Motor Driver x5
Special thanks to Manglai Zhou for his assistance with 3D printing for this project.