Robotics‎ > ‎

Artificial Intelligence with Arduinos

Here you will learn to build a small maze solving robot capable of participating in Micromouse competitions. I call is a Nano Mouse because it is about the size of a Micromouse robot, but uses an Arduino Nano microcontroller.  I hope it opens the door to people who are interested in learning about robotics, but can't afford expensive kits. I also hope it opens the door to the large number of hobbyists that enjoyed playing with the Lego Mindstorms sets, but are now ready to advance their knowledge.
Why Nano Mouse? 
There are many other robots on the market as well as DIY designs on the net. Why build a Nano Mouse?
  • Engagement: Other robots/kits typically cover a wide variety of sensors, but don’t put them to use. By focusing on maze solving, you learn by solving a long term challenge.
  • Curriculum: I have created and uploaded several hours of video tutorials which you can access for free by navigating to my Video Tutorials page.
  • Field tested with teachers and students: Many kits/designs include components that are impractical and or confusing (think Alkaline batteries or four pronged tactile buttons). As an educator using this robot with students, I see firsthand what trips up students and am able to make improvements accordingly.
  • Wireless debugging: Using the Bluetooth module in conjunction with either an Android tablet or a Mac, you can see what your mouse is “thinking” which makes debugging far, far easier.
  • Breadboard based: Many robots use printed circuit boards to reduce cost. A breadboard lets you wire the robot so that you can see how the circuitry works. It also allows you to make modifications easily
  • Open: You can (and are encouraged) to improve the design or modify it to suit another purpose.
  • Modular and reusable: The controller, Bluetooth module, breadboard, servos, wheels, power supply, and regulation and reverse polarity protection components can easily be repurposed for your next project.

What Will You (or Your Students) Learn?
Building a maze solving robot is a project based approach to learning that touches upon several math, science, and technology concepts. Instead of showing how this project aligns to relevant Common Core, State, or ISTE standards (which are often very broad), I have created a list of the specific skills and concepts student will learn through the course of building and programming this robot. My end goal is to give students the skills and knowledge necessary to take what they learn from building this robot and apply it to a project of their own design.
  • Soldering
  • Basic Embedded Electronics
  • Digital IO
  • Analog Input
  • Pulse Width Modulation (as applied to servo motors)
  • Control Structures
  • Functions
  • Classes
  • Arrays
  • Android App Development (Using MIT's App Inventor)
  • Filtering
  • Smoothing
  • Sensor Calibration
  • Proportional Control
  • State Machines
  • Serial Communication
  • Wireless Communication via Bluetooth
  • Mapping
  • The Flood Fill Algorithm
  • Debugging

btMonitor Android App
To make wireless debugging a little less frustrating, I wrote an Android App capable of connecting to the Nano Mouse using the Bluetooth module. I then rewrote the print function within the maze class so that it would be compatible with the App. The easiest way to install the app on your Android device is to scan the QR code. The source code is available below as btMonitor.aia for those of you who would like modify it or see how it works.

Competitive Nano Mouse
The only Micromouse contest held regularly in the United States that I am aware of is part of the APEC conference: With a little modification to the frame and the addition of a fan or servo arm, it looks like a Nano Mouse could also participate in the Trinity College Fire Fighting Home Robot Contest.

MIT AI2 Companion_2.35.apk
Michael Backus,
Jun 1, 2016, 3:50 PM
Macro Maze Post.stl
Michael Backus,
Mar 10, 2014, 11:07 AM
Michael Backus,
Sep 28, 2015, 7:01 AM
Michael Backus,
Nov 10, 2014, 8:48 AM
Michael Backus,
Jan 29, 2014, 6:38 PM
Michael Backus,
Jul 14, 2016, 3:16 PM
Michael Backus,
Jul 14, 2016, 1:32 PM
Michael Backus,
Nov 15, 2014, 8:53 AM