Kitables Rubisolver Rubik's Cube Solver





Introduction: Kitables Rubisolver Rubik's Cube Solver

These instructions will help you turn your pile of Kitables Rubisolver parts into a working Rubisolver.

It's very important that you read through the instructions and follow steps in the right order. If you glue something together in the wrong order it may be very difficult to continue assembling the kit or you may have to break apart parts which will make you a sad panda. All the code is available open source and we encourage you to PAINT, UPGRADE, REDESIGN, AND MODIFY AT WILL! HAVE FUN!

Step 1: Take Stock

Before starting make sure that you have all of the parts you need. If you are missing any components please contact Kitables immediately at , so that we can get you back on track ASAP! There are a lot of small parts included, so we recommend doing the project in a clean area where you can find those stubborn dropped washers.

• 46 Laser Cut Wood Parts
• 2 medium length #4 screws
• 6 long length #4 screws
• 12 short length #4 screws
• 2 #4 unthreaded spacers
• 28 #4 washers
• 20 4-40 nuts
• 1 Microcontroller
• 1 USB cable
• 6 jumper wires
• 2 servos
• 2 tubes of super glue
• 1 Rubik's cube

Recommended Tools

• 3/32" Allen wrench
• Needle nose pliers
• Paper towels
• Hot glue gun (optional)

Step 2: Structure Assembly

*NOTE* for video above: For reasons unknown youtube defaults to 480p, on the bottom right hand part of the video player there is a settings icon. Click the icon and set it to 1080 even if it says it's already is playing at 1080 click it again and the resolution will improve

We've made many of these and found that you can complete the structure faster with hot glue, but a cleaner looking build results from using super glue. Be patient and make sure parts are perpendicular when gluing. Errors in build quality make the Rubisolver work less reliably.

• BEFORE GLUING PARTS TOGETHER! Screw servos and Arduino onto their corresponding laser cut parts in the correct orientation. Refer to the pictures and video to determine the correct orientation and double/triple/quadruple check you have them in the right orientation because remounting later is a pain.
• DO NOT GLUE COMPONENTS ONTO SERVO GEARS UNTIL IT'S ON! The servos should be on and in the "zero" position before gluing on these components. The servos should set to their zero position after installing the firmware and opening the GUI. This reduces the likelihood that software calibration process will fail.

• Follow the order shown in the video when assembling your laser cut components. If you glue parts together in the wrong order you may need to break them apart and try again

  • Also it seems to be very important to not screw everything down tight ( with exception of servos and board) the RubiSolver needs a little wiggle room!

Step 3: Download and Install Software

Code available for download from our github at:

To upload the firmware to your Microcontroller, you'll need the Arduino software available here:

The Microcontroller code and Java user interface are in the attachment below.

  • Once downloaded unzip the file. You may need to use winrar if you get unzip errors
  • Do Not remove any files from folder or move them

If you're using digital servos and if they're running backwards, then you can reset the SERVO_REVERSE variable to "true" as shown in the picture above.

Step 4: Upload Code

  • Open the arduino program
  • Open rsolve.ino by going to the downloaded folder Rubifinal>Rubisolver>Rsolve
  • Tools>Board>Arduino Uno should be selected
  • Go to tools>serial port then select the Microcontroller USB port (Should look like "COM14" or "COM3")
    • IF THE SERIAL PORT MENU IS INACTIVE, then you're probably running one of the versions of Windows which doesn't play well with Microcontroller and you need to manually select a driver.
    • To do this type "Device Manager" in the start menu to open the Device Manager program
    • Expand the list labeled "Ports" OR "Other Devices"
    • You should see something that looks like "USB-Serial...". Right click and go to Properties
    • Driver>Update Driver>Browse my computer for driver software
    • Navigate to and select the drivers folder in the Arduino program install directory
    • Once installed you may need to restart the Arduino program and/or unplug the Rubisolver and try again
  • With the Rubisolver plugged in click the upload button (arrow icon) in the upper left corner of the Arduino program
  • If the process is successful you'll get a "Done Uploading" notification with no errors.

Step 5: Solve a Cube

  • Open the rubisolver.exe program
  • The rotating "Looking for Rubisolver" icon should indicate "Rubisolver Found!" within a few seconds. If it doesn't, then it's possible there was an error uploading your Arduino code

It's now time to glue on the platform and push arm.

  • The servos should now be in their "zero" position. Press on the push arm linkage onto the push arm servo gear. This should be a tight fit. Be sure to support the servo from the back to avoid breaking apart your Rubisolver. The zero position for the arm should be all the way back AWAY from the cube platform.
  • The platform should be parallel with the sides of the Rubisolver

Back to Solving a CUBE!

  • You can test the motion of your Rubisolver by Typing HTF (for "Hold", "Turn", "Flip") and then Send in the message window. Common issues with motion are addressed in the next step.
  • Enter the colors of your scrambled cube into the interface by clicking a color from the top bar and then clicking into the squares with that color
  • Click the "Solve" button in the upper right corner of the program window
  • Depending on the computer, "Working" will display for a few moments while the computer finds a solution to your cube. If the stickers/colors have been moved at some point to an unsolvable position, the program will notify you with an error.
  • Place the cube onto the Rubisolver Platform with TOP colors up, and FRONT colors facing the arm
  • Once solved, click the "Send" button in the lower right

Step 6: Debugging


  • Solution

Still having trouble with the port

  • Here's a great blog on the port recognizing issue if you're still finding problems.

    Flip operation doesn't work

    • There are a few potential causes of this problem
      • High friction in the arm joints due to screws being too tight. Particularly common for wood kits
        • Solution: Loosen screws throughout arm assembly including vertical guides. If you think this is still an issue for you, graphite (like from pencils), or wood lubricant can improve performance.
      • Low friction between the arm face and the cube. If the arm skims over the top of the cube, this could be your issue.
        • Solution: Increase the friction between that face and your cube by roughing the cube contact face of the arm, taping on a piece of sandpaper or electrical tape, use a bit of hot glue.

    Arm not moving

    • This can be due to the arm servo gear slipping or if you applied too much glue and froze your servo
    • Solution: Carefully glue the servo gear in the arm linkage hole and give the glue time to fully set. If the servo is frozen, try working the gear free by wiggling it with pliers. Careful as this may result in servo damage.

    Turn operation doesn't work

    • Check if the platform is aligned when servo is on and in the zero position
      • If you need to realign your platform, you can pry it loose by wiggling carefully until the glue cracks
    • Check if the servo isn't frozen with glue. It should rotate with little resistance when the Rubisolver is unplugged.
    • Check if the platform is securely glued to the servo gear.

    2 People Made This Project!

    • This was a fun proje...-jonesee

      jonesee made it!

    • Works perfectly.  I ...-wjsteele

      wjsteele made it!


    • Epilog Challenge 9

      Epilog Challenge 9
    • Sew Warm Contest 2018

      Sew Warm Contest 2018
    • Gluten Free Challenge

      Gluten Free Challenge

    We have a be nice policy.
    Please be positive and constructive.


    2 Questions

    May I ask where can I get the source code of rubisolver progarm that runs under PC Windows? Thanks!

    Hi, my name is Terry from Taiwan. I made a cube solver robot by watching your instruction on internet and it works. Now I am would like to add 9 color sensor to detect the cube cell color on each face by robot itself and solve the cube automatically. The only thing I am missing is the algrithm ( or the code in C even better) after input the color of cube faces and output the solution steps such as "T H F F T H......."

    I was wondering if you could help me out by sending me the code source code of rubisolver that runs on PC windows?

    Should you agree to sene me the source code with many thanks , my email address is

    Best Regards,
    Terry Lu.


    Hello its very good project but I don't understand the dimensions of wooden part can you sand me the sizes of wooden parts

    Hi! Is the kit still available, I really wanted to make a last year project about your Kit.. It looks very awesome! (sorry for my bad English)

    Hello, is the kit still available? I would like to do an end-year project about your Rubik's Solver but I dont find a palce to order the kit... ( sorry for my bad English)

    Thank you.

    I am not able to buy from your website

    Can I have the laser print documents.

    Any way to get a little more turn out of the turntable??

    Hi Mashall, you can adjust the range of the turn operation by adjusting the values of the servo driver function in the provided Arduino code.

    Requiring that we glue directly to the servos seems to be a terrible design. The super glue doesn't bond well there, it's awkward to apply it, and there's risk of damaging the servo by gluing it to itself. These two places should be snapped in with a plastic piece that fits nicely in the grooves on the servo.