Control your Arduino with voice commands using an Android smartphone! Before we make a voice activated home automation system, we must first learn the basic principles of the experiment. This guide will let you command the Arduino using your Android smartphone and a HC-05 Bluetooth module.

The designer of the app did not include a sample code. I looked for alternatives in Google's PlayStore but none was as good as the app that I've found. Luckily, I was able to figure it out although it took me a while to program it. Sorry IOS users, this app isn't available in Apple's app store :/

How Does It Work?
Have you ever encountered Android's speech recognition? Yes android has one and you can use it to control your Arduino, via Bluetooth. The App works by pressing the mic button, then the it will wait for you to say a command. The app will then display the word's that you've stated and will send data strings for the Arduino to process.

Home Automation System (on July 4, 2014):
A month from now/ I'll be releasing a highly sophisticated home automation + security system. It's my biggest project ever! Our current agenda is to program a better smartphone app that work's like Siri (talks back) and sends strings (data types) to the Arduino via bluetooth. If you want to take a sneak peek of the project and it's concept, kindly skip to the last step. The prototype that I'm working on now is composed of a network of wireless switch boxes that connects to a main control panel via WiFi/ Bluetooth.

Here's A Quick Video Demo:

Step 1: Parts & Materials

If your having trouble in finding them, I'm sure RadioShack has all of them. If you want to buy online try searching on Amazon or DealExtreme.

Thing that you'll need:
- 5 LED Indicators (the color of your choice)
- Arduino UNO (a clone works fine)
- HC-05 Serial Bluetooth Module
- Solderless Breadboard
- Jumper Cables

<p>Could the voice recognition work with an ethernet shield instead of bluetooth?</p>
<p>May I know the name of the app in PlayStore?</p>
<p>Its BT Voice Control for Arduino.</p>
<p>Hi,</p><p>This was a great practice instructable! Had a few problems at the start but it worked perfect. I added several different circuits with relays instead of the led&acute;s and was thrilled to see it function on the Mega 2560, but all failed on the Nano because of the 3.3 volt usage. Was&acute;nt enough to trigger the 5 volt relays. Thank you very much for publishing your instructable. I enjoyed it immensely.</p><p>Stan.</p>
<p>Hi,</p><p>Can this android app is open source.If yes please provide me the source code,</p>
<p>Hi!<br>Amazing project! Do you know if it would be possible to connect multiple phones at the same time? To receive and evaluate their microphone inputs? <br><br>Thanks so much!!</p>
<p>I'm having problems expanding from 5 channels to 10 can you give me code that is modified for this?</p>
<p>I'm having problems expanding from 5 channels to 10 can you give me code that is modified for this?</p>
<p>It looks so good . I am very thank you to give these amazing projects to we. </p>
<p>For Step 7: Next project you can use an raspberry pi, like that you can replace the phone an arduino in a single device. I want to make a similar project in which is an RF, WI-FI, IR and Ethernet connection.</p>
what should I do when I load the code on my arduino it says error I m very fed up
Hey I'm looking to make something like the to control something in my truck need help!
hi guys , I made the code with blueT module ( HC -6 ) and it worked , but the comparison of the voice with the word in the code is not working. I am using a Sansung s4mini may be the problem. He's getting the word but does not compare to the word of code. <br> <br> I am using : <br> if ( voice.length () &gt; 0) { <br> <br> Serial.println ( voice ) ; <br> digitalWrite ( LED1 , HIGH) ; <br> <br>Firing up and test . Any news let me know . Thank you.
We encounter a problem where we cannot turn off the ligts when the lights are turned on. How can we fix this? ASAP
<p>have I connect to internet for android phone?</p>
would it work if, instead of using an Arduino Uno and HC-05, I use a Blend Micro?
<p>Real thanks! Can you please give a link or post the intractable for coding voice commands in android. :)</p>
Works perfectly.<br>Any idea how I can send voice commands without having to press the button on my phone first.<br><br>i.e &quot;computer, TV off&quot;
<p>My android phone isn't working right now.</p><p>Is there any way I can run it on my computer?</p><p>Thanks</p>
<p>you make the app for phone?</p>
<p>how the input mode of AMR_Voice output to the speakers , so the sound is sent to a microcontroller via AMR_Voice remove it again to the speaker ?</p>
<p>Is it possible to set this up so you don't have to click the mic button first? It' be great if it was always listening for hands free control</p>
<p>I made simple Do it yourself in 10 minutes bluetooth controlled home automations</p><p><a href="http://www.instructables.com/id/Take-control-of-your-house-in-10-Minutes/" rel="nofollow">http://www.instructables.com/id/Take-control-of-yo...</a></p>
<p>Great one!! Keep it up!!!</p>
<p>It is a very nice project and really great idea, brilliant.</p><p>I just have one comment, here you are not using the RX path of the bluetoth modul, so is not needed to connect, but if you want to connect it then you should use a level conertor. Never connect this pin directly to Arduino pins. These modules DO NOT like anything except 3.3 volts on the VCC line. We should use a level converter to 3.3V on the RXD line. Use two resistors, as a simple voltage divider to make the TTL level conversion. One 2.2k ohm resistor to ground, connected to a 1k ohm resistor, to the TXD line on the MCU. Connect the RXD pin in between the two resistors for an output of approx 3.4 volts. (http://www.engineersgarage.com/contribution/led-blink-using-arduino-over-bluetooth)</p>
<p>I tried it and it did not work. I have a galaxy S4 and it takes 7 secs after I say the command for it to appear at the bottom of what I said. And then nothing from the HC-05. No leds light. So what do I do to fix this. I dont mind the lag, but there is no response.</p>
<p>I'm using my Nexus 7, the KitKat update made things run faster, I'm not sure with the S4 though. You'll need to say the exact words written in the code's conditions. Did you unplug the HC-05 from the project before uploading the sketch? It needs to be done, otherwise the Arduino wouldn't receive the codes. Tell me if it still doesn't work, I'll help you figure it out. </p>
Hi ASCAS,<br>I have version 4.4.2. I do say the exact words because it is displayed below on my screen but 7 seconds later. Yes I programmed the uno before setting up the circuit. Thanks for helping me try to figure it out.
<p>This is sort of off topic but can you provide the code for the Android Application. Of course the whole thing would be very complex but at least the functions where the voice input is taken and the Bluetooth part of it please. I've built a custom app for a home automation project im working on but i cant figure out the bluetooth part.</p>
<p>Ok guys if anybody is interested: I finally got it working on an Attiny85.</p><p>There was a serious bug in the Attiny85 compiler (provided by the MIT) that made it impossible to compile programs larger as 4k. So now this bug has been fixed this works on an Attinty85 which greatly reduces costs. You can use a 1 dollar processor instead of an Arduino.</p><p>For more info look at my web-log:</p><p><a href="http://lucstechpage.weebly.com/blog" rel="nofollow">http://lucstechpage.weebly.com/blog</a></p><p>There is a link to the mit pages with great instructions on how to program an Attiny85 with the Arduino IDE.</p><p>Luc</p>
<p>I tried to do this for my laboratory but unfortunately it didn't work. I used the Bluetooth shield v1.1 and gizduino atmega 168. </p><p>Can you give me some advice. Please reply, </p><p>THANK YOU IN ADVANCE.</p>
try using the ATMEGA328 instead. it comes standard on all arduinos now.
what ever happened to the home automation project? Did you never follow through with it? I'm working on one myself and I'd like to see how your central control panel would work.
<p>Great work! You can remove the asterisk (*) at the start of each string by using &quot;StringRemove&quot;. The middle line of this example is the additional code, so people know where to put it in your code:</p><p>if (voice.length() &gt; 0) {<br> voice.remove(0,1);<br> Serial.println(voice);</p>
<p>hello there. nice work. uhm. im thinking if i can know how to make the app. i would like to integrate more function to it like word customizing in the android app. please send it at adam.iglesia@yahoo.com. Thanks !</p>
<p>if i execute the &quot;allon&quot; instruction, next time when i say &quot;alloff&quot; it doesnt work.. infact i can only execute one instruction.. sir, plzzz tell me why is this happening..??</p>
<p>if i execute the &quot;allon&quot; instruction, next time when i say &quot;alloff&quot; it doesnt work.. infact i can only execute one instruction.. sir, plzzz tell me why is this happening..??</p>
<p>Great!!!!!Sir I require the source code for the android application. Please mail me as early as possible on my id amirulacap92@gmail.com</p>
<p>Hi am sajeer am note getting the out put please help me in this ..</p><p>hoply ur friend</p>
<p>Hi , I will do the project. You use the Android phone but i have got a i phone .Can i use the i phone ? how can i control it ? </p>
<p>Try searching (build on) which send data through bluetooth, but as far as I know, bluetooth in IPhone is complicated to only send voice data</p>
<p>Sorry, I don't think the app has an apple counterpart. </p>
<p>can we test it with only one LED?</p>
<p>Yes! Just remove all the &quot;else if&quot; before the &quot;if statement&quot; and you're good to go. </p>
<p>does the project needs Wi-Fi connection ?</p>

About This Instructable


971 favorites


Bio: Join me as I build fun and random weekend projects!
More by ASCAS: Rig A Car Horn To Your Alarmclock! Build A Smartphone Projector With A Shoebox HealthBand: A Remotely Monitored Health Status Bracelet
Add instructable to: