Voice Controlled Arduino Lighting - Autobot




About: I am by nature a geek and am not ashamed to say so. I decided to create this instructable account because I figured in my learning process I could also teach others. Feel free to look at my existing instru...

In this instructable I will walk through the process and the code to make your Arduino and your home PC into a voice controlled command system for lights or about anything else you can control with an Arduino. The voice controlled arduino lighting is my first instructable so hopefully I can put everything.together and make sense. This is part of a much bigger project so please consider this as part. 1 of a series of instructables.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Materials

  • Arduino Mega (although if you use less lights you can use any arduino compatible board except the due or leonardo)
  • Full size bread board.
  • Optional - Arduino Mega screw shield (pictured in this project)
  • 22 LEDs in various colors
  • 22 330oh resistors
  • 22 jumper wires - square ends if possible
  • USB cable.
  • PC with Windows XP to Windows 8
  • BitVoicer voice recognition software (For full details on software requirements please see their website.)
  • Some extra time

Step 2: Setting Up Your Bread Board.

I recommend using a full size breadboard for this because it gives you a little bit of spacing between the LEDs.

First thing we want to do is start putting LEDs into the bread board. I skipped one space per LED which in the turn on and turn off sequence makes a neat effect.

  1. Put the positive lead on the very last space in the row
  2. Stick the negative lead in the negative row on the bread board. Be careful here because my breadboard actually has a break in the row that needs to be jumped over to make it work.
  3. going across the middle of the bread board insert 1 330ohm resistor in line with every LED.

At this point your bread board is pretty much done. Now we need to work on connecting the Arduino to the bread board.

Step 3: Connecting the Breadboard to the Arduino

In my sketch I used pins 32 to 53 on the Arduino Mega so if you are just trying to copy make sure to connect the breadboard pins to the same Arduino pins that I used.

One helpful hint here. You really should have the "premium" square connector jumper wires for this. I realized while hooking up my round jumper wire connectors that it got a bit tight real fast.

So in order connect all of the rows from the bread board to the Arduino Pins.

At this point go ahead and connect the USB cable from the Arduino to your computer. Unless you had a previous sketch using these pins nothing should occur. But it will prepare us for some information in the next few steps.

Step 4: Go Download BitVoicer and Get a Key

The next part you will need to go to http://www.bitsophia.com/Downloads.aspx to download a copy of the software. You can download and install(***see warning below) it with out paying but you will need to buy a license in order to communicate with the Arduino. To do that you can go to http://www.bitsophia.com/Buy.aspx . Its only about $5 so its not too bad for software.

*** Make sure you are on the computer that you want to use for controlling the Arduino. The license key is only good for one PC and yes it does check. BUT its only $5 so if you want to install on one machine for set up then another machine for use you are not out very much.

*** Windows 8 users warning, the install will install a few extra things to make BitVoicer work on your system. Also the program will need to always run as administrator in order to be able to communicate over serial. I have installed on both Windows 8 and 7 and that was the main difference I saw.

BitVoicer is a pretty neat little program that has a lot of power but lacks a few features I would like to have at this time. That being said I have been in communication with them and they will be releasing new software next year. I have no real other details on it at this time. Just keep watching.

In the next step we will go ahead and set up BitVoicer for the commands and outputs that we want.

Step 5: Set Up BitVoicer Part 1

First you need to make sure that you activate your software with the license key. Not doing so will not enable the communication portion to the microcontroller so please make sure to do that first.

Instead of typing out the entire step by step process I have created a video with instructions. Please see the video to set up bitvoicer. Also attached is the bitvoicer profile if you want to copy what I am doing exactly. You will not be able to open the file unless you have BitVoicer.

Step 6: Getting the Arduino Library for Bitvoicer.

When you installed the BitVoicer program it already put a copy of the library on your PC. We need to get this library into the Arduino library area in order for the BitVoicer to work.

You can go through the step by step here or watch the video below.

  1. Navigate to the install directory of BitVoicer. In my case it was at C:\Program Files\BitSophia\BitVoicer
  2. Go into the "Library" folder
  3. Notice that there is a "BitVoicer 11" Folder
  4. Right click on that folder and click on copy or Ctrl+v
  5. Navigate to the Arduino Library directory. Mine was at. C:\Program Files (x86)\Arduino\libraries
  6. Right click in the folder and select Paste or Ctrl+v
  7. You may have to say ok to a pop up regarding administrator permissions.
  8. You will need to close the Arduino Program and reopen for it to know the library is there.

Note: There are no samples in this library but I will show you how to make a sample later.

Step 7: Our First Arduino Sketch

Now we want to start our first sketch with in the Arduino IDE. So go ahead and open up a new sketch. And we will get started.

The Arduino IDE always inputs some basic code when you start a new sketch. The first thing we want to do is to move that code down a few lines so we can see what is going on.

We were going to step through this in text but I cant seem to find a way to put code into the instructable text to where it is readable. So attached is the Arduino sketch file with comments to explain what is going on. I did however step through the code in a video so please watch it to understand what is going on and why.

Step 8: Running Everything for the First Time.

Ok so we have our basic sketch on the Arduino and BitVoicer set up. Now it is time to run it.

You should have already uploaded your sketch to the Arduino. So go ahead and make sure that BitVoicers is loaded with the proper profile and start the speech engine. Based on the sentences we programmed in BitVoicer we should be able to control all of our lights. Watch the video to see how it turned out.

But that is not where we stop. It is no fun to have to turn on and off lights individually so in the next step we will create some groups of lights and have a little fun.

Step 9: Adding Zones to BitVoicer and Arduino Sketch.

In this step we will add a few zones to both the Arduino sketch and BitVoicer so that we can turn off multiple lights at a time based on an array. Attached is the new Arduino sketch and the BitVoicer profile if you need them. Please watch the video for full instructions and explanations of what we changed.

Step 10: All Done - Watch It Run.

So everything should be saved, you should have uploaded the new sketch to your Arduino and have everything connected. If everything went right you should be able to repeat what occurs in the video. That's it for this instructable I hope you enjoy it. I will be entering this one into the Make it glow contest so if you like it please vote. I could really use the 3d printer to make other instructables and projects.

If you use it please let me know and keep a watch out for the next Instructable for extending the autobot.

Special thanks to my brother in law Galen for assisting with the coding on this and the invert function which was a very nice feature.

Make it Glow!

Participated in the
Make it Glow!

Let's Party! Challenge

Participated in the
Let's Party! Challenge

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    20 Discussions

    Min Thukha

    1 year ago

    Finally i got it bro. thank you very much

    Min Thukha

    1 year ago

    i didn't receive the message- command send to serial port :"(

    Min Thukha

    1 year ago

    how to connect bitvoicer with arduino?


    2 years ago

    Should i Purchase bitvoicer or bitvoicer server?

    and what's the difference ?


    2 years ago

    Is there any other software apart from bitvoicer?

    If not, bitvoicer software should be purchased to make this project??


    3 years ago

    How I can do this without connecting arduino with the computer?

    1 reply

    Reply 3 years ago

    Bitvoicer has changed a bit and I have not played with it in a while. You can use Wi-fi on the arduino and control it that way. Maybe this winter I can dig into it a bit since outdoor work will be difficult in the dark.


    3 years ago

    you have 5 of the same videos in your instructable. Was this intentional?

    1 reply

    Reply 3 years ago

    There are 5 different videos on this side. All of the links to youtube link to the 5 different videos as well.


    Reply 4 years ago on Introduction

    Where are you having issues, maybe I can help. You need to make sure you pay for the license first or you will not be able to communicate with the arduino from bitvoicer. The arduino needs to be connected via USB to your computer running bitvoicer. That is just one method and the one I used in this example.


    4 years ago on Introduction

    I'm not sure if Bitvoicer 1.1 is available anymore, this project may need to be updated for bit voicer 1.2

    1 reply

    4 years ago

    fantastic but I m only in Tenth standard and I don't know from where should I get the material

    1 reply

    Reply 4 years ago on Introduction

    Not sure exactly what Tenth standard is to be honest... I assume Tenth Grade in school?

    As far as where to get the materials it depends on where you are. You can get the arduino from any arduino supplier. I use Radio Shack for a lot of my smaller stuff as they are near to me when I need something fast, they are pretty limited on what they have in the store, but for this project they will have everything except for the screw shield the software and the jumper wires. For some stuff I use Amazon as it is a bit cheaper. Other than that adafruit.com is a pretty good source as well as sparkfun.com.


    4 years ago on Introduction

    You should mention something about the microphone you're using. Is it attached to your PC, or your Arduino?

    Does this project need a PC to run, or can it run from the Arduino only?

    2 replies

    Reply 4 years ago on Introduction

    Thank you for the suggestion, I did mention this in the set up of BitVoicer video. There are two options you can put a microphone on your Arduino or use the PC mic. Keep in mind that the Arduino has limited processing power and RAM so while it can be done it is better to leave the voice processing to your more powerful computer. Using the computer also limits the amount of space the sketch takes up. We only focus on using the PC mic in this Instructable. Since BitVoicer is a PC application the Arduino must be connected to the PC in some manner. In this case we use USB however later I will show how to do wireless as well.


    Reply 4 years ago

    Great! Thanks for the reply :) definitely going to implement this when I'm on my own to have my own little domotics system.


    Reply 4 years ago on Introduction

    Thank you very much, I am glad you liked it. Hopefully I will post another one on the next steps soon.