Projects

Project

Robotic 2×2 Cube Solver

Rubik's Cube Solver

In Progress

A stepper-and-servo robot that turns a 2×2 cube.

The cube solver holding a scrambled 2×2 cube

A robot that executes cube moves one by one, turning the bottom layer on a stepper-driven turntable and flipping the cube with a servo-driven claw arm to bring each face into position.

Status
In Progress
Built with
C++ArduinoAccelStepperStepper MotorServos3D Printing

The mechanism

Turn, grip, flip.

A stepper motor spins a turntable under the cube. Above it, two mirrored servos tilt an arm and a third closes its claw. The arm either holds the upper layer still while the turntable twists the bottom one, or pulls the whole cube over to bring a new face down.

The solver's turntable, tilt servos, and claw arm

The firmware

Every face, from the bottom.

The Arduino executes any move sequence in standard cube notation (R1 U1 F1 …). The robot can only ever turn the bottom face, so the firmware tracks the cube's orientation through every flip and spin, and works out the regrips needed to bring each face to the turntable before turning it.

Hand-wired perfboard with the stepper driver and servo headers
Hand-wired perfboard: stepper driver and servo connections.

What's next

From executing moves to solving.

The robot can already carry out any move sequence. Next up:

  • Connecting the scrambling code to a solver algorithm, so the robot works out its own solution
  • Redesigning some of the 3D-printed parts for more stability

Next

ECG Signal Processing & Edge ML

On-device machine learning for ECG signals.

Sender/receiver board with two Raspberry Pi Pico 2 microcontrollers linked over UART