Solving the Rubik’s Cube with Raspberry Pi and Arduino

A Maker duo created a Rubik’s Cube-solving robot using recycled FAC system parts, a Raspberry Pi Compute Module and an Arduino Mini.

Solving a Rubik’s Cube is no easy feat. In fact, for a vast majority of folks, it’s a downright daunting task. But what if there was an automated mechanism that could do it for you? That’s exactly what the duo of Maxim Tsoy and Wilbert Swinkels has developed. Inspired by other DIY cube solvers comprised of LEGO and Fischertechnik, the Makers brought their creation to life using antiquated FAC-System parts — a modular system developed back in the early 1950s.


At the heart of the machine lies a Raspberry Pi Compute Module along with Arduino Mini. The Compute Module actuates a series of  motors and grippers, while also running a two-phase algorithm from Herbert Kociemba. Aside from that, the ATmega328 board was employed to control an LDR-based scanner which consists of three modified ColorPAL sensors. The data is sent to the Arduino and based on the incoming set of information, the program begins computing how to solve the cube and relays commands to the motors.

“It turned out to be very easy to connect Arduino to Raspberry and make them work together,” the Makers reveal. This called for nothing more than two wires and a level converter from SparkFun.


The entire system is mounted onto an MDF base, which houses all of the electronic components. It should be pointed out that, at first, an Arduino was implemented as the brains of the entire operation. However, the Makers realized that an RPi would be a much better suitor for the job. After all, the sophisticated cube solving algorithms required quite a bit of memory — more than the Arduino could provide.

Pretty cool, right? See it in action below, and check out the project’s elaborate overview here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s