# Remi 3 — Micromouse Robot 🐭
**2nd Place Winner — Victoris MicroMouse Competition, IEEE ManSB (25/09/2025)**
**Team: Ratatouille 3**
Remi 3 is an autonomous micromouse robot built to navigate and solve a standard 16×16 cell micromouse maze (each cell 18×18 cm) as fast and efficiently as possible — with no human input once it starts. This repo contains everything we used to design, build, and program it: PCB schematics & fabrication files, mechanical CAD, and the firmware that runs on the robot.
Built by Team Ratatouille 3 for the 4th edition of the Victoris MicroMouse Competition, hosted by the IEEE Mansoura Student Branch.
---
## 🏆 The Competition
The Victoris MicroMouse Competition challenges teams to design a robot within a maximum size of **[X] x [X] cm** capable of autonomously solving a standard micromouse maze — a 16×16 grid of cells, each 18×18 cm — without any walls of the maze being known in advance.
Robots are scored on solve time, with bonus points typically awarded for finding the optimal path on a "speed run" after an initial exploration run.
Team Ratatouille 3 placed **2nd overall** at Victories 4, held on 25/09/2025 by the IEEE Mansoura Student Branch (IEEE ManSB).
---
## 👥 Team — Ratatouille 3
- Khaled Nasr
- Mohamed Ahmed
- Abdelhameed Nasr
- Mostafa Abdallah
- Youssef Tamer *(me)*
---
## 🔧 Design Overview
### Brain
Remi 3 is built around the **STM32 "Blue Pill"** microcontroller, chosen for its strong processing power relative to its small footprint — important for fitting all the electronics within the competition's size limit while still having enough headroom to run maze-solving algorithms in real time.
### Drivetrain
We went with a **4-wheel design** for stability and ease of control. Despite having 4 wheels, the robot only uses **2 N20 encoded motors** — one driving the two right wheels, and the other driving the two left wheels — through a **spur gear speed-increasing configuration**. This kept the design simpler and lighter while still giving us independent control over each side for turning.
### Sensing
Wall detection and maze-mapping are handled using **IR (infrared) sensors**, which read the surrounding walls of each cell as the robot moves through the maze.
### Maze-Solving Algorithm
The firmware implements **both Flood Fill and A\*** algorithms for maze solving — allowing the robot to map the maze during an initial exploration run, then compute and run the optimal path on subsequent runs.
---
## 📁 Repo Structure
```
/CAD
/Source_F3d_Files → Fusion 360 native files (.f3d)
/Step_Files → STEP exports (.step)
/Stl_Files → STL exports (.stl)
/Firmware → STM32 bare-metal source code
/PCB
/Gerbers → fabrication-ready Gerber files
/Schematic → schematic files & PDFs
/Source_Project → kicad 9.0 Project folder
```
---
## 🛠️ Built With
- STM32 "Blue Pill" (bare-metal firmware, no HAL)
- N20 encoded DC motors + spur gear drivetrain
- IR sensors for wall detection
- Custom PCB (schematics & Gerbers included)
- Mechanical design in Fusion 360
---
## 🙏 Acknowledgments
A huge thank you to **IEEE Mansoura Student Branch (IEEE ManSB)** for hosting the Victories MicroMouse Competition and putting together such a well-run event.
And thanks to our own branch, **IEEE ECU Student Branch (IEEE ECU SB)**, for giving us the opportunity to take part in this competition.
📷 [See IEEE's celebration post about the event](https://www.facebook.com/share/p/19BbxXz6ys/)
---
## 📜 License
This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.