My attempt at designing a Rubik's speed cube, using OpenSCAD.
Compared to other cubes on Thingiverse perhaps, it has rounded edges on the outside, ...and comes with easily enabled raft and support structures. Using the latter, pieces do not have to be printed at awkward 45 degree angles.
I used it for a few hours, and the thin walls around the springs are holding up well.
Here you can see me solving it in about 25 seconds, with my printer in the background:
1. Don't attempt to print this without a rather well calibrated printer, or you'll be sanding your hands off later (as I did - my Y-axis has a bit of ...backlash). Dimensions should be accurate to within about 0.1 mm of each other. 2. Edit the center piece in the scad file, to fit snugly but not too snugly around the screws and springs you will be using. I just took them from a commercial cube.. The cut-through picture may be helpful here (cut-through view is also easily enabled in the the scad file, to check if everything fits). 3. Check that the wall around the spring in the center piece ends up solid after you slice it (I use repetierHost for this). Otherwise it will easily break when using the cube. 4. Edit the scad file to print as many pieces together as possible, once rubik.stl comes out nicely. Put pieces with the same height close together. Possibly enable the manual raft and/or support structures in the code. I hate my prints to fail, so I always add manual rafts and support structures.. 5. You probably don't want to print at 0.4 mm layer height, but I don't know. I used 0.3 mm and it worked out quite well. Surfaces at this layer height at least are easily polished to be super smooth. 6. Sanding. Try to avoid this as much as possible. It is faster to print something again if things don't fit well. So check fit early and readjust. The most important thing to sand is probably the sharp edges on the inside. To sand the sides of the cubies accurately, I recommend getting a digital calliper. 6. Put on stickers and enjoy your hard work.