-
13D Printed Files
The v-shape profiles are connected on the outer corners with 90degrees connectors you can buy but for the top/bottom and middle sections, I designed in Tinkercad some connectors you'll have to print. You can find the files also here: https://www.thingiverse.com/thing:5890181
Print 2x 4 way connectors and 4x 2 way connectors. Print 6x axe connectors that you'll later glue to the center pieces of the cube.
-
2Building the Frame
Frame
The frame is based on this reddit post a saw a while ago and I really liked(unfortunately no details were provided so I made my own).
- Middle: Connect a 7.5cm and a 12.5cm profile with the 2way connector. Repeat 4 times.
- Top: Connect 4x 10cm profiles with the 4way connector.
- Bottom: Connect 4x 7.5cm profiles with the 4way connector.
Use the metal 90degrees connectors to connect the top bottom and middle.
Motors
- Insert the motors into the 3d printed connectors and secure them with the screws.
- Connect motors and the axe with the shafts couplings.
Rubik's Cube
Glue the axe's ends to the cube's centers and you'll have to make a few adjustments to get everything fit snuggly.
-
3Electronics
Here is a schematic that you can use to connect your development board to the motors and drivers.
As you can see there are quite a few cables and it can get quite messy if you try to use a breadboard.
To solve this I developed a custom PCB to handle all this. Note that the PCB is designed for a NodeMCU v2 quick drop in.
The Gerber files you can find attached and you can use a service like https://www.jlcpcb.com or https://www.pcbway.com to order a custom PCB
Once you have the PCB, you'll have to solder the capacitors, pins, power connector and switch. The motor drivers and NodeMCU are dropins.
Note that each driver has a level which mentions which face/color of the cube it will connect to. Use these label to orient the cube in the frame and connect the motor cables.
-
4Software
For controlling the motors you'll need to compile and upload the source you can find here, in the Files section.
It includes a Platformio project that does 2 things:
1. Controls the motor drivers
2. Server a webpage you can connect to over wifi(from your phone or pc).
This page contains a scrambler, a solver and a visualisation of the whole process.
- Press 'Scramble' to generate a scramble.
- Press 'Send to robot' to send the instructions to the robot which will start moving the motors to replicate that scramble to the real cube.
- Press 'Solve' to generate a solution of that scramble(note that they are independent of each other, cube-solver@2.4.1 is used). Press again 'Send to robot' to send the solving instructions and complete the cube.
Notes:
- Make sure you change the ssid/password in the main.cpp file with your Wifi network credentials.
- To increase the speed to solve the cube play with the variables in motor.cpp.
The future plan is to use cameras to scan the robot in order to obtain the scramble position.
*The code is based on a similar concept from Andre Angelucci
-
5Finish
Check a video of the solver in the Files section.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.