The World's Smallest Rubik's Cube-Solving Robot
Andrea Favero may have built the world's smallest Rubik's Cube-solving robot.
The Rubik's Cube has been perplexing and frustrating the world for more than 40 years now, but solving the puzzle is actually pretty easy when you understand the concept and the procedure. If you can wrap your head around the movement of the sections, solving a Rubik's Cube is as simple as following a sequence of steps. That is so straightforward that robots can solve Rubik's cubes according to algorithms. Many such robots exist and they're always impressive to see in action, but Andrea Favero's may be the world's smallest Rubik's Cube-solving robot.
Because this robot is so small (compact enough to fit in the palm of your hand), it requires a special miniature Rubik's Cube. In theory, this robot could be even smaller if it had an appropriate Rubik's Cube to work with. Either way, this is certainly the smallest Rubik's Cube-solving robot that we've ever seen.
As is the case for every other robot that solves Rubik's Cubes, this must first analyze the faces to determine the starting positions and calculate the steps necessary to complete the puzzle. It does that uses two very simple mechanisms: a rotating base and a "flipper." The rotating base spins the whole cube around, so the flipper (a small servo-actuated arm) can turn the cube from one side to the next. Together, those two mechanisms are capable of orienting any side of the cube upwards. A camera looks at the upwards-facing face to check its colors.
This robot uses a Raspberry Pi Zero 2 W and a Raspberry Pi Camera module to check the faces. Kociemba Solver software then finds the optimal series of movements required to solve the Rubik's Cube.
This is where Favero's design gets really clever. The same servo that flips the cube can also pull a cover down over the top two sections of the cube. When the rotating base turns, it only spins the bottom section of the cube. The cover can then move back up, so the rotating base and flipper can reorient the cube as necessary to get it ready for the next rotation. That happens very quickly, so the robot can solve the Rubik's Cube in well under a minute.
This isn't the most efficient way to manipulate a Rubik's cube, because it requires extra steps between section rotations. Therefore, it can't solve the puzzle as fast as some other robots can. But this design keeps the robot as small as possible and also keeps the part count (and costs) down. It can even be powered entirely with a USB battery bank.