Solving Rubik’s Cube With An FPGA

For their final project for ECE 5760 at Cornell, [Alex], [Sungjoon], and [Rameez] are solving Rubik’s Cubes. They’re doing it with an FPGA, with homebrew robot arms to twist and turn a rainbow cube into the correct position.

First, the mechanical portion of the build. The team are using a system of three robot arms positioned on the left, right, and back faces of the cube relative to a camera. When a cube is placed in the jaws of this robot, the NTSC camera data is fed into an FPGA, where a Nios II soft core handles the actual detection of the cube faces, the solver algorithm, and the controller to send servo commands to the robot arms.

The algorithm used for solving the cube is CFOP – solve the white cross, the white corners, the middle layer, the top face, and finally the entire cube. In practice, the robot ended up taking between 60-70 moves. This is not the most efficient algorithm; the Thistethwaite algorithm only requires 52 moves. There’s a reason for this apparent inefficiency – the Thistlethwaite algorithm requires large look-up tables.

Once the cube is scanned and the correct moves are computed, the soft core in sends commands out through the FPGA’s GPIO pins. Each cube can be solved in under three minutes after it has been scanned, but the team ran into problems with scanning accuracy. It’s a problem that can be fixed with the right lighting setup and better aberrant cubie detection, and a great final project using FPGAs.

Video demo below.

Continue reading “Solving Rubik’s Cube With An FPGA”

Rubik’s Cube Solver Made Out of Popsicle Sticks and an Arduino

rubix cube solver

[Matt] recently learned both how to solve a Rubik’s cube and the basics of an Arduino. Putting the two together, he decided to try his hand at making an automatic Rubik’s Cube solver!

We’ve seen this done quite a few times using LEGO Mindstorms, but we’re much more impressed with [Matt’s] clever use of popsicle sticks and mechanical linkages…. The device uses just two servos. One to rotate the base, and the second to flip the cube over.

He’s using an Arduino UNO (R3) with 2 Hitec HS-311 hobby servos, some popsicle sticks, hot glue, a paper towel roll, and a bit of plywood. He wrote the code to solve the cube himself, and has shared it on GitHub — but he didn’t stop there and decided to create a GUI to go with it using Python.

It’s not that fast, but it’ll solve a cube in about 20 minutes — stick around after the break to see it in action!

Continue reading “Rubik’s Cube Solver Made Out of Popsicle Sticks and an Arduino”

Turning A Building Into A Rubik’s Cube


[Javier] must have an awesome academic adviser. For his master’s thesis, he turned a building into a Rubik’s cube.

The Ars Electronic Center in Linz, Austria, is a building with a whole bunch of colored, programmable lights on the facade. [Javier] thought this would make for an excellent Rubik’s cube, and set to work convincing his thesis advisers this idea was possible, and building the hardware and software.

Since only two sides of the building are visible at any one time, [Javier] needed to build a controller for this project. The solution was to build a normal Rubik’s cube and stuff a microcontroller and a FreeIMU in the center. This setup senses the twists and turns of the Rubik’s cube, as well as it’s position in space, effectively creating an interface between the hand and a giant light-covered building.

The Rubik’s cube interface connects to a computer running an app written in openFrameworks. By sensing the direction the cube is oriented, it can automatically display the two sides of the cube facing the user.

There’s a great video showing just how this building-sized Rubik’s cube works. You can check that out below.

Continue reading “Turning A Building Into A Rubik’s Cube”

Rubik’s Cube for the blind

Check out this Rubik’s Cube for the blind. The idea didn’t start off as an accessibility hack, but instead as a way for [Brian Doom] to figure out where the face of each cube goes when manipulating the puzzle. It gave him tactile feedback and his ability to use it in dim lighting was when it dawned on him that this could be useful to others.

Now when we first thought of a puzzle for the blind the term ‘Braille’ immediately jumped to mind. But this doesn’t use it. That’s great, because not all visually impaired people can understand Braille. Instead, this uses dimension and texture to identify each of the puzzle faces. There are mushroom-shaped knobs, Phillips screws, adhesive rubber bumpers, raised text label maker labels, and a few other items that go along with each color. This doesn’t prevent those with sight from playing either. It’s something of one Rubik’s cube for all. Well, all except for the robots made to solve a stock cube.

[via Dvice]

Time Twister is an ingenious Lego clock

Here’s an interesting take on a Lego clock, it uses rotating squares to change the orientation of the black and white tiles to display the needed number. As we see one of the digits cycling to the next number in the video after the break, a couple of different things pop into mind. This seems very much like a 1-dimensional Rubik’s Cube, and it also has a hint of a very large ePaper display. Those use magnetic fields to swivel microspheres that are black on one side and white on the other.

The timepiece, which was built by [Hans Andersson], is limited to displaying numbers only. If you think about it, each row is three pixels but you don’t need to have every combination of those pixels available in order to display the digits. Four sides provide enough room for the necessary combinations. This would not be true if you were trying to scale it up to include all alpha-numeric characters.

The tick of this thing certainly sounds interesting, huh?

Continue reading “Time Twister is an ingenious Lego clock”

This cube of playroom drawers is quite puzzling

If you’re looking for a piece of custom furniture to anchor your child’s playroom, this Rubik’s cube chest of drawers is just the thing. [Makendo] went the extra couple of miles on the project, building the entire thing from scratch and adding one clever feature after another to make it something special.

It’s made up of three plywood boxes, open on one side to accept a plywood drawer. The drawers were carefully fitted so that it is difficult to see which side is actually the drawer face. [Makendo] even routed a hash-mark of grooves into each face of the cube to make it look like the seams that make up the 9×9 grid of colored squares. Speaking of those colors, the “stickers” themselves are made of 1/4″ plywood and are not permanently affixed. Each is held on with a magnet plus a pair of dowels to keep it from spinning. This way you can rearrange the colors as often as you please.

Each layer of the cube spins thanks to some lazy susan bearings. [Makendo] didn’t want to add too much distance between the different modules so he routed out each side to fit the circular hardware. As a final touch, the drawers themselves can be locked in place using a dowel underneath one of the colored squares. We’ve embedded a video of the cube at play after the break.

Continue reading “This cube of playroom drawers is quite puzzling”

CubeStormer; quick solutions from LEGO parts

CubeStormer solves Rubik’s cubes and it does it quickly! Made entirely out of LEGO, a Mindstorm web camera is used to scan in the cube with four mechanical hands for manipulation. The device is capable of solving a random cube in less than 11 seconds. That’s quite a bit faster than the last Minstorm solver we saw, and the CuBear solver we are so fond of.

[Thanks Ferdinand]