Design a micromouse PCB from scratch and implement maze floodfill algorithms on it!
The aim of this project is to design and assemble a full size micromouse which will use floodfill and other path finding algorithms to solve a maze.
The dimensions of our full-size micromouse is 11.5 x 10 cm
- Learning and understanding Embedded C by referring to the firmware used in SRA WallE and MazeBlaze
- Understanding what Micromouse is and how maze solving algorithms like floodfill actually work
- Deciding the constraints for our micrmouse and selecting hardware and electronic componenets accordingly. We did a detailed review of existing micromouse designs and features and arrived at our present design.
- Designing a CAD Model on Onshape.com. We went through various iterations and design options. After weighing the pro's and cons of a 4 motor design, we settled for a 2 motor design with a suction fan in the centre.
- PCB Design keeping mechanical design in mind during routing. Once the pcb design and routing is finalised, the order for the PCB is placed.
- Testing our pcb schematic on a perfboard and recreating the final micromouse design on a perfboard.
- Implementing PID on the perfboard Micromouse to refine the code and understand the implementation of control systems.
- Once the PCB is delivered, we will solder the components onto the PCB and assemble the bot with the 3D-printed mounts
- After this, the testing of the final Micromouse in a 6ft x 6ft maze will begin.
Components | Description |
---|---|
ESP32 WROOM-E | Microcontroller |
VL 5310X | ToF sensor4 |
DRV8833 | Motor Driver |
N12 600 RPM With Encoders | Motors |
IR Sensors | Infrared Emitter-Receiver Pair |
- View of the PCB Model front and back:
- View of the PCB Routing - front and back:
- First design iteration was a four motor design with a suction fan. However this design was not suitable for fitting an enitre Esp-Devkit.
- Second and final design is a two-motor design with a suction fan. Certain drawbacks of the four-motor design was addressed in this design.
- Suction Fan to improve traction and potentially turn at faster speeds without flipping over.
- Custom mount to hold the motors, shaft and suction fan in place and reduce the distance between the plate and the ground.
- Gears to run 4 wheels on two motors
The path solving algorithm floodfill has been successfully implemented in the software simulation.
Floodfill simulation
- Mechanical Design - Onshape
- PCB Design - KiCad 8.0.4
- Embedded C and Firmware - ESP-IDF
- Implementing the flood-fill algorithm on it
- Optimizing the bot to achieve high speeds and taking turns as diagonals
- UCLA Micromouse Playlist
- Mushak Github Repository
- Mackorone MMS Github Repository to run and test the floodfill simulation.
- SRA VJTI Eklavya 2024
- Special thanks to our mentors Atharva Atre, Suraj Sonawane, and all the seniors at SRA, VJTI for their constant support and guidance throughout the project.