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.


  1. CRJEEA says:

    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.

    • Greenaum says:

      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. zuul says:

    everyone’s out hacking and im just sitting here solving a rubix cube

  3. vonskippy says:

    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.

    • James says:

      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.

      • elektromojo says:

        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.

  4. Dr. DFTBA says:

    Someone had to do it…


  5. Hirudinea says:

    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.

  6. Andy7 says:

    Nice though this is its got nothing on mind cuber which I built with my kids and solves in about 40 moves, or the epic mind stormer that solves in 2 to 6 seconds… Now THAT’S a solver!

  7. ameyring says:

    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.

  8. SteveHaD says:

    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.

    • James says:

      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!

  9. Wretch says:

    Cat: Is that all? Meh. I can do it faster.

    Impressive build. That’s an ingenious use of popsicle sticks and way of manoeuvring the cube.

  10. Gilliam says:

    this video shows how slow a cat is even at 8X speed-up… oh and the rubix cube is cool.

  11. brickgeek says:

    From 2008, built entirely from the parts in the first Lego Mindstorms NXT kit

  12. Tom the Brat says:

    Na, you can’t have the cat help. The gadget has to solve it unaided :D

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,705 other followers