Voice-Controlled Universal Remote

This is a remote that can be used to control all types of devices using voice commands. It can be programmed on-the-fly for any device.

Similar projects worth following
I've seen a few similar projects out there on the web, but they all seem to:

a) Store the voice commands manually to the voice board and
b) Hard code the IR pulses for a specific remote control.

My approach is to let anyone "program" my device by simply saying a command and pointing/clicking an existing remote control.

My remote will take the form of a box (perhaps decorative) that sits on a coffee table or somewhere in IR range of the device(s) you want to control.

The remote will include 2 modes of operation:

Learning Mode - You can program the remote by saying the word or phrase you want to use for a command, then pointing an existing remote at an IR receiver and clicking the appropriate button. The remote will store the voice command and IR string in local storage.

Command Mode - The device listens for commands. When a command is recognized, the box will send the appropriate code via an IR transmitter to the TV, Cable Box, DVD Player, Stereo, etc.

I believe an Arduino can handle the communication with the voice board, the storage and retrieval of codes, and the output to the IR transmitter.

I will need a voice card that can handle the recording and recognizing of the voice commands and can also communicate with the Arduino.

The board I purchased from eBay only supports 15 commands; what's worse, it can only access 5 at a time. So you have to switch to a particular group before it will recognize commands from that group. This is definitely not the final choice for the project, but should be powerful enough to work for my prototype.

I'm building my initial prototype using an Arduino Uno and a voice recognition board I mentioned above. The UNO only has 1K of EEPROM (where I hope to store the IR codes) so I may have to upgrade to a Mega or add some EEPROM.

My prototype will include the following commands:

Group 1:
1. TV On
2. TV Off
3. Channel (load group 2)
4. Volume (load group 3)
5. OK

Group 2: (Channel)(return to group 1 after function or time)
1. Up (different codes for channel and guide)
2. Down (different codes for channel and guide)
3. Guide (toggle)
4. Jump (up x 10)
5. Back (down x 10)

Group 3: (Volume)(return to group 1 after function or time)
1. Up
2. Down
3. Mute (toggle)
4. Jump (up x 10)
5. Back (down x 10)


How to control your TV with an Arduino

Arduino Voice Control

Voice Board User Manual

IR Sensor - Make remote controls and listeners

  • 1 × Arduino Uno
  • 1 × Voice Recognition Board
  • 1 × IR Sensor
  • 1 × IR LED
  • 4 × Various colored LEDs for indicators

View all 8 components

  • Video of Voice/IR Test #1

    mikesoniat08/18/2014 at 12:02 0 comments

  • Voice/IR Test #1

    mikesoniat08/17/2014 at 22:37 0 comments

    This is my first test of the voice board with IR transmitter. I've only recorded commands for TV on/off at this point. The IR codes were captured from the TV remote and stored in the Arduino's EEPROM. When the voice board recognizes the command, the Arduino searches for it in EEPROM, reads the IR codes for that command, and sends them to the IR LED.

  • Adding the IR Sensor and IR LED

    mikesoniat08/12/2014 at 15:37 0 comments

    Now I'm ready to add the IR sensor, which will be used for learning mode; basically reading the IR codes from an existing remote control. I'll also add a pushbutton to switch modes between learning and command and a transistor circuit for the IR LED, which will send the IR codes to the device you're controlling. 

    Below, I have attached Fritzing images of the breadboard and schematic.

    NOTE: The Fritzing library did not include the voice recognition board, so I used a breakout board with similar connections.

  • Testing the Voice Board Video

    mikesoniat08/12/2014 at 00:20 0 comments

  • Testing the Voice Board w/ Arduino

    mikesoniat08/11/2014 at 23:03 0 comments

    My first step is to test the voice recognition board with an Arduino Uno and some LEDs. The voice board connects to the Arduino via a serial connection on the RX and TX pins and sends a unique HEX ID for each voice command.

    1. I stored my first 5 voice commands on the voice board using a FTDI connection to my PC and a terminal program.

    2. I programmed a simple Arduino sketch that reads the input from the voice board and turns ON and OFF the appropriate LED.

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates