CubeBot: FPGA-Based Rubik’s Cube Solver

dc.contributor.authorMomen Anani
dc.contributor.authorMohammad Hamdan
dc.date.accessioned2026-02-17T07:41:06Z
dc.date.available2026-02-17T07:41:06Z
dc.date.issued2026
dc.description.abstractAbstract This project presents the design and implementation of an automated Rubik’s Cube solving robot using a heterogeneous embedded system architecture that combines FPGA hardware acceleration, ARM processor coordination, and ESP32-based motor control. Unlike traditional microcontroller-only or PC-based approaches, the system strategically distributes tasks across specialized computing platforms to achieve deterministic real-time performance, modular de- sign, and reliable operation. The system architecture integrates three cooperating units: a DE1-SoC FPGA fabric im- plementing hardware-accelerated color extraction and VGA display, an ARM Cortex-A9 Hard Processor System (HPS) managing high-level coordination and solution computation, and an ESP32 module handling motor control and wireless dashboard connectivity. The FPGA processes cube face images with deterministic 14.8ms timing using threshold-based color clas- sification, while the HPS executes the Kociemba two-phase solving algorithm and validates cube state consistency. The ESP32 coordinates stepper and servo motors to physically ma- nipulate the cube with sensor-based alignment feedback. Communication between subsystems uses a custom UART packet protocol with state machine-based error recovery, achieving 100% reliability across all testing. The system provides dual monitoring interfaces through FPGA-based VGA hardware display and ESP32-hosted wireless web dashboard, enabling comprehensive system visibility and user control. Experimental results demonstrate 98.7% color detection accuracy, 93.3% solve success rate, and mean solve time of 46.1 seconds. The modular architecture achieved efficient FPGA resource utilization (27% ALMs, 2% block memory, 20% DSP blocks) while maintaining flexibility for future enhancements. Testing across 30 complete solve cycles validated the ef- fectiveness of the heterogeneous design approach for robotics applications requiring integrated perception, computation, and actuation. This work demonstrates how hardware-software co-design principles can address the limita- tions of monolithic embedded systems, providing a practical architecture for FPGA-accelerated robotics that balances real-time performance with implementation simplicity and debugging accessibility
dc.identifier.urihttps://hdl.handle.net/20.500.11888/20862
dc.supervisorDr. Suleiman Abu Kharmeh
dc.titleCubeBot: FPGA-Based Rubik’s Cube Solver
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
Cubebot Abstract Arabic.pdf
Size:
427.64 KB
Format:
Adobe Portable Document Format
Description:
Loading...
Thumbnail Image
Name:
Cubebot Abstract English.pdf
Size:
401.28 KB
Format:
Adobe Portable Document Format
Description:
Loading...
Thumbnail Image
Name:
Cubebot.pdf
Size:
1020.57 KB
Format:
Adobe Portable Document Format
Description:
Loading...
Thumbnail Image
Name:
GP2_Report.pdf
Size:
56.36 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: