EasyVR Shield 3.0 - Voice Recognition Shield

Do you make time to talk to your Arduino? Maybe you should! The EasyVR Shield 3.0 is a voice recognition shield for Arduino boards integrating an EasyVR module. It includes all of the features of the EasyVR module in a shield form factor that simplifies connection to the Arduino main board and PC.

EasyVR 3.0 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 third generation version of the successful VRbot module and builds on the features and functionality of its predecessor. In addition to the EasyVR 3.0 features like up to 32 user-defined Speaker Dependent (SD) commands and 26 built-in speaker independent (SI) commands for ready to run basic controls, the shield has an additional audio line-out/headphone jack, and access to the I/O pins of the EasyVR module.

Note: Unlike V2.0, the EasyVR Shield 3.0 does not come preassembled and will require some soldering and assebly before operation.

  • A selection of 26 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.
  • With the optional Quick T2SI Lite license you can add up to 28 Speaker Independent (SI) Vocabularies, each one with up to 12 SI different commands. Therefore an overall number of up to 336 additional SI commands!
  • SonicNet to control one or more EasyVR 3.0s wirelesly with sound tokens generated by the module or other sound source
  • DTMF tone generation
  • Easy-to-use and simple Graphical User Interface to program Voice Commands to your robot.
  • Compatible with Arduino boards that have the 1.0 Shield interface (UNO R3) and legacy boards including:
    • Arduino Duemilanove
    • Arduino Uno
    • Arduino Mega
    • Arduino Leonardo
    • Arduino Due
  • Module can be used with any host with an UART interface (powered at 3.3V - 5V).
  • Supports direct connection to the PC on main boards with a separate USB/Serial chip and a special software-driven “bridge” mode on boards with only native USB interface, for easy access by the EasyVR Commander.
  • Simple and robust serial protocol to access and program the module through the host board.
  • Make your own sound tables using Sensory QuickSynthesis4 tool.
  • Supports remapping of serial pins used by the Shield (in SW mode).
  • The new EasyVR GUI includes a command to process and download custom sound tables to the module (overwriting existing sound table)
  • Provides a 3.5mm audio output jack suitable for headphones or as a line out
  • 8 ohm speaker output
  • Access to EasyVR I/O pins
  • LED to show feedback during recognition tasks
  • Live message recording and Fast SD/SV recognition
  • Arduino Libraries provided

EasyVR Shield 3.0 - Voice Recognition Shield Product Help and Resources

**Quick T2SI Lite License?**

It is stated on a footnote page 5 of the user manual that the Quick T2SI Lite License is not included with the EasyVR shield. The license is sold separately. Here is the Quick T2SI Lite product page: http://www.veear.eu/products/quickt2si-lite/ . Customers can purchase the license directly from VeeaR ( ).


**Getting started**

The best would be to use the EasyVR Commander software that is on the product page under Documents https://www.sparkfun.com/products/13316 . To connect, you would need to upload the EasyVRBridge.ino example code to the Arduino. The EasyVR Commander software is used to train your EasyVR shield to recognize your voice with a keyword. From there, you can generate custom Arduino code with the "File>Generate Code..." option in the menu. This is why we did not provide the code in a GitHub repository from the video demo https://www.sparkfun.com/videos#all/GyxdT6wTfEE/74 .

You would need a microcontroller to control the shield and the I/O pins. We used a basic circuit and code to turn on an LED (experiment 1) and DC motor (experiment 12) from the SIKv3.2 https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32 . The code was integrated in the generated code to turn on the LED and DC motor based on the voice commands.

Example Tutorials and Resources

EasyVR 3 Voice Recognition Shield Using the Arduino Uno video tutorial by "Scott Mon" => https://www.youtube.com/watch?v=QytK7Reo1gY

Arduino: Speech control with the EasyVR Shield => http://tinkr.de/blog/arduino-speech-control-easyvr-shield/

Tutorial: Voice Recognition with Arduino => http://garagelab.com/profiles/blogs/tutorial-voice-recognition-with-arduino.

TEP: Getting Started with EasyVR Commander => http://www.theengineeringprojects.com/2013/04/getting-started-with-easyvr-commander.html.

VeeaR Demos => http://www.veear.eu/demos/

VeeaR App Note => http://www.veear.eu/files/easyvr_appnote_si2function.pdf .

VeeaR Downloads => http://www.veear.eu/downloads/

VeeaR Frequently Asked Questions => http://www.veear.eu/faq/


Looking for an example project? Try hooking a lamp to a relay and control it with your voice!

Making Magic with EasyVR


**Error messages**

1.) EasyVR Commander Error Message

If you see this error with the "EasyVR Commander" software:

"A 'EasyVR Shield/Bridge' device has been found, but the 'bridge" software is not responding or it is outdated. 

You need to manually download the updated "bridge" software to the device (see instructions)."

Try adjusting the MODE jumper as explained in the last thread of this forum post => http://forum.arduino.cc/index.php?topic=198322.0 . The jumper must be in a certain position in order to connect the EasyVR module to the EasyVR Commander software.

It can also be an issue with the solder joints. There were a few customers that did not solder the module or the header pins sufficiently to the board. This is probably the reason why the EasyVR is not detected are not able to connect to the module.

2.) Arduino Error Output

If you see this error message in the Arduino's output serial monitor:

Bridge not started!
EasyVR not detected!
.
.
.

It might not be due to the jumpers not being connected correctly or there is a bad connection from the EasyVR Shield's header pins to the Arduino microcontroller https://forum.arduino.cc/index.php?topic=345010.0 .

3.) Testing Arduino EasyVR Shield Library below v1.8.0

When using the Arduino EasyVR shield Library below v1.8.0, I’m not exactly sure why the serial output says:

“Bridge not started!”

After extensive testing and analysis with the EasyVRBridge.ino file, it looks like it is setting up the pins to pass the serial data to the EasyVR module. It’s possible that the output means that the bridge has not started between your Arduino and EasyVR Commander. If you are able to connect to the EasyVR Commander software, it might just be an output.

Looking further at the datasheet, it looks like the SW mode uses the EasyVRBridge.ino software as a serial passthrough for pins 12 and 13. When you place the jumper on the PC Mode, this places the Arduino in reset mode for a direction connection on the hardware serial UART pins. Both seem to give you the ability to connect to the EasyVR shield upon testing, observing, and reading the user manuals.

The TestEasyVR.ino file uses the trigger and grouped words that have been trained on the EasyVR module. To train the trigger and grouped words, you need to configure the EasyVR module through the EasyVR Commander software. If you place the jumper on any of the modes besides the SW mode, the Arduino will not execute the code because it disables the Arduino. By removing the jumper the TestEasyVR.ino will begin to execute the code and not detect the EasyVR module. Therefore, the serial output will display ( “EasyVR not detected!” ) in the Arduino Serial Monitor.

4.) Testing Arduino EasyVR Shield Library v1.8.0

When testing the Arduino EasyVR Shield Library v1.8.0, this serial output is normal:

---
Bridge not started!
EasyVR detected, version 8
Sound table: n/a
Custom Grammars: n/a
.
.
.

It should not affect the EasyVR module. I tested the TestEasyVR.ino file and was seeing the same output. it could be a timing issue when the Arduino starts up to connect to the EasyVR module. The EasyVR module was able to recognize the trigger and group words that were trained. it took a few tries before the EasyVR module could recognize my voice when it was listening.


**EasyVR running without a computer**

We learned that the previous release of the EasyVR Shield https://www.sparkfun.com/products/retired/12656 could be used as a stand-alone system by integrating all the training phases in your Arduino code, and believe this should be transferable to the EasyVR Shield 3.0. If you train the EasyVR to recognize the words with the EasyVR Commander software, it will remember it when it is not connected to your computer.

After training the EasyVR shield just as the manual states, we were able to test this shield out using the TestEasyVR.ino sketch file and an Arduino Uno. The example code outputs messages to the Arduino Serial monitor after initializing to indicate the state that it is in or any errors. There is also a beep that I heard when plugging my headphones into the 3mm audio jack connector indicating that the trained words were recognized by the shield and Arduino. Using a 9V battery and unplugging the Arduino Uno from the computer, the EasyVR was still able to recognize the trained messages from memory.

You just need to connect to the computer to train the EasyVR, configure the example code, and upload the code to the Arduino Uno. We recommend looking at the demo tutorial named EasyVR Shield for Arduino - Access Control Demo => http://youtu.be/SThR-jyoplk. We used the demo as a guide to train the EasyVR shield that we had on hand. We changed the variable named "group = 0" to "group = 1" on line 185 of the sketch file in order to test the trained word in the Arduino example code.


**3D Models**

3D models are listed on the product page from the manufacturer http://www.veear.eu/downloads/ .


Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • tankapotamus / about 8 years ago * / 2

    I wish Sparkfun would make a tutorial for this already! Tutorials are the one thing that your site is sorely lacking, especially when compared to Adafruit. Step your game up!

  • Takes some time to setup but once setup it works well. I used it to create a voice activated camera control for a quadriplegic student. https://www.thestar.com/news/gta/2018/12/23/this-journalist-needed-a-voice-operated-camera-but-there-was-nothing-on-the-market-so-he-made-her-one.html

  • Member #667671 / about 9 years ago / 2

    How do you get a license for quick t2si lite?

    • Looking at our knowledge base, another representative found that the the Quick T2SI Lite license is not included with the EasyVR 3 module and it can be purchased separately. This license is needed only if you want to add custom Speaker Independent commands but that all other features are “up and running” out of the box. Here is the Quick T2SI Lite product page: http://www.veear.eu/products/quickt2si-lite/ . Customers can license directly from VeeaR (they can e-mail sales@robotechsrl.com ).

      • Member #496446 / about 9 years ago / 2

        at 199 euro; the license isn't cheap. I'm a bit confused at to what the quick2tsi license gives you, or rather, how you can use easyvr3 w/o it, if you need the license to set up the phrases... or am I missing something obvious?

  • Josh_Hawley / about 9 years ago / 2

    How good is this at differentiating between two voices? Could it be effectively used as a security authentication device?

    • tankapotamus / about 8 years ago / 2

      depends on if it's a word that comes preprogrammed or one you train. the ones you train are more specific to your voice.

  • Member #519514 / about 9 years ago / 1

    Does the product comes with a microphone and a speaker ?

  • Looks pretty cool. It says it has DTMF tone generation. Any way to expand that for a compatible Text-To-Speech synthesizer? Was thinking it would be easier to have this integrated as well instead of having a two-part system relaying info.

  • Member #378203 / about 9 years ago / 1

    My EasyVR 3 doesn't work. The Aduino EasyVR test program doesn't detect the EasyVR. and the Bridge is not connected.. I am using an Arduino Uno and I tested with a different Uno to verify that it is not an Arduino problem. In the S/W mode the power light on the shield comes on. I checked all the soldering connections and they appear good. I am using the latest s/w. I don't know what the problem is, Anybody has any idea.?

    • tankapotamus / about 8 years ago / 1

      Sounds like you have the wrong mode selected, it should be in PC for the commander and in SW for Arduino IDE. Check out page 22 of the user manual.

  • Member #690461 / about 9 years ago / 1

    hi, I have bought this product and I am having some issues. I using easyvr commander to train the voice commands and the recognition range is drastically low. I have tried to change different recognition parameters for the Distance yet the outcome is the same. Do you have any idea why ?

Customer Reviews

4.4 out of 5

Based on 9 ratings:

Currently viewing all customer reviews.

3 of 3 found this helpful:

70 page user manual!!! Not for beginners!

Not for the faint at heart. Read the user manual before you buy it. Your video made it seem a lot easier. It could've been broken up into better sections.

1 of 1 found this helpful:

It is very easy to use. I like the way of code generation using Easyvr3 commander. I appreciate the Tech support guys...

0 of 1 found this helpful:

Amazing !!!

I loved ! I am having fun with this shield ! I recommend

0 of 1 found this helpful:

Otimo

Ótimo produto muito bom, comprei chegou em cinco dias pela UPS, e é excelente.

Don't Overlook Soldering

I had a hard time getting the EasyVR to connect at first, which was solved by proper soldering. User manual could be better if it had section with common errors and resolutions. Not for beginners but very good overall.

A Reasonable Product IF You Are an Electronics Development Lab

We ordered and received two (2) units in order to evaluate them for use in one of our product lines. It does not come with the USB-to-2x3 cable, so that set us back several days (as a product development lab, lost time is always a negative). Assembling the shield was simple and straightforward. We then wasted several man-hours attempting simple communications with the first board via the USB-to-PC interface, and then with an Arduino platform (Arduino is never our first preference) - no success. At that point we visually inspected the pre-assembled EasyVR3 board using 10x magnification and located a solder short on one of the fine-pitch parts, which had to have occurred during PCB reflow during manufacturing, indicating that these boards are not tested before shipping. After removing the short, the module was successfully tested using both the USB-to-PC and Arduino communications/interface methods. The PC-driven menus make additional testing pretty straightforward. However, migrating to a PIC-based platform has not been easy, which means that most users will be married to Arduinos. That's fine for the hobbyists and this will be a great module for them, but it is a negative factor for serious product development companies. Final Note: If you're a hobbyist, you will love this product. I would have given it 5 stars if the product had been inspected and tested prior to shipment.

Very good

I bought this product to assist a tetraplegic who has very little movement. It worked perfectly. He can now call for assistance, control his t.v. and air conditioning, and we will add more features as time allows.

This is awesome! Please keep us posted on how your project progresses. Helping people solve day to day problems with technology is one of the most upright pursuits. I hope that you had some fun along the way!