SCRU-FE: Simple C++ Robot with Ultra-sonic Sensor for Education: Arduino UNO Obstacle Avoidance Maze Programming

S.C.R.U.-F.E.: Simple C++ Robot with Ultrasonic-sensor for Education


Creative Commons Attribution Share Alike

Commercial use is allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


S.C.R.U.-F.E.:  Simple C++ Robot with Ultrasonic-sensor for Earthlings :)  

I plan on using this design to promote the need for a realistic way to teach elementary and middle school students how programming can be simple and fun without the need for expensive kits.  Please share/print/code and keep the resources flowing for education!

This Robot build started when my two year old daughter fell in love with an old ultrasonic robot that I built in elementary school twenty five years ago.  It's missing parts and no longer works, but she has treated it with love since she was one year old.  For her third birthday, I set out to make a sub $50 Robot with easily replaceable parts (see B.O.M. in instructions) that we could make together.  The fact that no individual part costs more than $10 and that all parts are easily found or open source gives me the hopes that SCRU-FE will be passed down to her children with all her great memories.  


My daughter adores this Robot.  She named him Scruffy, so I made up a silly acronym that fits his silly appearance.  

Materials and methods

Bill Of Materials

-Printed Body
-Printed Servo Arm
-Printed Sensor Mount
-(2) Printed Wheel Halves

-Arduino UNO
-UNO Motor shield (I use the L298P with buzzer, Ping and servo inputs)
-Two "Smart Car" Gearmotors and wheels
-Two 3AA Battery holders
-SG-90 9g Micro servo set
-HC-SR04 Ultrasonic sensor
-200mm female/female 4 pin cable
-High Amperage toggle switch (15A or better still looking for a good source can skip and take a battery out to shut the power off I burnt through a few 5A switches already :()
-(4) 25mm sections of wire for motors

-(2) F623 bearings (wheel)
-(4) M3x25mm socket capscrew (motors)
-(1) M3x15mm socket capscrew (neck)
-(1) M3x20mm socket capscrew (wheel)
-(4) M3x8mm flat head socket capscrew --(batteries)
-(4) M3x6mm socket capscrew (UNO)
-(6) M3 washers (wheel)
-(10) M3 nylon locking nuts
-several small rubber bands

optional: (3) 12mm long M3 coupler nuts to make internal assembly easier (replaces 6 m3 locking nuts, (4) 12mm (6mm threaded) m3 standoff nuts for the arduino board to give it a more professional look

Tools Needed:

-2mm allen key
-2.5mm allen key
-2-3mm phillips screwdriver
-2-3mm slotted screwdriver
-5.5mm wrench
-small needle nose plies
-tweezers (ESD-15 if possible)
-Soldering iron with smal tip and solder
-small drill
-1.5mm or 1/6" drill bit
-3mm or 1/8" drill bit
-drill bit for chosen toggle switch

Building tips:
After printing the body drill out all holes with a 3mm drill bit except for the UNO mounting holes. On my prints the M3x6mm bolts self threaded in to the plastic itself. If this doesn't work, use 8mm bolts and nylon locking nuts instead.

The wheels need 3 washers or 2mm spacers on either side to allow for clearance from the lock nuts that hold the battery box on. If there is not enough clearance you can use a regular M3 nuts for the battery box or add more washers between the wheel and the body.

Code: the sample code included is a quick working code, however I am no master at C++ nor Arduino so please use it as an example only.



See all issues or open a new issue


C7c7a2b2500227b80adbb3938698334d?default=blank&size=40yewogley created issue Real Meaning of Education ago
B398566ae080e87fcd09fda61aa90a90?default=blank&size=40richardtyson created issue Online Courses Expert ago
C99cd2af0fd0628d04960207000a22cd?default=blank&size=40Jacob Blair created issue WRITER EXPERTISE AND DELIVERY ago
D3a5fed8ffa01b8c5fb48568272d6728?default=blank&size=40danla created issue New car ago
D3a5fed8ffa01b8c5fb48568272d6728?default=blank&size=40danla created issue New comp ago
D3a5fed8ffa01b8c5fb48568272d6728?default=blank&size=40danla created issue New house ago
22785d7494d8a3e2f8019819e47841a5?default=blank&size=40nancy127 created issue Shayari ago
2e395dfb976ba4e2e0a2979cba4c7fcb?default=blank&size=40Lemuel Operario created issue Get your own VoIp now ago
Mini nicky2nickyjames created issue Does Kotlin avoid Spaghetti code? ago
304755f4a965212f0844d333226d6d48?default=blank&size=40Mutaz Alhawash added this to the innovative collection ago
3f8ff2acc5a8eb227bcefc6461d6ef39?default=blank&size=40nataliehanks created issue Is it possible to remove acne scars? ago
3f8ff2acc5a8eb227bcefc6461d6ef39?default=blank&size=40nataliehanks created issue Catering all of your designing needs ago
2bd21a3fcfb9c78fb99615e7d032347b?default=blank&size=40Rene Wicha added this to the Robot collection ago
E2ccffe537c79c8c980a17e89dfebefb?default=blank&size=40Babu Kumar commented ago

Wonderful post really thank you so much

online bus ticket booking | Online shopping in India | futureisweb

Fb838e4a8e036f9c7ea9ec17bc93ace5?default=blank&size=40Harald_P added this to the My Collection collection ago
02ea859c0d0b1128220f875fb2d96049?default=blank&size=40krzys4 added this to the Arduino collection ago
B1e5d2d82881c6c179ef909349555ce2?default=blank&size=40chantling added this to the Robotics collection ago
A2ad4e358d33dbb9be26b1fbcb31fd11?default=blank&size=40Fernando Miras Sosa added this to the Robotica collection ago
7c9393ba00614055d3e2c73076f0ade2?default=blank&size=40Stéphane Denis added this to the servo collection ago
7c9393ba00614055d3e2c73076f0ade2?default=blank&size=40Stéphane Denis added this to the sonar collection ago
3727faa4980c3ee02ec2b26c0d3293f0?default=blank&size=40Christophe Farges added this to the Robots collection ago
437bb762752377ebba2f2b505d81a6a1?default=blank&size=40Brand Inman added this to the Robots collection ago
Mini rowanRowan Zajkowski added this to the For experienced makers collection ago
2b6f4d2d0973bed25b8b511f81f18163?default=blank&size=40Willem Gerber added this to the Hobby collection ago
Cc80b3a54c9397c406712c82fb966959?default=blank&size=40andi04 added this to the robot collection ago
2e9dd94848262b5d9458ff4c7da53e21?default=blank&size=40hwillekens added this to the robots collection ago
Mini rowanRowan Zajkowski added this to the Awesome! collection ago
95103d80126324c6bb9588517c96c85b?default=blank&size=40Pavel Skřipec added this to the Hracky collection ago
Mini scru fev1p1srtheiss printed this ago
Carousel thumb scru fe ip bt mockup
Printed on:
Printrbot - Printrbot Simple
Easy to print
Mockup for Bluetooth and IP Camera
Mini scru fev1p1srtheiss published this design ago