MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Fully 3D-Printed Rubik's Cube Solving Robot

by otvinta3d Aug 17, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

Our Rubik's Cube Solving Robot runs equally well when plugged into a Raspberry PI running Windows IoT or a regular Windows 10 laptop or PC. Many users have opted for Raspberry PI to give the robot the ability to run autonomously, but is it the most convenient or economical option?

For fully stand-alone operation, the Raspberry PI needs an HDMI screen, keyboard and mouse -- not exactly a small entourage. All of that can be replaced by a single touchscreen, but currently there is only one model we are aware of that supports Windows IoT: the 7" display from https://www.adafruit.com/product/2718. Unfortunately, this little gadget ain't cheap ($80) and more often that not, out of stock.

In an effort to find an inexpensive and aesthetically pleasing alternative, we looked at low-cost Windows 10 tablets with two USB ports, and voila -- the 10" RCA Cambio, which can be purchased on eBay for around $60 - $70 (often refurbished, but who cares!) fits the bill perfectly. This fairly unpretentious device works great with the robot, replaces both the Raspberry PI and touchscreen, and costs much less than those two combined.

To install the app on your tablet, simply go to the Microsoft Store and search for RubiksCubeRobot


This was a fun make. Ton of printing, but everything fit together perfectly.

Comments deleted.

Hi, I completed this cool little project earlier this year and did a couple of videos of it.

Part 1 -

Part 2 with some basic tips and tricks I found


Now this is excellent !

Does the app has any windows short-cut key for "Run", "Stop", "Open" and "Off"?

No, but it does understand voice commands for Run and Stop.

We are now offering the entire 3D printed set of parts for the Rubik's Cube Solving Robot for US$350.00, which includes free international shipping. Custom logo-stamping and choice of colors are available for a small additional fee. For more info, please go to http://www.rcr3d.com/hardware.html.


We are now offering the Essential Hardware Package for $250, which includes free international shipping. For more info, please go to http://www.rcr3d.com/hardware.html.


Has anyone tried to tweak the print settings in order to reduce print time. The description says 20% infill. Has anyone tried something like 10% and cubic infill? Also some parts (like the feet) should work with larger layer heights. Someone with tweaks or recommendations?

OK, I did answer this one myself. I used a 0.6 nozzle and printed most of the parts at .3 mm layer heights. This shaves off about 16 hours of print time. The parts fit fine, however the silders a very loud and they might need a bit of sanding. So if you go this route, you might want to print the sliders at 0.2 mm height.

there are 2 different types of servo motors used, can i just use 1 type? i have many of those tower pro (black) motors

I had so many failures of the junk MG996R servos I got that I decided to use the DS3218 servos for the linear motion as well.
It is a tight fit where the little groove gets filled with the servos angular support piece but squeezed in OK when tightening the screws. The other change is that the 3218s shaft is about 2mm longer when mounted. The pinion fits but just barely. I chose to make the hole for mounting the horn 2mm deeper and reprinted the pinions.
You'll also need the horns from some MG996Rs. I used the ones from the junk servos I returned to Amazon.
The servos from Amazon were so bad that I was able to cause failures by simply exercising them using the Pololu control panel under no load. When they warm up, they die. The failing ones say TIANKONGRC as the brand. Genuine Tower Pro servos may fare better.

The gripper and rack-n-pinion servos have slightly different dimensions so you may have trouble fitting the towerpro servo in the hole meant for the DS3218. But most importantly, the TowerPro's torque may not be enough to rotate the cube. The DS3218s are high-torque ones (20kg).

Well, I got the PI 7" display. I cobbled together a mount for the display and a cover for the Pololu. Check out https://www.thingiverse.com/thing:3558713.

Rubiks Cube Robot Enhancements

This is a great project. A ton of printing but the result is excellent. I have a few comments of interest and a request.

The software works well. The interface is simple. The calibration screen is nicely arranged and functional. When running on an older laptop, it's very responsive.

I tried using a Raspberry PI. I picked up a 3B+ at a local store and started trying to install Windows IOT. It turns out that IOT does not yet support the B+. There's a preview edition that can supposedly be installed but it's documented to have no Wifi support and some other limitations. It amazes me that Microsoft is not yet supporting the 3B+.

I had an older 3B PI running Octopi and decided to set Octopi up on the 3B+ and then I could use the 3B for this. This worked out fine. Octopi runs better than ever (no more delays from camera), and Window IOT installs and works on the 3B perfectly. So, if you want to run this on a PI, find a 3B. Don't bother, for now, with a 3B+.

The software runs well on the 3B. I can sense it's a little slower and less responsive than on the laptop but performance is just fine.

Now we get into the limitations of the software. I really don't like having to use a laptop to run this. With the PI, I can avoid the laptop but still need a keyboard, mouse and monitor. Not a big improvement.

I'm thinking about getting a PI 7" touch display but this is, IMHO, overkill for running the robot. I'd really like it to be headless with some hard buttons for the basic run/stop/off functions.

So ideally, I'd like to see the software enhanced to support the GPIO pins on the PI. I can imagine this would require a new setup screen to tell the software that GPIO pin 20 is Stop, pin 15 is Run etc. Then I could just hook up a few buttons and have a completely independent robot. I am more than willing to hook up a monitor and keyboard for initial setup and calibration. I'd just like to have it fully independent for use without a display and keyboard during normal operation.

Comments deleted.

We have just released version of our RubiksCubeRobot app. The new version enables you to use voice commands to start and stop the robot. Also, following your numerous requests, the app is now equipped with a random scrambling feature. Upgrading is free for the registered users.

Since there's a microphone embedded in that webcam this acutally allows the robot to run headless. After configuration the robot doesn't need a keyboard and a screen anymore. Though I was not able to stop the robot using a voice command, it does start just fine. The sensitivity of the microphone can even be adjusted trough the windows device portal.

I really enjoy the scrambling feature. A toggle mode in which the robot attemps a solve if it finds a scrambled cube and scrambles if it finds a solved cube would be awesome.

I really enjoyed the project. I might even attemp to write my own software and switch to kociembas two phase solver ;-)

I have a working robot if anyone wants to buy mine and not bother with printing.
$250.00 + shipping.

Hello, do not you know where I made a mistake? An error is displayed "Failed to set target of servo 1 to 1750" Where can I then buy the full version of the software? Thank you

Please contact us via the rcr3d.com's contact form for all technical support and sales questions.

Comments deleted.

Hey, I love this project, but I have a 2 questions.

  1. The software. Do I have to PAY in order to run it on my PC. Or can I run it for free via R-pi.
  2. Does the power supply HAVE to be 3 amps, to can it be 2? Thank you.
  1. You have to pay for the software after a 30-day evaluation period regardless of the platform.
  2. 2 amps will probably work too.

We have launched a separate web site dedicated to our Rubik's Cube Robot at www.rcr3d.com. This site is optimized for a wide range of devices, and has all the information split into three separate pages (introduction, hardware and software) so it is easier to digest. The site also has a separate "What's new" section.



Version of our Rubik's Cube Solving Robot app is out. It features an improved cube solving algorithm. While the previous version needed 45 moves on average to solve a cube, the new version only needs around 30.

Occasionally, a retracting gripper may drag the cube along with it. We have discovered an amazingly effective and very cheap cure for this problem: tiny rubber bands women use for their ponytails. Putting two of these rubber rings around each of the grippers dramatically increases friction between the grippers and cube, and eliminates the dragging problem almost completely.

Thank you for this thing! Thumbs up to you!

  • Sent from 3D Geeks: Thingiverse Browser for Android

Recently completed this project and it is just plain fun to watch it solve the Rubik's Cube. I really like that it can run on a Raspberry Pi, just wish it ran under one of the Linux variants (e.g. Raspbian).

Successfully made this rubik cube solver as a project with my InfoComm Club students and they absolutely loved it. The tech support provided was excellent and they helped me through the technical issues i had every step of the way. Here is our finished product. Great project!



How fast does the robot solve the cube, on average?
Additionally, I'm curious to see if I can build a random cube scrambler.

3 - 4 minutes, including the photographing phase. We have the random scrambling feature, based on a user-specified seed value. on our to-do list.

OK its going to be way too hard to file/sand the parts down to fit. I'm therefore going to have to re-print all the parts. Can someone please share with me your settings for a successful print. I was printing 0.2 layers, with 0.4 line width, 4 top and bottom layers, with 1.2mm wall thickness. Any help greatly appreciated, I also used the full frame option as my bed was big enough, instead of the 8 separate corners.

If you are interested, we can sell you the entire printed set. Details on our web site.

Thanks but at $449 thats way too much when I have a printer and have already spent $150 on electronics. Do you not recommend print settings at all? What printer do you print your parts on?

We use 0.2mm layers, 20% refill, and Simplify3D. We have a MakerGear M2 and Creality CR-10 and have used both of them to print the robot parts with success. If you'd like, mail us a printed arm and slider, we will examine them and suggest a corrective action. We will then mail them back to you. Please contact us via our contact form at www.otvinta.com/contact.html for further help.

HI, thanks very much for that offer, ill post them tomorrow to you, dont worry about posting them back as they wont fit anyway, ill reprint.

I haven't sent the parts because I managed to work out the issue with my printer. I had to reduce the Flow in Cura, now have a perfectly fitting set of parts that slide nicely as opposed to before where had to be jammed in. On other slicers its the extrusion multiplier would need reducing. I have calibrated the steps before so Im confused the flow had tp be reduced so much, down to 70% for layers other than the first. Perhaps I need to revisit the steps calibration for the extruder. Im putting this here so others that may have the same problem might benefit.

I see below someone was having great trouble with CURA, and used simplyfy3d, has anyone experience of printing with CURA and what settings I might use, dont really want to pay for simplyfy3d..Any help greatly appreciate. I have bought all the electronic parts. Im going to try the test jpickens suggested to see how my printer performs.

I’ve been busy printing out all the parts but notice the fitting is extremely tight, in most case I’ll need to lightly sand or file to get the pieces to fit, the slider arm definitely will need a lot of sanding for smooth movement. Is this normal?? I’ve been using 0.2 layers with about 10% infill.

Generally, the fitting between the slider and arm is not tight. We never had to resort to sanding to make the slider move freely inside the arm. Light scraping with a scissor blade is usually all that is needed. But not all printers are created equal, some produce smoother prints than others.

Ok thanks. Weird though, my printer is pretty accurate, have printed loads of stuff that has fitted together well. Guess I’ll have no choice but to file and sand, the slider into the arm won’t even fit in without force.

I do not want to sound shitty or annoying or something, but why spend so many money on this when you can learn it yourself?

RocketPocket, its not so much about solving the cube, but the building of the robot

your link is not working!!
so, I can't download source.


It is working now.. The hosting company was performing some sort of maintenance overnight.

Is the 270 degree servo OK to buy and run?

Yes, they work fine.

Great, thanks for getting back to me so quickly. About to order most of the stuff from AliExpress and ebay. Been wanting to do this for ages but printed the OpenRC F1 car first. Im ready for the next project :-)

I'm a university student nowdays we have a graduation project in university.
so we make a this cube bot so we curious to about this project algorithm
Can you say about this algorithm?? please...

The robot uses Thistlethwaite's algorithm currently.


I have this camera laying around:


It's working flawlessly under Windows and I plan to use the robot with your windows app.

Will this camera work with your app, assuming I create a individul mount for this cam and align/calibrate it correctly?
I assume your app will take 640x480 resolution pictures/videos by default although the camera is capable of full HD images, correct?

I can't say for sure if this model can be used, we have not tested it. The app can only function if the pictures are either 640x480 or 320x240.

No answer? So I guess the app simply captures what the camera provides?

OK, but how do you aquire the image/video via the app? Does the "aquire the image" command has a parameter value which requests the image to be in this certain format, like e.g. the mjpeg_streamer does? (knowing you are using a different method under windows)

./mjpg_streamer -i "./input_uvc.so -br 1 -r 1920x1080 -f 30"

This guy is working great!
It is very stable mechanically and it rarely fails (best under normal steady room light).
The parts are very well designed and fit well, easy to print.
The only change I would like to see is a way to hit 'RUN' without a mouse / monitor - it would then be a easy, portable demo.
Little video here-

Fun project that fascinates people! Also very well documented and thought out.

Can I use Adafruit 16 Kanal PWM Servo 12bit Controller instead of pololu controller. Adafruid controller is a shield for raspberry pi.

No, our app currently only works with the Pololu Maestro 12-channel.

We have uploaded a new part, rcr_4corners.stl, which is a combination of 4 rcr_corner.stl. If your 3D printer has a large enough print platform, print 2 of rcr_4corners.stl instead of 8 of rcr_corner.stl. This makes the frame rock-solid and sturdy.

You guys aren't putting together a hardware kit or anything are you? It'd be awesome if you would.

We currently don't sell kits but we can offer recommendations on where to source the cheapest components, contact us via our web site for further help.

how many camera do we use for this project?

Any chance to add the ability to scramble the cube?

Technically it would be very easy to add this feature, but I don't see much value in it -- scrambling the cube by hand is much faster. Contact us directly via email for further discussions.

I think having a scramble feature would be very beneficial. For World Cube Association competitions, we have issues with people misscrambling the cubes. We currently use a scrambling algorithm called tNoodle that exports the scramble sequence into pdf, txt, and json formats. It would be nice to run a program where we could choose the scramble and have the robot scramble it accurately.

I know you do mention to not use speedcubes. Is that a problem with hardware and the cube locking up or just because speedcubes have inconsistent color schemes? If we're only focused on scrambling, we wouldn't need to worry about color schemes.

You do make a good point that humans are faster. What is your average turns per second with the robot do you think?

Comments deleted.

We have been working relentlessly on improvements in our app's color recognition module the last few months. The results of these efforts have been overwhelmingly positive. Version, currently in beta, offers the following new major features:

Auto-configuration mode.
In this mode, the app does not need any configuring whatsoever. The colors of the center squares are used as the samples for color recognition. This approach appears to be producing good and consistent results in a glare-free environment. If your camera is equipped with LEDs, turn them off.

Error correction.
When the Auto-config mode is enabled, the app also performs error correction. The mutual constraints among the cube's squares make it possible to not only detect color mis-identification errors, but correct them as well.

Delayed image capturing.
Instead of taking static photos, the app now shoots short videos and uses the last frame for analysis. This artificial delay in image capturing allows the camera to adjust to the current lighting conditions and produce more vivid, easier-to-analyze images.

Please download the new version,, from http://www.otvinta.com/download12.html#rcr_9_2.

in spite of several mail impossible to obtain a key for the software
No response from them!
I think it's not very serious, I invested money and time for nothing
If anyone has a solution, I'm interested

I just replied to you via email.

Comments deleted.

I had some old servos laying around so I remixed the arm and slider to accommodate them. I also incorporated the servo arms directly on the pinion and gripper. See https://www.thingiverse.com/thing:2687600


I used old Futaba s148 servos for the slider, but these 25t spindle servos should work fine:

These are the servos I used on the gripper:

Note that in my experience, servos with standard angular throw work fine, No need to use 160 or 180 degree servos.

Remix - Fully 3D-Printed Rubik's Cube Solving Robot

I made also this cube solver but i already had a usb camera, so i made a adapter where i count mount my camere and also i used this adapter to store the polulu.
The camera i used is the logitech C270


Antoher Camera mount for the rubiks cube solver
Comments deleted.

Update Nov 21, 2017

We just released Version 2.0 (beta) of our application for public testing. The new version has a brand-new, rewritten from scratch image recognition engine, an improved color recognition algorithm, and it works faster too. For more information, and to download the new version, see this page:


I Printed my one ordered all parts did the assembling , and i also run in a few issues now I realy close to finish it and see it running.
I realy need to say Thanks for the great support I get per mail , Im sure I still would be far away from the point im now.

Great work Thanks a lot , please go on like now.


remodeled the corners into 2 halves... way easier to print and assemble if you have a >8" build platform!

4 corners for otvinta3d's Rubik's Cube Solving Robot

I am considering making one. This baby is kind of a wonderful project. When reading the provided documentation, I have a few questions:

a) why mix digital and analog servos? Metal gear analogs should be good enough. And maybe that would solve the issue of not controlling the servos directly from the Raspberry (and save a lot of money...).
b) is that much torque (20 kg !!!) necessary for the rotation servos, especially with the new low friction stickerless cubes which are now on the market?
c) given the various sizes of cubes on the market (from 55 to 65 mm), which is the size you have designed the robot for? Do the grippers need to hug the cube very closely or should there be some slack (small play)?
d) after rotating the bottom layer, the gripper needs to disengage, but the cube has a trend to fall through the side grippers. What is the solution? Make smaller grippers or adjust the side servos so they maintain some pressure to keep the cube in place (or both)?
e) I see there is a license fee (need to buy a key). Please state upfront the cost of a lifetime license, as I do not want to invest that much time and money without a global view of how much it costs. And I do not like the idea of an annual fee (what happens if you go out of business one way or another?).

Thanks !

Please use the standard 57mm Rubik;s cube. Do not use a speed cube, or a cube with rounded-corner plates.

The grippers do need to hug the cube tightly and make full contact.

Our choice of servos was driven by cost-saving considerations, that is why the robot employs two kinds of servos (one cheap and one expensive.)

Please contact us directly via our contact form at www.otvinta.com for further help.

Well I was on your side for a moment about the description, however if you don't tell people up front that a liscense is required before they put 70 hours into printing it, and $200 in hardware that is just kinda chicken ****. Why wouldn't you just put that in the description?

Hello there just want to let you know you did excellent job and I’m trying to replicate that I have 4 towerpro MG 995 servos and 4 spektrum DS821 servos I was wondering if these servos would work, It will save me some money since I have them laying around please let me know

I can't say for sure. Another user is currently testing the MG996R (not 995) as a replacement for HS311 and that is looking promising (he has yet to fully test it.) But I don't think you can use DS821 as a replacement for the DS3218 as the torque is too low.

Hi, just finished assambling and calibation,
But i not read the software point carefully enough first.
Could anyone tell me how to get the software running on a win7 PC ( To change to win 10 is abolute no option)

To the best of my knowledge, the app can't be run on anything other than Windows 10 or Windows IoT Core

Sad, why an App and not a real program anyone can use ?

Our app is a UWP one, it is supported on Window 10 and Raspberry PI running Windows IoT Core, currently.

Mis-titled. Nowhere close to "fully 3Dprinted". You need screws, wires, electric motors and more that obviously are not 3D printed. Fix the title please.

That is listed in the description. You should read it.

Description is irreverent. Title states: "Fully 3D-Printed..."

I bet the internet drives you crazy then.. Because just about every link I see is click bait in some fashion, which burns my *** but I bet it really gets under your skin huh? :-)

Nice project!
Do you think you could do a remix of the "Nonstop sorting machine" https://www.thingiverse.com/thing:194551/#comments
with a Pi3 and a web cam?

Nonstop Sorting Machine

Ordering all the parts... heres my shopping list for anyone interested.

The nuts are wrong. And you don't need so many wood screws, you need 9. The M3-12 bolts are correct.

BTW, my nuts were great! ;)

@otvinta3d How long do the servo extension leads need to be? should I get the short ones like the ones in the pictures, or will they need to be longer? Trying to put together a parts order for everything. Thanks!

The length we recommend is optimal. Longer cables won't hurt but they won't help either.

I have question

are TowerPro SG-90 servos too weak for this project?

Yes, they are definitely too weak.

Comments deleted.

Real bummer you require a "key" to operate, In your description says "This one-eyed four-armed giant stands 35cm (14") tall. 70 hours of print time and an entire spool of filament are needed to print it, not to mention over $200 worth of hardware" no mention I have to contact you for a key with no price in sight. I am sitting here all ready to run the thing, excited to bring it to school for my kids and I gotta wait for you to get around to sending me a key. I am ok with you requiring this and even charging for it just be up front about it.

@einer_designs Yeah, I agree the software key business is pretty annoying. @otvinta3d Why don't you offer a "lifetime" key instead of that 30 day key for a reasonable price? Common play nice, be forward, people are willing to pay for your hard work!

We do offer a lifetime key for a reasonable price.

@otvinta3d awesome, will my device continue to work if your servers become unavailable?

Licensed users have the option to request the version of the app that does not require an internet connection. You do need it to evaluate the software, though.

wonderful new, thanks for the quick responses! I work at a software consultant shop, and I think our people are going to love this!

Comments deleted.

We have not received a key request from you, please contact us via www.otvinta.com/contact.html.

I would like to add otvinta did get back with be same day and has provided some great support. The license cost is reasonable, still don't know why it is not clearly stated. I am am sure they have their reasons, so will not out them. It would also be nice if it was fully open source i.e. open source code. But finding ways to recover ones cost in this new kind of market can be tricky.

why you have used so much expensive and different electronic parts and boards ?
The usb to servo bridge, the camera module, raspbery etc. its all waste of money

you need only a old smart phone like samsung s3 or else and a ESP8266 12E for about 5-8€ from ebay
the smart phone take the pictures and runes the software for solving
and send the movement by Wlan to the esp8266
the servos can plugged directly at the esp module
thats could be all
sad that you not have such a easy electronic solution, because the mechanical construction of the machine is nice

What a great design and a fun build. I'm starting to get this thing really dialed in. It took a decent amount of tweaking to get it work perfectly. It has to grab tight enough left-to-right and top-to-bottom so that when the perpendicular grippers move away, the cube doesn't get dragged along out of position. I actually have the screws attaching the gripper servo horns to the servo not tightened down all the way, allowing a little bit of play in the grippers. When I tighten them down, for some reason the grippers go ever so slightly askew, enough to sometimes catch the edge of the cube.

I've gotten excellent support form otvinta3d. I sent them my debug info and they replied with some parameters to use, I plugged them in and now it correctly recognizes the colors virtually every time. I've had maybe 2 "MISIDENT" errors out of like 50 runs.

A few times, the gripper would make the 90 degree turn, and then drag the cube with it when it retracted, so when it turned the gripper back to the neutral position it would undo the turn it just did, resulting in the cube not solving correctly. You just need to make minor adjustments until the cube is held in place securely by any 2 grippers alone while the other ones retract.

This has been an amazingly fun build. Everybody that sees this thing in action loves it.

Is this robot functioning with other cubes than the one from Rubik? Because the colors are different, but it has the same sice 3x3x3.

The current version of the software expects the standard cube with the standard colors on a black base. Do not use a speed cube as they tend to twist and turn under their own weight.

The robot runs with Win 10, but I do not have any pictures.
When I start training runs the robot and I have 2 black fields, but no image. The same with "Run", just no pictures. The Cube turns.
..Photographing in progress........, Training has failed. Error_NOLINESFOUND

When I open the camera in the device manager, I have a picture.The configuration in the robot of the camera is OK.

Probably a bad camera. Please contact us http://www.otvinta.com/contact.html for further help.

Update (2017-09-28):
We have added a Troubleshooting section (9.5) to our user manual at http://www.otvinta.com/download12.html, and also put together an online tool, the Eye, for a do-it-yourself analysis of the photographs taken by the robot.

Wow! Love this.

Showstopper for me is requirement of internet access. I would take this with me as a show piece.

Can @otvinta3d confirm this?


We can accommodate you. Please contact us via our contact page at http://www.otvinta.com/contact.html to discuss.

Finally got everything printed and put together. I can't wait to see it work. When I open the Rubik's Cube Robot and hit run, all I get is Photographing in progress... Has anyone experienced this before? I emailed Otvinta support, but I'm waiting to hear back.

i really wish this software didnt need internet access at all times. i was gunna take it to work to show the guys but i dont have internet access there. other then my data on my cell phone..is there anyway u could change this?

Would a Raspberry Pi 2 model B work as well?

If you can install Windows 10 IoT on it, then probably yes.

Hello otvinta...
I absolutely love this project. I have printed and built everything. And all I need now is the software verification key. I tried emailing threw your website but unfortunately I havnt got a response yet. I emailed yesterday and again. Today. So I just figured I would try to reach you here first to see if something was wrong. Please let me know. Thanks again for your hard work.....

Hi there,

We have replied to everyone requesting a key. Please email us again at help at otvinta dot com, we will be waiting for your email.

Can other servo controller board be used other than the Polulu board?

We hope so. We are investigating whether this one can be used:


We have ordered it and as soon as it arrives we will test it and post our findings.


I'm seriously considering to make one. One question, though: what was the reason to add the Pololu Servo controller when you can control them directly from the Pi ? A library bug, some kind of power requirements ???

Thanks !

Before switching to Pololu, we tried just that but got poor results. But it may still be doable.

Note that with Pololu there is no need for soldering or breadboarding, the wiring is easy and clean.

I had to reprint the bolts and rod at a higher infill.

Same. Quite fragile at 20%. What % infill did you use?

Update 9/16/2017:
We have added a new part, rcr_camera_cover_noleds.stl, which is to be used instead of rcr_camera_cover.stl in case you prefer to cover the camera's LEDs. For some users, the LEDs cause bright flashes on the center cubies, which makes color identification difficult.

This may be a dumb question, but can't you just turn down the LED's with the knob on the usb cable? (my camera had this). Or does this just diffuse the light or something. I do have the problem of the LED's reflecting off the center cube, but without the LED's it is too dark under normal light to pick up the colors.

Thanks for pointing it out. You are absolutely correct, the LEDs can be turned off with a knob and there is no need for a special LED-covering part.

We have tested our robot in very poor lighting conditions but with the LEDs fully on, and color recognition worked OK. However we have received photographs from other users where flashes make color recognition extremely difficult. Our recommendation in this case is to switch the LEDs off and use brighter ambient light.

In my office with multiple overhead fluorescent lights I have been able to repeatedly have it work 100% with the LED's at full brightness, but if I set it on my kitchen table with just a normal overhead light I have the problem of the reflection with the LED's at 100%. If I turn the LED's down I can't get enough light for it to recognize the colors, I have even played with holding a flashlight at different angles and that works well to get really good pictures, but I can't get it to calibrate well enough for some reason to get past the analyzing portion.

We will need to look at your images and suggest a corrective configuration adjustment. Please contact us at http://www.otvinta.com/contact.html for further help.

Can the code for the be ported and changed to run on Arduino hardware?

Sorry but I doubt it as it seems to use USB cameras to pattern detect

No, I don't believe so. The device needs to have two UBS ports for the app to work.

Do you think it works with Windows 7 ..??

Does not look that way, unfortunately.

Is adapter with 5 Volt / 3 A also correct......Thanks

Comments deleted.

Any chance you could do a little write up as to what the settings on the left side of the configuration page do? I have been able to get it to work on my office desk in very bright light repeatedly, but under normal light it never works (never gets past the analyzing phase that is).
Mechanically it works great however.

Currently we ask that the users send us the photographs taken by the robot for analysis. Please enable debugging in the Configuration Center, run the app, and if color recognition fails, email us the batch of .pix files in the \Data\Users\DefaultAccount\Pictures folder of the PI at help at otvinta dot com.

We will soon make this process more automatic, hopefully, but now you need to manually email us the pix files.

This is amazing! Does it work on all rubiks cubes? Like the ones that are 4x4x4?

This is seriously the coolest thing I have ever seen on Thingiverse.

Seriously great, great work on this. This exemplifies what makes the Internet and open source so powerful. Thanks for sharing this! All of my electronics to reproduce this are in and I'm about a third of the way through the 3D printing. I can't wait to get the assembled result running.

this Thing is amazing. Thank You for that great Job!!!
I will start printing in the evening....

But i have two Questions:

Is it hard to implement "Headless" Design? I mean with an RPi 3 and some Buttons connected to it, for Load/Unload/Start-/Stop- solving? I would care by my self for the wiring and "plastics". But how to implement in the Software?

Is there a chance, to use the RaspiCam (Version1 - 5MP)?

The software is not currently designed to support buttons or work in a headless mode -- the robot requires interactions and feedback, hence a need for the user interface.

The robot is designed with a particular kind of webcam, with a round housing and removable stand (see our web site for the specs,)

which servo DS3218 do i need to buy, the 180 degrees or the 270 degrees?

Comments deleted.

Okay thanks

How do you insert the DS3218 servers into the sliders? The square is so tight that when you angle it to get the cord through, you can't fit it into the slot. Is there a trick to this?

You can do a fair amount of filing, or as I did you can cheat, unscrew the four screws on the back of the DS3218 so the back plate loosens, then it is easy to push the plate through (with the cable) then put the rest of the motor back on and re-insert the very long bolts. Sounds tedious but it takes 30-40 seconds per servo and I personally found it much easier than trying to file a huge hole to accommodate the cable relief.

A bit of filing and sanding and I got it to go in.

Comments deleted.

The tabs on the arm is too big for the slot in the corner pieces. It appears to be about one layer to small. Has anyone had the same issue?

They were designed for a tight fit. The areas of the tab that touched the heated platform need some light scraping (we use a scissor blade for that.)

I used S3D and scaled up to 101% and re-printed 2 so far. That made a difference. Not sure if I will have any downstream impact with full assembly or calibration.

Comments deleted.

Did you plug in your power source to the Maestro? Did you switch your Maestro to the USB Dual mode? You need to do both, or the servos won't move. For some screenshots see http://www.otvinta.com/download12.html, scroll down to section 8.

Comments deleted.

Why don't you take the photos with thh webcam, when only the upper on lower finger is in place and these two fingers are in the position which is out of sight? then you have to take only one photo an no further movement of the fingers is needed...

The grippers cover much of the square's surface and makes color recognition difficult, However the next version will hopefully only take a single picture with all 4 grippers engaged.

Maybe you do not understand me right. If the only the lower an upper fingers are engaged, but turned this way, that they are parallel to the case, so the camera will not see the fingers during the foto

Is it possible to get you sources to make own improvements?

I understand what you are saying but for this to happen, one servo would have to make a positive 90 deg. turn while the opposite one a negative 90 deg. turn. For the sake of precision, the gripper servos currently only make positive 90 deg turns.

In my opinion, this should also work, if both grippers make a positive turn... the upper and lower grippers could turn withouth the cube and get back to hold the cube when they are parallel to the case. Than the left and right go out of sight...

Question. the Mini Maestro 12-Channel USB Servo Controller, Can it be replaced with an adruino controller USB servo controller?
I can't find that Mini Maestro one in China where I Currently Live.

see link of product.

This is an excellent question. A few days ago we ordered this part to see if it can replace the Pololu Maestro. We hope it can. As soon as it arrives we will test it and make an announcement.

Did you test this board above in the place of the Polulu? Not found in South Africa also

Thanks, Then I'll wait before I buy the rest :-)

I'm curious what settings to use to get the print times on the details screen without loosing quality. For example, I have loaded rcr_arm.stl in both Cura and Simplify3D with 0.2mm layer and 20% fill and Cura is telling me it's going to take around 5 hours and 28 minutes while Simplify3D is telling me 4 hours and 45 minutes. I'm more familiar with Simplify3D, so here are some of the basic settings I'm using:
Layer Height: 0.2 mm
Top and Bottom Solid Layers : 3
Side Layers: 2
Infill: 20%
Support Pillar Resolution: 4 mm
Support Infill Percentage: 20%
Default Printing Speed: 60 mm/s
I currently have "Adjust printing speed for layers below..." disabled.
Any suggestions would be great. I have a Wilson II Reprap printer.

The numbers in that table were produced by Simplify3D, they are not the actual time measurements, and therefore approximate. It has been my observation that the time estimates Simplify3D generates tend to be too optimistic. I don't know exactly how it computes print time, but possibly it takes the 3D printer's make and model into account. Since we use different printers, the times are also different..

If you wish, I can email you a copy of our Simplify3D profile. Contact us via our web site www.otvinta.com/contact.html.

Hello, i am a student from Belgium. I studying for Electronic Engineering, I am in my 6th year and have to make a thesis project. This looks like an awsome project to make during this schoolyear. I have downloaded all the files but i can't open some files and i don't know how to download or write the program by myself. Can someone help me out or give a few tips for the program?

Sure, we will be happy to help you. Please contact us via http://www.otvinta.com/contact.html and we will reply to you directly.

hello everyone. i just wanted to inform some of you that complained about the expired 30 day trial and then having to pay 30 dollars for this simple program. A few of my friends and myself are working on a program very similar to this one and we will upload at no charge. open source is what we are all about. i admit this is a wonderful design, but there is no reason to charge people for this simple program. i will let everyone know where they can download it from. we are testing the software now. working out some bugs and should be ready soon...

Nothing but hot air .... that's what I thought ...

That would be really nice! Please keep us up to date about the progress...

For those of you that have printed this successfully, what slicer did you use?
what layer thickness / height did you use?

Comments deleted.

If one is going to use the optional Raspberry Pi for control, is there value from a demonstration purpose to have a touchscreen for the Pi? Consider this in the context of a public area, specifically a public library makerspace.

A touchscreen interface would work great with our app, I think, but you don't necessarily need a Raspberry PI for that. Microsoft Surface will work too, probably (we didn't test our app with the Surface.)

I suspect that a Raspberry Pi and touchscreen is likely to be less expensive than a MS Surface device. The library makerspace is fond of touting the Pi and Arduino as a couple of resources available to the public, although the implementation has been rather underwhelming. This amazing cube-solving robot falls at the other end of the scale, very much an overwhelmingly delightful implementation of the Pi.

Pi is easy to fix a touchscreen. But this program always need a internet connect due to the key valid check. so you need consider about this.

I have all the hardware lined up. Before I make the purchase....is there any change to the hardware list as of 9/4/17?

No change except Raspberry PI is now optional, a regular Windows 10 PC can be used instead. The x86 and x64 versions of the app will be available very shortly.

Almost done printing all the parts! It will be a while before getting all the hardware tho. Not so patiently waiting...

Comments deleted.

Super awesome. Really great to have you in our community!

2017-09-03 Update

Hello everyone, thank you for your overwhelmingly positive feedback and interest in our Rubik's Cube Solving Robot!

We have just updated our web site with some images and instructions on servo calibration:


Also we have successfully tested our application on a Windows 10 PC, without Raspberry PI, and it worked beautifully. So there is absolutely no need for a Raspberry PI board, just plug the camera and servo controller directly into your PC. The PC version of the application will be available for public testing shortly.

And finally: we have received complaints that the 5 MP camera has become difficult to get hold of. A very similar 12 MP camera is readily available but our software needs to be updated to accommodate larger photos. We have already ordered this new camera, and as soon as it arrives, we will update the software and make an announcement here and on our web site.

Please do not hesitate to contact us here and via our web site if you have questions or need help.

Hello, Thank you for thsi great project. I ordering all parts for my 9 years son.

Can I ordering the 12 MP already? Do you think updating the software for 12 MP in 20 days ?

Go ahead. We should be able to update our software by then.

Comments deleted.

felicitaciones! son unos genios! wow! No se por donde empezar!

Good news, everyone. We have successfully completed our testing of the new gripper design compatible with the standard single-armed horn that comes with the DS3218 servo. The new gripper is now called rcr_gripper.stl, while the old gripper has been renamed to rcr_gripper_old.stl.

There is absolutely no need for the pink horn which used to be available on eBay, but has sold out. If you managed to purchase it while it was still available, then please print rcr_gripper_old.stl instead of rcr_gripper.stl.

Brilliant! I love seeing these kinds of projects on Thingiverse!

Comments deleted.

I have worked the bolts in to submission by constantly screwing and unscrewing them out of the camera holder.
My hands are tore up, need to recover.

The nuts are still tight on the bolts, they seem to get about half-way - three quarters through and bind up. Is this by design to hold the model tight?

Headed to the store to get M3 x 12 flat head philip screws.

No, nothing was designed to be tough, I am quite surprised to hear it, and will look into it.

It may be Eddiie's printer calibration. Close fitting parts can be an issue with FDM printing. Try printing a clearance test print, like the one developed by Angus at Maker's Muse. It prints a series of close clearance discs, and the smaller clearance you can move, the more accurate your printer. Here is an open source version based upon Angus's ideas.

Customizable 3D Tolerance Test
by zapta

Guess I can't print this.
Waste of $200+ on parts, power, effort, plastic.
Bunch of pieces don't fit.

I use Cura, retesting with Slic3r.
I use 3 different printers

Anyone want to buy my parts? Raspberry Pi, servo controller, power supply, servo horns, camera, servos,,,

Tolerance test fails, no one says what to change to make it better.

Sorry you are having trouble with the printing of this robot. Please contact us directly via http://www.otvinta.com/contact.html, we will try to help you.

Ok I will. Thanks for offering to help fix my printers.

I bought Simplify3D last night.
Have not printed the parts yet but have taken the time to print the Tolerance thing linked above. I replicated the issue with SImplify3D, but was able to adjust the "Horizontal size compensation" setting (-0.50 for my test) on the "Other" tab (going from memory, might be wrong tab) values and over come the tolerance issue. Since it was late, I have not had time to go back and fine tune, but I think slicing this project with Simplify3D will help. Will work on it tonight. -0.30 or smaller

Update from me, I will be deleting my comments soon, I hope.
After reslicing with Simpify3D and printing some parts, the difference is night and day. The Arm and slider fit together so much better, the rack and slider fit together perfectly, that is as far as I have made it for now.

Granted, it takes 7.5 hours to print an arm (probably a tweak I need to make), but I am happy with the results thus far.

Slice this with SIMPLIFY3D!!!!!!!!!!!!!! Unless your printer is perfect, Cura will not be a good slicer for this.

Hi Eddie,

Having exactly the same issue, what printer are you using? Trying to print with CURA new version, and dont really want to buy Simplify3D.

Im guessing you only really got it going with SImplify?

Yeah, had to use simplify. It allows you to adjust tolerances on X, Y, Z. I use it for everything now. It helps with other models like print in place objects. You can also use the trial and generate what you need. It is pretty nice..

Comments deleted.

That;s very unusual. Please contact us via our contact form and send some pictures for further help:


Just from previous experience with other 3D printed hardware, I've found that if you put your existing bolt in a vice, and then use a Crescent Wrench to work the nut down the bolt it'll sorta "self-tap" per se. Works pretty well on stuff that comes off my Taz. If it's really non-cooperative, I'd recommend enlarging the nut.

how do we get a permanent key once the 30 day one expires

Request it in the same way you got the 30-day free licence.

But it gonna be roughly $30 for the permenent one


2017-08-31: As it turned out, the vendor on eBay selling the double-sided servo horns for the grippers is out of them. In response to this development, we have redesigned the gripper to allow it to be used with the standard single-sided horn that comes with the DS3218 servo. The new model has just been added to the list under the name rcr_gripper2.stl. We will complete the stress-testing of this new design by tomorrow end-of-business, Sep 1, 2017. Also the eBay vendor has promised to restock the double-sided horn in 2 weeks or less. One way or another, please rest assured the horn problem will be resolved.

Great Part, was checking the parts , the horn is totaly sold out in the US , and Not existing in Europe delivery Costs to europe is high and sadly I have bad experiance with send over from the US ,

If you should think about a redesign to get other arms ( worldwide reachable) I´ll think again to built one


We have just uploaded a new gripper design, rcr_gripper2.stl which is compatible with the standard horn that comes with the DS3218 servo. The initial testing looks good but we will complete stress-testing by tomorrow end-of-business.


Siento de antemano no hablar en inglés, pero es increíble lo que habéis hecho, me ha encantado, como muchos que somos makers, nos encanta el cubo de Rubik y todos deseamos una máquina así, para competir

Very fantastic and inspiring project. Do you think MG996R Servos can be used?

Can't say for sure. If this servo has the exact same size as the servo you want to replace, and similar torque, then maybe.

Complex to make, complex to solve - but 0 made?

What happens after 30 days on your evaluation key?

"The 1st required step is to click the key button and enter your registration key in the form XXXXX-XXXXX. Please contact us to obtain your free 30-day evaluation key."

The permanent key won't be entirely free, but it won't be expensive either, a small fraction of the overall cost of the robot, essentially a nominal fee. The fee will include life-time maintenance.

So.....how much does it cost then?

I was wondering the same thing. Do they charge you to continue using it???

I asked and they think it will be roughly $30 and once payed your free activation key will be the permenent key

Do you recommend 15kg or 20kg servos for the DS3218

Our robot uses the 20kg ones. The 15kg servos may work too but I wouldn't risk it,

I can solve it faster by hand xD

i can do it under a minute, you?

Why does the robot need to readjust its arms after every turn? For example, when it does 2 clockwise turns on one side, it could just do the turns all at once and then readjust in one motion. Seems like it would be more efficient.

A -90 degree to +90 degree turn did not provide the necessary degree of precision so we decided to play it safe and use 0 to +90 degree turns only, for now.

Is that a limitation of the motors? Could higher quality motors be used to solve this problem?

We will keep working on it. Our robot uses the basic 180-deg DS3218 servos. The 270-deg variety of these servos may help with a negative 90-deg turn. If that turns out to be the case, we will issue a new version of the software written around these 270-deg servos.

Does the current setup work fine with 270 servos also? Then I can buy these and be ready if you make a change in the future.

Can't say for sure, we did not test the 270 servos, but probably yes.

I can't find that servo horn on e-bay, anyone have a link?

Comments deleted.

Looks like that vendor is out of them. We just contacted them to see if more horns are going to be available soon. Meanwhile, we are exploring other options, such as trying to mount the gripper directly onto the servo's shaft, without a horn. We will be posting updates, please stand by.

Ok, thanks much! I'm trying to gather the parts and that seems like the only one that's problematic.

Sounds like a really fun project to do with my kids!

This is all kinds of awesome. Now if only I could do it by hand too......I might have to read the code and program myself.

Hahahahha, just search for begginer's method and you'll be solving it in 3 minutes from your first go. Trust me

Thank you for this amazing Project!!! It have just downloaded the files and will start printing:-)

wait, i'm thinking to a new word... amazing is not enough XD

Hellllllz yaa I can't wait to bring this to life however a link to all parts purchased would be much appreciated pls for exemple the Ds3218 servo motor dose it have to be that exact model or any servo motor would work?

You may be able to use a different servo but it has to be the exact same size as the DS3218, and similar torque.

Now that beats a squishy turtle

F#%& the squishi turtle lol


I have a couple of questions:
Have you considered making the frame more robot-like?
If the grippers had split fingers, would that eliminate the need to two pictures per side?

Not sure what you mean by "robot-like". The frame was designed merely to hold the 4 arms of the robot and not require any metal assembly hardware.

About the grippers: we believe even with the current design we can get away with only taking a single photo per face, with some improvements in the zone detection code. Hopefully, the next version of the application will have that.

Robot-like, with a head, arms, and legs like a 50s or 60s style robot. Strictly cosmetic to be sure.
It's a fantastic thing. Very impressive.

Astonishing! Straight to the top of my 'to print' list.
Thank you so much for sharing.

Wow! Definitely on the to-do list

DS3218 Servo Motor 180° or 270°??

180° is sufficient. In fact, the robot only uses a 0 to 90° rotation.

Is the 270 ok to use or would it require extra work?

This looks awesome, but I hope someone can figure out how to reduce the hardware cost.

Raspberry PI can be eliminated completely. The Maestro and Webcam USB cables can be plugged to a PC. The application we developed is Universal Windows Platform (UWP), so it should run on a PC too (we will be conducting formals tests shortly.)

Also, the DS3218 servo is $20 on Amazon, but elsewhere it can be purchased for less. AliExpress lists it at $12.95.

We will also work on providing a cheaper alternative to the currently used custom servo horns.


start printing.. see you "soon"..

So cool!

Could it be run on a Orange Pi PC or other type SBC?

Yes, as long as it has two USB ports and proper software. Currently the software is written for Raspberry Pi running Windows 10 IoT.

The code could be greatly optimized. there's several occasions where an arm goes three turns forward, having to stop and retract and reset each time. it would be faster to have it go one turn backwards in these cases.

a 360 degree servo would help too! Much faster than having to reset...

Great! This is the kind of work I like to see here in Thingiverse :-)
Thank you very much for sharing.

Yeah, nice work :D