Self-Solving Rubik’s Cube

Rubik’s Cube has been around for what seems like forever now, and has spawned an entire subculture devoted to solving the puzzle with automation. Most Rubik robots put the cube in a specially designed cradle bristling with actuators and sensors, and while those rigs are impressive, they don’t come close to this robotic Rubik solver built into the cube itself.

Fair warning that [Human Controller] doesn’t provide much detail on this build other than pictures; even translating the Japanese web page doesn’t offer much more information. But there are pictures, plus the video below, which reveal the engineering masterpiece encased within the standard sized Rubik’s cube. The internal mechanism of the original cube had been replaced by a spherical assembly around which the cube’s faces rotate. The sphere, which appears to be 3D-printed, houses six motors and gear trains, along with a microcontroller board and what appear to be Hall sensor boards to detect the position of each face. Everything is wired up with magnet wire to keep bundles to a minimum size, and buried deep inside is a LiPo battery pack. A disassembly video offers further clues to this ingenious device’s inner workings.

Once the cube senses that it has been scrambled, it sets to work on the solution, walking all over the table in the process. It’s clearly not just recording the scrambling steps and playing them back in reverse; the video below shows far more moves to solve the cube than the 15 it took to scramble it.

While we’re always impressed by marvels of speed like this robot with a 637 millisecond solve time, putting everything needed to solve the cube inside it is a feat worth celebrating. Here’s hoping that a build log shows up soon to satisfy our need for details.

Thanks to [jackw01] and [rasz_pl] for the heads up.

42 thoughts on “Self-Solving Rubik’s Cube

    1. That’s what I expected it would do.

      After reading the code it is apparent that it solves the cube by the reduction method just a human would rather than just reversing the moves that were made.

      1. So here’s the thing: back around 1980, my girlfriend showed me my Rubik’s cube which her four-year-old daughter had solved. It looked absolutely perfect. This was completely flabbergasting: did she actually solve it, or did she do a perfect job of removing and replacing the labels? Or did she pop off the caps on the center squares, disassemble the cube, and reassemble it (which was my preferred “reset” later on, when I was working on a general solution)? Any of these would have been unbelievably impressive for a four-year-old, but the girl never revealed her secret.

        1. I wouldn’t be supprised if the 4 year old was able to solve the cube.
          once a few basic moves are remembered it is not difficult. kids can be incredible at memorising things.

          Seeing the kid actually do it would be the proof in the pudding ( a bit difficult now )

  1. I think it uses some kind of smart servos that also work as torque sensors. When they sense a force, they play along. A bit complicated, but spinning the gear trains in reverse would otherwise be too stressful for the mechanism, especially the gears.

    1. A friend here in Vienna started to construct such a cube. He designed a gear mechanism, which engages only after the motor starts to turn for a given angle and disengages after the piece was turned the required 90° But he told me about serious problems in the mechanics and a “complete redesign”. I do not know how his progress is now.

  2. For someone like myself who came of age in the 80s, this is one of the coolest things ever. I want a time machine just to go back to 1982 and show one of these to my buddy Jay who was our local Rubik’s Cube expert.

    1. I think just suspending it by one of the corner pieces would be sufficient. That, or placing it in a cradle that just fits one of the corners, although it might flip its way out of that.

  3. I would love to see this mounted in a 3 axis gimbal that suspends it or how sick would this look being magnetically levitated (admittedly though that would be practically impossible without super fast/complex control loops to prevent it bucking itself from the small stable sweet spot these types of levitators have).

    1. Because it’s not a highly-optimized solver. If anything, this proves that it’s not just recording what moves were made by the user, and running them backwards. At any point in manipulating a Rubik’s Cube, there are six sides that each can be moved by three different values of rotation, for 18 possible moves. But of course, for each move, further rotations of that same side would be redundant, so really it’s 5 sides x 3 rotations = 15 productive moves. Fifteen steps means 15^15 = 4.378938903808594e17 sequences that would have to be tested to find the solution, assuming it is known that it can be solved in 15 moves. An FPGA operating at 1 GHz evaluating one solution per clock (and I doubt there’s a chip capable of this) could find the solution in about 440,000 seconds, or about 5 days.

      Fortunately, there are faster ways to solve Rubik’s cube, but none of them guarantee finding the solution with the minimum number of moves possible.

Leave a Reply
