It’s impressive and fast. Visual processing, non-verbal reasoning, physical dexterity… there’s a lot going on. What next? World peace, maybe? Child rearing?
To be precise, an Arduino Mega 2560 board controls six NEMA 17 stepper motors (one for each face of the cube) via a CNC shield with DRV8825 drivers.
Apparently, the shield only has four motor drivers available, so the system switches between the motors it can control at any given moment.
The big brains actually reside nearby on a PC running some “Optimal Solver” software to generate the Rubik’s solutions, which then outputs to the Arduino a series of rotation commands.
I’m getting all this from the Arduino blog post that highlights the system. The Arduino team write:
“It may not seem like it, but the central square on each side of a Rubik’s Cube remains stationary. By spinning those squares, one can rotate the entire side of the cube. iBoot32’s robot design takes advantage of that fact and has six steppers motors that attach to the central squares on each of the Cube’s six sides. This arrangement gives the robot full manipulation of the Rubik’s cube.”
The work is highlighted on Reddit by the Redditor iBoot32. They designed the enclosure themselves, in SolidWorks, and then 3D printed it (PLA+ plastic). It holds together very well, despite the motor vibrations, says the creator.
— Arduino (@arduino) August 1, 2022