Introduction: Kitables Rubisolver Rubik's Cube Solver

About: By curating a variety of kits, Kitables eliminates the barriers to Do It Yourself projects. We empower people of all ages to build with confidence. Interested in becoming one of our Contributors?

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.