Hacking Rubik's Cube to control home appliances

Take automation to next level. Control any appliances with rubik's cube.

Public Chat
Similar projects worth following
In this project, I have used smart rubik cube from Xiaomi which is BLE enabled rubik's cube.An ESP32 module which acts a central device connects to rubik's cube via BLE. ESP module determines the service and characteristics and tracks the data of present status and moves of the rubik's cube.The final solution combination of this cube is fixed, which is programmed in to the code.When the solution is matched, the relay is turned ON which turns ON the CFL bulb connected to the relay.

Do check out my blog here:
Instagram: @blogtheorem @dhiraj_gehlot


I know we all are bored amid this coronavirus pandemic; most of us have plenty of time to work on our skills, or do fun things in my case working on electronics, which I would say is my passion.

I had purchased xiaomi’s Gikker’s cube long time back because I was fascinated to see that it was not a normal rubik’s cube but a smart cube with BLE technology in-built. The Rubik cube connects to an app called Supercube, which can teach you how to solve Rubik’s cube, and there are many fun variation, games, quizzes etc.


As most of the such gadget, initially we are very fascinated but later it just collect dust kept lying around somewhere in cupboard.

Recently I started working on ESP32 modules , which are highly used in IoT field because it adds Wi-Fi to your project in some simple steps. After learning some basics of BLE and how it works on code front, I built some basic project application.

I came across one this amazing video on YouTube, which explained that data in this cube is not protected, and how the cube data is directly broadcast when you connect any BLE device for example a mobile.


  1. Arduino IDE with ESP32 core installed
  2. Basic terminology about BLE, service, and characteristics
  3. nrfConnect Nordic App


Open nrfconnect APP and twist the Rubik’s cube. MAC ID will be displayed directly on nrfconnect app.


Block diagram rubix's cube


I assume you already have basic knowledge of Arduino and how to use upload program to ESP32. After successful upload, open the serial monitor. ESP32 act as a master device and connected to Rubik’s cube.

ESP32 will connect to MAC ID specified in the code. It will determine required service and characteristics where moves of Rubik’s cube is broadcasted.

You can check the service and characteristic UUID in nrfconnect app

nrfconnect app

The solution stage data is already hardcoded in the Arduino code. You can code your required outcome in dosomething() function. I activated relay for 5 second in this example, you can add any other function of your choice.

CONCLUSION The application for this project is endless such as automatic door lock, password control home appliances and many other IoT applications. Let me know your thought’s on comment.

  • 1 × ESP32 module
  • 1 × Gikker rubik's cube
  • 1 × Relay Power Supplies / Uninterruptible Power Supplies (UPS)
  • 1 × Power supply
  • 1 × Bulb holder and bulb

View all 6 project logs

Enjoy this project?



Brian McEvoy wrote 08/24/2020 at 22:26 point

I love this. It is such a unique input.

  Are you sure? yes | no

Dhiraj Gehlot wrote 08/25/2020 at 05:34 point

Thanks Brian :)

  Are you sure? yes | no

WalkerDev wrote 06/20/2020 at 15:04 point

It's all fun and games unti you gotta solve the 20x20 rubiks cube to use the bathroom

  Are you sure? yes | no

Dhiraj Gehlot wrote 06/21/2020 at 19:09 point


  Are you sure? yes | no

Ken Yap wrote 06/02/2020 at 14:04 point

Hahaha, cute, solve Rubik's cube to turn on the light. Better be good at doing it without looking, as some wizzes are.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates