Solving a Rubick’s Cube with LEGO and popsicle sticks


We’ve seen automated Rubick’s Cube solvers before, but never one that has garnered as many awards as [James]’ popsicle stick and LEGO Rubick’s Cube solver.\

To keep the project complexity down, [James] opted not to use a webcam to detect the color pattern on each face of the cube. Instead, he wrote a little Python app to manually enter the pattern on each face before letting his algorithm loose on the cube and calculating how to solve it.

So far, [James] has seen a huge amount of success from his project. He entered it in the New Zealand Brightsparks competition netting him $1000. This competition led to a win in the Realize the Dream science competition where he won a major prize and an entry into the International Taiwan Science Fair held early next year. An awesome accomplishment from a budding hacker, and we can’t wait to see what he comes up with next.

You can check out a video of [James]’ cube solver after the break.

20 thoughts on “Solving a Rubick’s Cube with LEGO and popsicle sticks

  1. Now all you need is an array of three light sensors with colour filters for each of the nine squares on the side to be twisted coupled with a few white leds or a bulb to act as a source. then it could solve the cube all on it’s own by flipping it a few times. I bet there is a nice little algorithm somewhere that will let you only have to scan half the sides and compute the others.

    1. Instead of colour sensors with filters, a better way might be to use RGB LEDs to illuminate the cube each colour in turn. You’d need to keep external light out for the scanning (well, you could try compensating for ambient light in software, but easier not to).

  2. I don’t get why the robot “changer” couldn’t be used to enter the starting positions.

    Also, from the number of moves, seems like the solving algorithm isn’t very efficient.

    1. I dont know what you mean by that first one, but yes the algorithm is quite inefficient. it uses the “layer by layer” method which is one beginners use. i was really rushing this project as i only had 10 weeks to finish it. i do have plans on making it faster and more efficient in the future.

      1. He means that you manually entered the positions of each face. I’m sure it’s trivial for you to come up with a way to do that either by imaging or color sensors, but it’s still impressive that you put this together with very little mechanical parts. Great work.

  3. Maybe he should have used the web cam on the laptop to detect the colours on the cube but what really impresses me is that with only three movements this thing can fully manipulate the cube, simple but it does work.

  4. Good job! Not only did you keep the algorithm simple, but kept the cost of the set-up down. To do everything with a Mindstorms Lego set would be more expensive and you just showed how to use other materials.

  5. I wasn’t going to watch the video because I really hate Rubiks cubes. But I like mechanical devices so I had to take a peek.

    I have a tip for you James, which I learnt while making my own hack/DIY videos. You’ll have happier and longer watching viewers by starting the video with a brief explanation and showing the finished product and then show the ‘how / why / what’ after. Your video starts with a few minutes of mindless computer input. Instead, you should try to suck us in with the good stuff first and then once we’re impressed, we’re more likely to watch the how/why/what bit after :)

    I like the way you’re controlling the cube. I don’t think I would have thought of that way of flipping it.

    I don’t think it’s that big a deal that you have to manually input the colors on the cube. But, if you do decide that you want to automate it, you might like to use SimpleCV which is the computer vision library for Python and would let you throw something together very very quickly using an overhead webcam.

    1. thanks, thats really nice advice. i actually do have a better video on my channel where i am talking a bit about my project, and it actually shows a more recent version of it. but more importantly it shows my cat for longer!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.