I'm aiming to make a Rubik's Cube solver WITHOUT a genuine resolution algorithm

Hi everyone !

I'm a complete novice at Arduino, onboard electronics, and robotics ! But, I have ideas, high interest and perseverance !

Here's the project I'd like so much to make : a Rubik's Cube solver linked to a mobile application, and using a standard Rubik's Cube :

At the beginning of the process, you put an already solved Cube on the solver.

Firstly, you have to open the mobile application dedicated to the complex, to declare personal goals, and to associate them to their importance levels (from 1 to 4). You may add some extra personal goals, considered as bonuses. You also have to submit a deadline.

Then, the Rubik's Cube Solver will be shuffling the Cube, with the following specificities :

  • for each target declared, it will make a number of shuffling moves equal to its importance level
  • the moves are defined with pseudorandomness
  • there is a protection against consecutives nullifying moves (such as LEFT and then RIGHT on the same column)
  • the moves executed are registered in a array

After that, each time you mention a goal as accomplished, the solver will partly resolve the Cube, with a number of resolution moves equal to the level of importance of the goal accomplished, simply by reversing the shuffling moves registered in the array.

Thus, there are 3 possible cases :

  • all the goals have been accomplished anteriorly to the deadline : the Cube is solved, and it will be shuffled again once new goals will have been declared.
  • the deadline is reached, without all the goals having been accomplished. The resolution moves dones (if any) are canceled. If there are new goals declared, the Cube will be solved, and shuffled as usual.
  • some surerogatory goals have been accomplished, in additon to the mandatory goals. For each of them, the Cube is shuffled and solved very fast, but with a reduced speed for the last moves of resolution.

/!\ If a goal has been declared as accomplished, but mistakenly, it is possible to cancel the associed resolution moves too.

(For information, the mobile application also includes the possibilites of analysing your self-exigence, productivity, to compare them with those of your friends), and to propose goals to you relatives that may suit them. :slight_smile: )

So, okay. The software part won't be difficult for me.
Nonetheless, given my lack of knowledge, the hardware part is totally arcane... :frowning:

Instructables.com and few friends told me things akin to Chinese...

So, your help would sincerely be the welcome ! :slight_smile:

Have a nice day !

You have some great goals.
Set them aside.
Start with smaller, incremental steps.

Have you run the Blink tutorial? This lets you know that you can hook up the arduino to the computer, push up a sketch and see the arduino run your code.

Next, run the sweep tutorial (if your solver will use RC hobby servos)

Next, work on whatever connectivity your mobile application will use to interact with the arduino.

We can help you with this as you try each step and if you have questions along the way.