Cube-Bot

10K+
Downloads
Content rating
Everyone
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

This App allows solving a Magic Cube with a robot. The robot is connected via Bluetooth.
The cube can be entered manually or being scanned by using the camera feature. Wrong detected cube colors can be corrected. The turning of the cube to the next face can be executed by the robot.
If a valid cube is entered a solution is calculated and can be sent to the robot. The robot can than execute the solution and you get a solved cube back.
All you have to do is to build the robot!

The app can be used without a robot but there are better options.

For robot builders:
The App was designed for an Arduino based 2-gripper robot holding the down and the back face of the cube. For the Bluetooth connection a HC-06 module is used. This App can be used for any robot using the same protocol as well as the same UUID as the HC-06 module. It does not transmit servo moves. It sends commands which need to be executed by the robot.

The process is divided into 2 stages:

Stage 1: Entering/Scanning the cube
If a cube face is entered or scanned you move to the next face by hitting the view button. By doing so the single lowercase starting character ("l" for left, "u" for up) of the next face is send to the robot. The robot needs to execute the move. The order is right, back, left, up, down and back to front. In characters it is r,b,l,u,d,f.

Stage 2: Solving
Since the orientation is crucial for successfully solving the cube the solution is only available when the front view is active. This assumes that the robot has also turned the cube in the correct position.
The solution is calculated within the app. It is not fetched from any server or so. As soon as it is available the solving string is transmitted to the robot. The solving string is the sequence of moves separated by a space. The moves are given as follows:

L - turn the left face clockwise
L' - turn the left face counterclockwise
L2 - turn it 180°

F-Front, R - Right, B-Back, U-Up, and D-Down.

By following the sequence in this manner, the cube gets solved.

How your robot does execute the moves is up to you. This app allows you to focus on controlling the robot and not need to worry about the cube solving itself.

The communication is only one way. There is no transmission back from the robot to the Smartphone.

I hope this gets you started with your own project.

Good luck!


Credits:

Credits are going to:

Kas in the Arduino forum for inspiring the project and doing the major work in Arduino programming as well as providing a first app for the robot.

https://forum.arduino.cc/index.php?topic=271827.0


Herbert Kociemba for doing the tremendous work of developing the solving algorithm and providing the free solving and tools library.

http://www.kociemba.org/cube.htm


To cs0x7f on GitHub for providing an optimized 2-phase solving library under GPL.

https://github.com/cs0x7f/min2phase
Updated on
Jun 10, 2025

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
No data shared with third parties
Learn more about how developers declare sharing
No data collected
Learn more about how developers declare collection

What’s new

Fixed bluetooth permission handling for Android 12 and higher.
App will now detect bluetooth disconnection.

App support

About the developer
Richard Möller
richimoeller@gmail.com
Germany
undefined