The modern smartphone or tablet (mobile device) has more computing power than desktop computers had just 10 years ago. Modern mobile devices are full of sensors including: GPS, compass, 3-axis accelerometers, gyroscopes, etc and are well connected via cellular network, WiFi, and Bluetooth. Chances are, you have an old iphone or Android phone in a drawer somewhere collecting dust. Put it to good use making your next DIY project smarter.

Programming is an important part of many Science, Technology, Engineering, and Math (STEM) education programs. Breaking a large task into smaller tasks is at the core of programming, and easily demonstrated graphically by visual based programming languages like Catroid. Mobile devices with high resolution touch screen displays make visual programming a literal “hand-on experience”. Inserting the mobile device into a DIY project that moves according to the program written using the GUI provides direct visual and physical feedback of the programming effort.

STEMbot1 is a low-cost, easy to build, smartphone based robot. Controlled by any application that can playback a WAV file or generate audio tones. The robot can be built using an Android phone or an iphone. this instructable will provide direction for use on an Android phone. Catroid and RFO BASIC are the Android applications discussed in this instructable. Catroid is a graphical programming language based on MIT's Scratch. You can learn more about Catroid (and download it to your phone) here: http://blog.catroid.org/        Catroid controls the robot by playing back WAV files. WAV files are available to command the robot forward, right, left, and backward. You can download the WAV files from the EMGRobotics.com website or create them yourself using the EMGRobotics RC Servo Controller. Instructions to do both will be provided in this instructable.

For more advanced programmers, RFO BASIC for Android is a based on the language many of us learned to program on ourselves, BASIC. RFO BASIC was written by the creator of Atari BASIC (http://laughton.com/basic/). You can download RFO BASIC with the servo command (required for this project) to your Android phone here:http://api.ning.com/files/-ughp-tcovJuOzH*k2w28M6wFpBZF3NkaBRYyUVZNaQB3C5isW3hJJdKZksfnOM4jRX-a*egceidA7dosdTENwbvXqNOQcts/Basic.apk


Step 1: Build STEMbot1 - a Robot That Makes Programming Fun and Easy

STEMbot1 is an easy to build robot, requiring only eight components (including the smartphone). The "motors" and wheels are actually RC servos purchased from Sparkfun (https://www.sparkfun.com/products/9347). These special servos are "full rotation" servos. Included with the servos, is a special large round servo horn that is used as the wheels for STEMbot1. 
If you are not familiar with RC servos, they are special motors that contain built-in drive electronics. Normally, RC servos only rotate about 180 degrees (this will become important when we start programming later) these servos provide full rotation so they can be used to drive wheels. You can learn more about RC servos here: http://www.rcmodelreviews.com/howservoswork.shtml
RC servos are commanded by a RC servo controllers through a three-pin connector. The servos require 6 volts (4 AA batteries) to drive their internal motors (this is provided through the red and black wires on the three-pin connector). The third pin (white wire) is a control pin.
The EMGRobotics Audio 2 Servo Controller Board (A2SCB) makes controlling RC servos from an Android phone easy. The A2SCB_ML ships fully assembled with a 4AA battery holder. Simply plug the servo three-pin connector directly into the A2SCB_ML, and plug the headphone jack into your Android or iPhone device. Two servos can be plugged directly into the A2SCB_ML. You can purchase the A2SCB_ML from www.EMGRobotics.com.
In addition to the servos and servo controller, you will need a popsicle stick, double sided tape, a large binder clip, and finally a cell phone holder. The cell phone holder was purchased at Walmart, but it is also available at Walgreens, target, and probably various other large stores. Just make sure the cell phone mount has the T mount with the 3M tape (see pictures).

The whole robot can be built for less than $60.00

<p>Cool site that tells how to make your robot!<br>Visit our website endurancerobots.com. And also our website in facebook and read our article , which gathered 20 thousand views!</p>
thanks for giving this Smart control bot. <br>information is very informative and step by steps. <br>http://createyourownbots.blogspot.in/
Turn STEMbot1 into a voice controlled robot using RFO BASIC.<br> <br> <div> <iframe frameborder="0" height="315" src="//www.youtube.com/embed/_sLB8Jgdvs8" width="560"></iframe></div>
Turn STEMbot1 into a voice controlled robot using RFO BASIC.<br> <br> <div> <iframe frameborder="0" height="315" src="//www.youtube.com/embed/FtJguNhdJII" width="560"></iframe></div>
I created a kit and started a Kickstarter campaign to fund it. Check it out here: <br>http://www.kickstarter.com/projects/1377119602/stembot1-an-android-based-robot-kit-for-6400
Check out the free graphical servo controller.<br> <br> <a href="http://buildsmartrobots.ning.com/profiles/blogs/introduction-to-the-emgrobotics-quad-rc-servo-controller" rel="nofollow">http://buildsmartrobots.ning.com/profiles/blogs/introduction-to-the-emgrobotics-quad-rc-servo-controller</a><br> <br> <br>
<div> <iframe frameborder="0" height="315" src="http://www.youtube.com/embed/i1QJLAd226A" width="560"></iframe></div>
This is really cool! Thanks for the instructable! I can see many more applications in this little guy's future. :)
I wrote a more detailed explanation of how to use Catroid with STEMbot1 here: <br>http://buildsmartrobots.ning.com/profiles/blogs/using-catroid-to-command-a-servo-position-or-turn-a-dc-motor <br>
What is the max volts and amps for the motor controller? <br>
The audio motor controller board is part # ADMCB<br>It works just like the servo board but it directly connects to 2 DC motors: http://buildsmartrobots.ning.com/profiles/blogs/the-emgrobotics-audio-dual-motor-controller-board-admcb-use-your-<br><br>Voltage input range: 2.5 to 9V<br>Max current depends on temperature: 400ma/channel continuous at room temperature.
This robot would be perfect for the Boy Scout Robotics merit badge. It's programmable with an interesting assortment of sensors.
Both RFO BASIC and Catroid give you access to the sensors in the smartphone. So you can program the robot to follow a compass heading, or even follow voice commands.
Next: self sealing stembot. This kinda reminds me of lego mindstorms the wat you have that programming app.
Nice project ! <br>However I am not sure we understand the same thing about &quot;fun&quot; and &quot;easy&quot; !!!&hellip; <br>LOL <br> <br> <br>Thanks for posting anyway ! <br>
this is absolutely awesome... i didnt know about the servo controller untill i read this... ive already ordered that and the servos for this build but am also looking foreward to others with the a2scb!!! thanks for sharing this

About This Instructable




More by emgrobotics:Build STEMbot1 - A Robot That Makes Programming Fun and Easy Hacking the Hexbug Spider XL to Add Computer Vision Using an Android Smartphone Building an Android Basic Programmable Tank for Less Than $50.00 
Add instructable to: