Voice / Speech Recognition Using Arduino : EasyVR, Bitvoicer & uspeech library

Although Arduino is not able to do voice recognition on its own, but there are many software modules & shields which can make it to do so. We will be going through to some of them in this Article.

Easy-VR Speech Recognition Module/Shield (Currently in v2.0 ) (Hardware)
EasyVR Speech Recognition Module: Voice / Speech Recognition Using Arduino
EASY VR mounted on Arduino UNO (Image Source: easyVR website)

Description: EasyVR is a multi-purpose speech recognition module designed to add versatile, robust and cost effective speech and voice recognition capabilities to virtually any application. EasyVR is the second generation version of the successful VRbot module and builds on the features and functionality of its predecessor. Along with features like 32 user-defined Speaker Dependent (SD) triggers and a host of built-in speaker independent (SI) commands, the EasyVR adds convenient features such as firmware update capability, 8ohm speaker output and additional SI languages.
A simple and robust serial protocol (9600 8-N-1 default) can be used to access these functions from the user's microcontroller boards. The EasyVR can be powered by anywhere between 3.3 and 5.5V, and typically consumes 12mA of current in operation.
  • A host of built-in speaker independent (SI) commands (available in US English, Italian, Japanese, German, Spanish and French) for ready to run basic controls.
  • Supports up to 32 user-defined Speaker Dependent (SD) triggers or commands (any language) as well as Voice Passwords.
  • Easy-to-use and simple Graphical User Interface to program Voice Commands to your robot.
  • Module can be used with any host with an UART interface (powered at 3.3V - 5V) .
  • Simple and robust serial protocol to access and program the module through the host board.
  • 3 GPIO lines (IO1, IO2, IO3) that can be controlled by new protocol commands (3V)
  • Audio output that supports 8 ohm speakers
  • Firmware update capability with two additional lines (/XM, /RST)
  • Sound playback feature:
    • You can make your own sound tables using Sensory QuickSynthesis4 tool
    • The new EasyVR GUI includes a command to process and download custom sound tables to the module (overwriting existing sound table)
    • Note: Default firmware has no sound table, but can Beep using sound index 0 – always available. Custom sounds start at index 1.
    • The VoiceGP DevBoard (sold seperately) is required for programming the EasyVR flash.
  •  1.77 x 0.95" (45 x 24mm)
 Additional Resources With EASYVR: 

Bitvoicer Software By BITSOPHIA (Software)

BitVoicer is the speech recognition software that brings to the microcontrollers the processing and voice analyzing power of the PC. The BitVoicer’s speech recognition technology and the use of communication standards common in the industry (Serial/UART or TCP/IP) make it extremely easy and fast to design complex speech recognition functionalities for virtually any microcontroller available in the market.

Since the UART or TCP/IP protocol is platform independent Bitvoicer can be used with any microcontrollers & microprocessor available in the market.

  These are the main features of Bitvoicer:
  • * BitVoicer can process audio captured by the microcontroller
  • * Speech recognition for the following languages:
    • # Catalan
    • # Chinese (China, Honk Kong and Taiwan)
    • # Danish (Denmark)
    • # Dutch (Netherlands)
    • # English (Australia, Canada, India, United Kingdom and United States)
    • # Finish (Finland)
    • # French (Canada and France)
    • # German (Germany)
    • # Italian (Italy)
    • # Japanese (Japan)
    • # Korean (Korea)
    • # Norwegian, Bokmål (Norway)
    • # Polish (Poland)
    • # Portuguese (Brazil and Portugal)
    • # Russian (Russia)
    • # Spanish (Mexico and Spain)
    • # Swedish (Sweden)
  • * Unlimited number of commands and sentences
  • * Advanced speech recognition schema
  • * Customizable recognition settings:
    • # Minimum Audio Level
    • # Acceptable Confidence Level
    • # Latency Period
    • # Activation Word
  • * USB/Serial or TCP/IP communication interface
  • * Supports wireless communication
  • * All-in-one graphic interface: you can design your Voice Schema, set up commands, follow the communication activity, and the speech recognition status all in one window.
  • * Arduino compatible

    Video Showing Wireless Audio Streaming and Speech Recognition with BitVoicer 
    In this project the doer connecthis Arduino Board to a WiFly module (https://www.sparkfun.com/products/10822) and stream audio to the PC, to BitVoicer (http://www.bitsophia.com/BitVoicer.aspx). Thus by using a wireless adapter, he managed to add speech recognition features without the need of a physical connection with the PC.

The complete project, source code and files can be found at:
Additionally you can also visit for more of it: http://www.instructables.com/id/Speech-Recognition-with-Arduino/ 

µSpeech Speech recognition toolkit for Arduino (Accuracy is less though)

Official Project Page: http://arjo129.github.io/uSpeech/

The uSpeech library provides an interface for voice recognition using the Arduino. It currently produces phonemes, often the library will produce junk phonemes. According to authors a  noise removal function is underway.


  • Letter based recognition
  • Small memory footprint
  • Arduino Compatible
  • 30% - 40% accuracy if based on phonemes, up to 80% if based on words.
  • Plugs directly into analogRead() port
Video For uSpeech Calibration

The developer has provide a sample project: Voice controlled LED using uSpeech


This project was done on an arduino UNO. Stick an LED into pin 13 and ground the negative lead. Any microphone with pre-amp plugged will work.

Visit For More:

Atmega 168/328 Pin Mapping