Instructables
Picture of FuzzBot
The FuzzBot is an awesome, fast, fully autonomous small Arduino robot that everyone loves!!!  It uses the compact Pololu ZumoBot Chassis kit for a great drive system, and uses a Parallax Ping sensor to sense proximity, to make the FuzzBot fully autonomous.  I like to think of it as a cheap & hackable "mini Roomba" because it uses a Swiffer Duster on the back to pick up any unwanted dirt off of the floor.  I programmed the Arduino code using the simple Pololu ZumoBot library, and used the Ping library to interface with the Ping sensor.  The FuzzBot also has a pan/tilt servo for the Ping sensor, and can be used with the Servo Arduino library.

The FuzzBot was also featured on the MAKE Blog!



 

What did you make?

I made the FuzzBot, a fully autonomous mini Arduino robot that cleans your floors!  It uses a Parallax Ping Sensor on the front of the FuzzBot to detect if an obstacle is in its way, and if it is, the FuzzBot quickly turns and travels the other direction.  It also uses the Pololu ZumoBot Chassis for the drive system.  I like to think of it as a 'Mini Roomba' because it has a Swiffer Duster on the back, to pick up any dust off of your floors.

How did you make it?

I made the FuzzBot with my soldering iron, laptop (for the Arduino programming), an Allen wrench, and some screwdrivers.  Once I assembled the ZumoBot Chassis Kit, I then used some extra wire to attach the servo to the chassis.  After that, I secured the Ping Ultrasonic Sensor to the servo with some hot glue, and soldered wire to the pins on of the Ping sensor to connect with the Arduino.  I then programmed the Arduino Leonardo with open source Arduino libraries from both Arduino.cc and the Pololu website.  I combined the two with some of my programming skills, and after about ten different sketches of Arduino code, it finally worked!

Where did you make it?

I made it in my hackerspace (Qtechknow Labs), and at my desk.  I used the soldering irons, glue guns, and pliers from the hackerspace to make the FuzzBot, and I programmed the main Arduino microcontroller with my laptop at my desk.

What did you learn?

I learned that everything doesn't work the first time, and all about motors.  I had to go through over ten revisions of the code, and solder a ton!  I had some problems of the orientation of the plastic pieces on the Pololu ZumoBot Chassis, which I described in this Instructable.
 
Remove these adsRemove these ads by Signing Up
justbcoolr1 year ago
Great little robot! I assmbled one this weekend with a slight difference: I used a much cheaper ultrasonic sensor ($5) from Amazon. It had 4 pins instead of 3 - the difference in the code & wiring was pretty minor for the $25 saved.

Now I want to work on FuzzBot over the next few weeks to give it more capabilities...line-following, turning its neck (the servo), fine tuned obstacle avoidance, and perhaps some buzzers and LEDs.
Qtechknow (author)  justbcoolr1 year ago
Thanks!!! Glad you like it!!! I actually just got that sensor from Amazon a couple weeks ago (the HC-SR04, correct?), and it works great!!!

The line following is a great idea as well as the servo. I'd look at SparkFun's analog version of the line following sensors, and the buzzers and LEDs sound great!!!
That's correct! I'll look into those line following sensors. I know Pololu also has their sensor array for line-following.

Here's the code for anyone who's interested in adjusting it.

https://www.dropbox.com/sh/v80inz7tsa6ds59/Q_w0K6R0MO

Wopke1 year ago
I love this! Voted.
at0mbxmb1 year ago
I love FuzzBot! It was so helpful in cleaning the LAMakerspace after our robot party! :)
Qtechknow (author)  at0mbxmb1 year ago
Thanks!!!
smart kid is smart! good work dude! you're future is bright!
gulliverrr2 months ago

Wow! This is def the makers alternative to Roombas ;)

To the people who have made it could you please give us some feedback on how effective it is in terms of cleaning. Of course I am not planing to stop hoovering but I hope if I can run this every 2-3 days I can deep clean with hoover less often.

Also could you provide any figures on the run time with each charge accompanied with the mAh of the batteries you are using?

Congrats Qtechknow!

walshlg2 months ago

This is great stuff, just ordered my Puolo kit!

BTW, you can use the newping arduino library with these 3 pin ping sensors - just set the trigger and read pins to the same pin number in your setup.

MoonDocker9 months ago

Great instructable! I bought another brand of robot and was so frustrated with it I gave up on it for now. I just ordered the Zumo and I am looking forward to putting it all together. Thanks for sharing!

MorganGardiner10 months ago

Great job!

Sorry I'm asking you so many questions, but did you have to add the jumpers for the battery level connection. If so, is it possible to disconnect your arduino from the shield?
My main problem right now is that my model of my computer running windows 7 won't even sense my board plugged into it. Do you know what models will work?
I installed the Ping and ZumoMotors libraries, but it still has the same errors. I tried uploading the libraries to the Arduino first, but it wouldn't upload because it had a million errors. Any ideas?
When I was uploading the Fuzz Bot sketch, it had some errors: FuzzBot:14: error: 'Ping' does not name a type
FuzzBot:22: error: 'ZumoMotors' does not name a type
FuzzBot.ino: In function 'void loop()':
FuzzBot:35: error: 'ping' was not declared in this scope
FuzzBot:47: error: 'motors' was not declared in this scope
FuzzBot:72: error: 'ping' was not declared in this scope
FuzzBot:84: error: 'motors' was not declared in this scope
Qtechknow (author)  whittler1231 year ago
Check out step 9 and install the two libraries. I believe that should solve all of the errors. :D
Hi,

We are trying to build a small robot based on an arduino and a Zumo shield. The probem is that when we try to attach a servo (we are using the Servo library, and the problem appears only when we write myservo.attach(servoPin); ), the ZumoMotors don't work as they should.

By searching the web, it appeared that the Servo library uses Timer1, which disables pins 9 and 10. This is probably where the problem come from.

We've seen that you have used a servo on your robot, also based on a zumo shield. Did you manage to solve that problem ?

Thanks in advance !
Qtechknow (author)  petitjosdu911 year ago
I think that you are correct about the Timer1 issue. I think that you can still use the ZumoBot motors, but I'm not sure.
What first started your tech education?
Qtechknow (author)  whittler1231 year ago
Make Magazine -> Maker Faire -> Arduino -> Open-Source Education!
marg1231 year ago
Hi Quinn - Fun to see you and FuzzBot at the NY Maker Faire, great project!
Question: In your sketch, what code makes the servo under the ping sensor move? Or are you just using it as a mount?
Thanks!
Qtechknow (author)  marg1231 year ago
I'm using it as a mount, but you can definitely program it yourself! If you include the Servo library, then you can program the servo
i saw this at maker fair in NY
Qtechknow (author)  meyersakkal1 year ago
Cool!
Zahncraft1 year ago
I read about Quinn in my popular science magazine. "Wow, what a smart kid" I thought. Way to go, Quinn!!
The Fuzz Bot is sooooo cool!!!!!
Qtechknow (author)  whittler1231 year ago
Thanks!!!
^} Like :D
wfelix1 year ago
Very nice job, kid! Keep it up!
Qtechknow (author) 1 year ago
Thanks for all of the great comments!!!!
nice work dude.
Bidao1 year ago
Good thing!
doriean1 year ago
Great idea my mom would love this at her house and i really like the remote joystick idea to but couldnt you just attach a bluetooth sensor to the robot and possibly control it using a ps3 controller or a cheaper one from ebay or amazon but again i like it
Qtechknow (author)  doriean1 year ago
Thanks!! I'll keep that idea in mind!!! :D
CMTS1 year ago
I like
micheal4541 year ago
Good job there.