Interfacing Seeed Studio Grove Speech Recognizer with Arduino (Robot example)
Hello, and welcome to this special tutorial where I Interface Grove Speech Recognizer that was sent to me by Seeed Studio, many thanks.
Seeed website:
https://www.seeedstudio.com/
Product page:
https://www.seeedstudio.com/Grove-Speech-Recognizer-p-2708.html
Product Seeed Wiki:
http://wiki.seeedstudio.com/Grove-Speech_Recognizer/
Seeed is the IoT hardware enabler providing services over 10 years that empower makers to realize their projects and products. Seeed offers a wide array of hardware platforms and sensor modules ready to be integrated with existing IoT platforms and one-stop PCB manufacturing and Prototype PCB Assembly. Seeed Studio provides a wide selection of electronic parts including Arduino, Raspberry Pi and many different development board platforms. Especially the Grove Sytsem help engineers and makers to avoid jumper wires problems. Seeed Studio has developed more than 280 Grove modules covering a wide range of applications that can fulfill a variety of needs.
This is a quick tutorial on how to interface the Grove speech recognizer module with Arduino board, you can use this module to control your home appliances (Tv, lights, temperature…) or make your voice controlled Robot…
And no it’s not J.A.R.V.I.S type assistant but a module that has 22 Built-in commands that you can easily associate with your project, the advantage is that it’s completely embedded and all the voice recognition process is done inside the module and sent to the Arduino via UART, no need to constantly have your Arduino plugged to the computer.
In this project we’ll see basic interfacing and some examples that includes few LEDs and a little classic 2WD robot.
You can add a speaker (0.5-1 W) and it will repeat the commands when detected in a “The blewtewth device is ready to pair” voice lady.
Here’s a list of commands that you can use:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<span class="hljs-comment">"Turn on the light"</span>, <span class="hljs-comment">"Turn off the light"</span>, <span class="hljs-comment">"Play music"</span>, <span class="hljs-comment">"Pause"</span>, <span class="hljs-comment">"Next"</span>, <span class="hljs-comment">"Previous"</span>, <span class="hljs-comment">"Up"</span>, <span class="hljs-comment">"Down"</span>, <span class="hljs-comment">"Turn on the TV"</span>, <span class="hljs-comment">"Turn off the TV"</span>, <span class="hljs-comment">"Increase temperature"</span>, <span class="hljs-comment">"Decrease temperature"</span>, <span class="hljs-comment">"What's the time"</span>, <span class="hljs-comment">"Open the door"</span>, <span class="hljs-comment">"Close the door"</span>, <span class="hljs-comment">"Left"</span>, <span class="hljs-comment">"Right"</span>, <span class="hljs-comment">"Stop"</span>, <span class="hljs-comment">"Start"</span>, <span class="hljs-comment">"Mode 1"</span>, <span class="hljs-comment">"Mode 2"</span>, <span class="hljs-comment">"Go"</span>, |
Components
The main ones are the Arduino board and the Voice recognition module, the rest is up to your project, here I inlcuded some components required for a classic 2WD robot.
Wirings:



Codes
All codes used (Basic – LEDs – Robot): Download here
Tests
Below you’ll find codes for: simple test, LEDs control and Robot control.
After wiring the module, you should first say “Hicell” (as a whole word) then followed by the command (in English).
When your “Hicell” is detected a red LED will flash for 5s and it will wait for your command this period, then say your command, if it’s recognized a blue LED wil flash as well, and if you have a speaker wired with the module you’ll hear the command repeated.
Issue
The only issue I encountred is that sometimes the module cannot detect the “Hicell”, and for the first time you won’t be able to tell if the module is borken, the wiring is not correct… You can test it with “Google translate” voice: Just write “Hicell” and read it with a speaker close to the module.
Adapt to your project
1 2 3 4 5 6 7 8 9 |
int cmd; if(softSerial.available()) { cmd = softSerial.read(); } |
The module sends the number of the command (1-22) to the Arduino and it get stored in “cmd” if it’s not used “cmd” will be 0 again, so you associate every number with a function that you want to execute… you can check examples in codes.
Categories
Yassine View All
Automation and Electrical Engineer, Electronics amateur trying to share my little projects.
This blog by SurtrTech provides an excellent guide on interfacing the Grove Speech Recognizer with an Arduino robot. The step-by-step tutorial, along with the sample robot example, makes it easy for hobbyists and robotics enthusiasts to implement voice control in their projects. It’s an insightful resource that showcases the power of combining speech recognition and Arduino to create interactive and innovative robotic applications.