Arduino-controlled robot solves Rubik's Cubes in seconds

Arduino-controlled robot solves Rubik's Cubes in seconds

Arduino Team — August 1, 2022

Rubik's Cubes have been sold in stores for over 40 years now, but most of us still can't solve them. Others take puzzles very seriously, competing in numerous speed-solving competitions around the world. The world record for the fastest Rubik's Cube solution is just 3.47 seconds, set by China's Yusheng Du. But this robot created by Redditor iBoot32 puts that record to shame by solving the 3D puzzle in less than two seconds.

It may not look like it, but the center square on either side of a Rubik's Cube remains stationary. By rotating these squares, the whole side of the cube can be rotated. The iBoot32 robot design takes advantage of this fact and has six stepper motors that attach to the center squares on each of the cube's six sides. This layout gives the robot full manipulation of the Rubik's cube.

An Arduino Mega 2560 board controls these six motors through a CNC shield with DRV8825 drivers. The shield only has four motor drivers, so the Arduino has to switch between motors it can control at any time. A nearby PC runs Kociemba's Optimal Solver software to generate solutions, which are then passed to the Arduino as a series of rotation commands. iBoot32 can manually enter the initial state of the Rubik's Cube or use computer vision to automatically enter the state into the solving software.

The exact time it takes to solve a cube depends on its initial state, but iBoot32 says it usually takes about 1.5-2 seconds.

Arduino-controlled robot solves Rubik's Cubes in seconds
Arduino-controlled robot solves Rubik's Cubes in seconds

Arduino Team — August 1, 2022

Rubik's Cubes have been sold in stores for over 40 years now, but most of us still can't solve them. Others take puzzles very seriously, competing in numerous speed-solving competitions around the world. The world record for the fastest Rubik's Cube solution is just 3.47 seconds, set by China's Yusheng Du. But this robot created by Redditor iBoot32 puts that record to shame by solving the 3D puzzle in less than two seconds.

It may not look like it, but the center square on either side of a Rubik's Cube remains stationary. By rotating these squares, the whole side of the cube can be rotated. The iBoot32 robot design takes advantage of this fact and has six stepper motors that attach to the center squares on each of the cube's six sides. This layout gives the robot full manipulation of the Rubik's cube.

An Arduino Mega 2560 board controls these six motors through a CNC shield with DRV8825 drivers. The shield only has four motor drivers, so the Arduino has to switch between motors it can control at any time. A nearby PC runs Kociemba's Optimal Solver software to generate solutions, which are then passed to the Arduino as a series of rotation commands. iBoot32 can manually enter the initial state of the Rubik's Cube or use computer vision to automatically enter the state into the solving software.

The exact time it takes to solve a cube depends on its initial state, but iBoot32 says it usually takes about 1.5-2 seconds.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow