
Getting Started with EasyVR Commander

Hello friends! In the previous tutorial, we introduced voice recognition using the EasyVR Shield. Now we will prepare the words that our project needs to recognize. We will use EasyVR Commander to connect to the shield, create a command group, train its entries, and test the results before writing the Arduino application.
Our example is the same five-command project: FORWARD, REVERSE, LEFT, RIGHT, and STOP. Training these words is only part of the job. We also need to record their group number and individual indexes, because those numbers are what the controller will use to select an action. A well-trained vocabulary with an incorrect software mapping still produces the wrong behavior.
The screenshots below come from the original EasyVR setup, so the appearance of a newer Commander release may differ. We will preserve them as a guide to the workflow while making the group selection consistent with the next EasyVR and Arduino interfacing tutorial. Read the explanation beside each image instead of copying every displayed setting.
What Does EasyVR Commander Do?
Commander is the desktop tool we use to prepare and inspect the module's command vocabulary. It lets us connect to the device, organize our custom commands, run the training procedure, and test recognition. In this tutorial, Arduino initially provides the physical connection between the computer and the shield; later it runs the application sketch.
Keep the roles of the two programs clear. Commander prepares the speech commands. The Arduino sketch decides what a recognized command should do. Naming an entry FORWARD does not program a motor output, and training STOP does not automatically add stopping logic to an existing sketch. Those behaviors are implemented in the application.
Download the tool from the manufacturer's software download page and select the release appropriate to your hardware. The manufacturer's Commander documentation distinguishes custom groups from built-in wordsets and explains the guided training process. Check your module's manual when the available options differ from these older screenshots.
Prepare the Arduino and EasyVR Shield
For this tutorial, use the Arduino Uno, EasyVR Shield, compatible microphone, and a USB data cable. Start with the speech hardware alone. Leave motor controllers and other accessories disconnected until the command training and basic serial communication work consistently.
- Disconnect USB and any external power.
- Place the shield on the Uno with all headers aligned.
- Connect the microphone to the shield's microphone input.
- Check the operating-mode jumper against the board's markings.
- Reconnect USB and identify the serial port assigned to the Uno.
The original shield uses J12 in PC mode for a direct Commander connection. In that arrangement the Arduino controller is held in reset while its USB-to-serial interface provides access to EasyVR. SW mode is used later for the Arduino sketch. Do not confuse either position with UP, which is intended for update operations. Later shield revisions have their own mode and pin-selection details, documented in the manufacturer's shield specifications.
If you use an official bridge sketch instead of direct PC mode, follow the instructions supplied with that example. A bridge is an active program forwarding communication; simply leaving an arbitrary sketch on the Uno does not turn it into a bridge. For a first setup, choose one documented connection method and finish testing it before trying another.
Check the Serial Port Before Opening Commander
In Windows, note which serial device appears when you connect the board. Its COM number depends on your computer, USB interface, and previous connections. The number shown in a screenshot is an example, not a requirement. If several boards are connected, identify the intended one before selecting a port.
Close Arduino Serial Monitor and any terminal program that is using that port. Two applications competing for the same connection can make a working device appear inaccessible. If you unplug the cable while diagnosing a problem, check the port selection again after reconnecting it.
Connect Commander to the Module
Open EasyVR Commander after the hardware is connected. The initial window provides the serial-port selection and connection controls. At this stage, our aim is simply to establish communication; we have not yet proved that the microphone or trained commands work.
- Select the serial port belonging to the connected board.
- Use the Connect command.
- Wait for the module's groups and command information to appear.
- Inspect existing entries before adding or deleting anything.
If the connection fails, check the hardware mode, cable, selected port, and other serial applications first. Repeating the Connect command cannot correct a jumper set for a different communication route. Avoid retraining commands or updating firmware merely because the first connection attempt failed.
After a successful connection, the left side of the interface shows the available command categories. The original screenshot below illustrates the connected state. Existing trained entries belong to the attached module, so record any vocabulary you want to preserve before experimenting with a group that already contains commands.
Understand Groups, Wordsets, and Command Labels
We will work with a custom command group. The built-in wordsets shown elsewhere in Commander serve a different recognition workflow. Selecting a wordset does not select the custom FORWARD entry you trained in a numbered group. For this project, keep the distinction simple: choose the custom group that contains our five entries and test that group.
| Term | Meaning in our project | Example |
|---|---|---|
| Group number | The selected collection of custom commands | Group 1 |
| Command index | The position returned for a recognized entry | 0 for FORWARD in our chosen map |
| Label | A readable identifier for that entry | FORWARD |
| Spoken training example | The sound supplied by the intended speaker | Saying “forward” when prompted |
| Application action | The behavior implemented by Arduino | Selecting a forward indicator |
A label helps you manage the project, but typing a label alone does not train its sound. Likewise, changing a label does not automatically rewrite your Arduino constants. Keep the label, spoken word, index, and intended action together in a small command table.
Choose One Working Group
The original demonstration screenshot uses Group 2 and an example label, OK. For the complete five-command project in this refreshed series, use Group 1. If Group 1 already contains important commands, preserve them and choose another available group; then change the group constant in the Arduino sketch to match.
This choice is not a special requirement of the word FORWARD. It is a project convention that prevents two tutorials from silently using different groups. Write the selected number down now. Do not rely on remembering which item happened to be highlighted the last time Commander was open.
Add the Five Project Commands
Select the working group and use Add Command to create the first entry. Give it the label FORWARD. Continue with REVERSE, LEFT, RIGHT, and STOP. The screenshot shows the same operation using the older example entry; its purpose here is to identify the Add Command and training controls.
| Index | Label | Intended action |
|---|---|---|
| 0 | FORWARD | Request forward indication |
| 1 | REVERSE | Request reverse indication |
| 2 | LEFT | Request left indication |
| 3 | RIGHT | Request right indication |
| 4 | STOP | Clear direction indications |
Check the actual indexes displayed by Commander. If the group previously contained entries, your new commands may not have the numbers shown above. The controller must match the actual list, not the order in which you intended to add commands. Either prepare a clean group deliberately or adjust the code constants to the recorded indexes.
Do not delete an existing command simply to make a screenshot look identical. First decide whether another application uses it. For your own new project, a dedicated group makes the relationship between training and code easier to maintain.
Train Each Command in Two Phases
Select the FORWARD entry and start Train Command. The original dialog guides you through Phase 1 and Phase 2. Wait for the speaking prompt in each phase, say the same word naturally, and allow the software to finish before continuing.
- Position the microphone as you expect to use it during the initial test.
- Start Phase 1 and wait for the prompt.
- Say “forward” clearly without adding extra words.
- Start Phase 2 when the dialog requests it.
- Repeat the word with a similar speaking rhythm and volume.
- Check that training completed successfully before selecting the next entry.
Repeat this process for REVERSE, LEFT, RIGHT, and STOP. Do not rush through the list while another person speaks in the room. A training sample should represent the command you intend to use, not a mixture of your word, a conversation, and noise from handling the microphone.
A common mistake is to speak before the listening prompt appears. Another is to make the second sample unusually slow or loud because the first attempt felt uncertain. Keep both examples natural and repeatable. If you need to change your speaking style substantially, restart the training procedure rather than trying to rescue two very different samples.
What to Do When Training Fails
Read the reported result before repeating the operation. Check the microphone connection and reduce avoidable noise. If a conflict points to another command, compare the two spoken words. A vocabulary change may solve the problem more cleanly than repeatedly accepting similar-sounding entries.
When retraining an existing entry, use the procedure supported by your Commander version to remove its previous training first. Preserve the intended command mapping, and retest the entire group afterward. Our separate guide to EasyVR training errors provides further background, but begin with the specific error visible in your own session.
Test the Trained Group
After all five commands are trained, review the list. The original screenshot below shows a completed set of entries. Use the recognition-test control for the selected group, speak one command when requested, and compare the recognized entry with the word you actually said.
Test commands in a mixed order. Repeating FORWARD twenty times may demonstrate that one entry is recognizable, but it does not reveal whether LEFT and RIGHT are confused or whether STOP still works after a direction command. A mixed sequence is closer to how the application will be used.
Also test silence and an unrelated word. These trials reveal how the interface behaves when there is no valid instruction. Record a wrong command separately from a timeout. Both need handling in the program, but accepting the wrong action is a different fault from returning no action.
Keep a Small Recognition Log
Use columns for spoken command, returned index, result, microphone position, and notes. A result can be correct, incorrect, or missed. Record the group number at the top of the sheet so that the log still makes sense after you create additional groups.
success percentage = correct recognitions ÷ total attempts × 100
For example, 19 correct results from 20 attempts gives 95 percent for that particular test. This is an illustrative calculation, not a measured performance claim. If the remaining attempt returned the opposite direction, note that explicitly rather than hiding it inside a percentage. The consequences matter as much as the count.
Repeat a short test at the intended microphone distance. Change only one condition at a time. If you alter the vocabulary, move the microphone, and change recognition settings together, a better result will not tell you which change helped.
Transfer the Command Map to Arduino
Before leaving Commander, record the working group and the indexes of every command. This table is the agreement between the trained module and the application code. A generated code template can help expose those identifiers, but you still need to implement the output behavior and review any assumptions in the generated sketch.
Disconnect Commander, remove power, and place the original shield's mode jumper in SW for the companion Uno sketch. Reconnect the board, select the correct Arduino board and port, and upload the program described in the next article. Its software-serial connection uses the original shield's pins 12 and 13; check a different shield revision before copying that assignment.
Open Serial Monitor only after Commander has released the port. Confirm module detection first, then inspect returned command numbers before connecting any actuator. If Commander recognized your commands correctly but Arduino reports unexpected indexes or timeouts, compare the group number and software configuration before retraining the microphone input.
Troubleshooting Commander
| Problem | Likely area to inspect | Practical correction |
|---|---|---|
| No serial port appears | USB cable, interface driver, board connection | Confirm the board is detected by the operating system |
| Port exists but connection fails | Mode jumper or another application using the port | Select the documented communication mode and close competing tools |
| Connected module has unexpected commands | Previously trained device or wrong attached board | Identify and preserve existing data before editing |
| Training fails during the second sample | Different pronunciation or interference | Repeat both samples consistently |
| Two commands are confused | Similar spoken vocabulary | Choose more distinct words and retest the group |
| Arduino performs the wrong action | Group and index mapping | Match code constants to the actual Commander list |
Review Before Moving On
You are ready for the controller tutorial when Commander connects reliably, the five entries have completed training, and a mixed recognition test produces understandable results. Keep the command table with your sketch. It is part of the project configuration, just as important as the pin assignments.
The most useful habit is to finish one stage before adding another. A successful Commander test establishes that the speech side can recognize the vocabulary under the tested conditions. The next stage establishes that Arduino interprets those results correctly. Follow Interfacing of EasyVR with Arduino to connect those two parts.
Frequently Asked Questions
Must I use the COM number shown in the screenshot?
No. Select the port assigned to your connected board. The screenshot reflects the original computer's configuration. Recheck the selection when changing USB connections or using a different board.
Should I use Group 1 or Group 2?
This series uses Group 1 for the five-command application. The older image demonstrates Group 2. Either can be used if it is appropriate for your module and the Arduino program listens to the same group.
Does typing STOP create a working stop command?
No. The entry needs spoken training, recognition testing, and an application action associated with its index. The word's label alone does not alter the Arduino outputs.
Do I need to train everything after reconnecting USB?
Normally, trained custom commands remain in the module's nonvolatile storage. Reconnect and inspect the group before assuming the training has disappeared. Communication settings and the application setup still need to be correct after a restart.
Can I finish training while the robot is moving?
Prepare the vocabulary on a stationary bench first. Movement adds noise, vibration, and consequences for a wrong command. Verify the speech and indication stages before integrating them with a motor controller.
Hi and thanks a lot for your splendid tutorial. I have a problem that I cannot solve!
I have tested the shield with the Easy Vr Commander and at this stage it works fine since I can easily connect the shield to my COM3....but when I upload the test sketch on the arduino ( of course I have changed the jumper putting this on the SW position)..I get a problem. Upload works fine but Opening the serial monitor I see the message: Bridge not started- Easy VR not detected...
What happens????...You are the only one who can help me.
Can you please help me?
Thanks a lot and have my best regards.
Arnaldo
1 reply
Hi,
I think the problem you are facing is because of the jumper placement. You are not placing it right. Otherwise this problem doesn't occur. Better to add me on skype and we can discuss it through to check where the problem lies.
Thanks.
Hi,
I have just seen your kind reply...
I can assure you that the jumper has been placed in the right place..otherwise I could not upload the sketch...
Jumper is on SW..
Do you have other suggestion?....we can also use skype...I leAve in Italy...so tll me when tou available...
Thanks a lot.
arnaldo
1 reply
Hi,
Yeah sure, add me on skype and send me a message. My skype id is "theenggprojects". I am online rite now.
Thanks.
1 reply
Hi, can we do it tomorrow? Send me a message when you available..
Arnaldo
hye really good tutorial....
I try to connect the easyVR with arduino uno..I have set the jumper 12 to UP but when i try to connect the error come said that "cannot detected device connected to COM5"...please help me sir.
tQ
2 replies
Hi,
You must be making some mistake, First of all, make sure that you have placed the jumper right. Secondly, in the image, Arduino is giving avrdude error which means your arduino driver is not installed corectly, so reinstall the arduino driver and first of all, burn some simple sketch in arduino to check it working fine or not, then move to EasyVR Commander. Let me know about the results.
Thanks.
Hi,
ı have the same problem with you. Have you solved it ?
i have the same problem that Arnaldo, Bridge not started- Easy VR not detected. any suggestions?
Hi,
I have a connection problem with my easyvr shield 2.0 with arduino uno. When I connect only arduino uno to computer, it works; there is no problem. First of all, I have placed the jumper right (PC). Secondly, in the image, Arduino is giving avrdude error which means your arduino driver is not installed corectly, so I have reinstalled the arduino driver and first of all, I have burned some simple sketch (blink) in arduino but it did'nt work,it says
"
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x01"
I try to connect the easyVR with arduino uno..I have set the jumper 12 to PC but when i try to connect the error come said that “cannot detected device connected to COM11″…please help me sir.
1 reply
Hi,
EasyVR Shield is a real pain, dont get disappointed and just test again and again, check your firmware version, arduino library version etc. Mae sure you have the latest versions for everything and then try it, it will be solved.
Thanks.
i too hav the same problem sir,it is showing bridge software is not updated,try to download latest bridge software.device is not connecred
2 replies
As I explained earlier, EasyVR shield is not easy to work with and it requires a lot of testing. Check your software versions, they must be updated to latest plus check out the jumper setting, and after some time it will start working. If the problem still exists then let me know, will help you out.
Hi ...have u solved the problem ...I'm getting the same error
im using this easyvr shield as my final project.. i just try the control access demo from the easyvr website..but its not working..i already do all the step, but not working..can you help me?any suggestion?
Problem Still Unsolved : "Bridge Not Started. EasyVR not detected"
Jumper Setting : SW
Using : EasyVR 3 with shield on Arduino Uno R3 (all softwares up to date)
Loaded program on Arduino : TestEasyVR (from the EasyVR library example)
Please suggest. I have wasted 3 days figuring this out.
Same problem here. arduino uso, easy ve3 . since im not so good with soldering, Can it be the problem?
I want to record a cry of a kid for cry detection purpose...Is it ok with this??
Plz help me sir..
1 reply
I dont think it would be possible with this EasyVR, you should use MATLAB.
1 reply
Can you help me for that sir??
PLZ help me to do that sir...
1 reply
Bro add me on SKype and I will check your problem .... My Skype id is theenggprojects.
Thanks.

























Comments
23