
In order to get the system to react to voice commands, I am using the Voice Recognition Module V3. This module communicates with the Arduino Board through UART, and it receives a hex value when it needs to listen to a command, and it sends a hex value (example 1x30), when a certain voice has been used.
Now, unfurtunately there are 2 issues with this:
The Nicla Sense ME only has 1 Hardware UART which is used by the DFPlayer Mini.
The Nicla Sense ME does not support SoftwareSerial, therefore, I cannot create another serial with 2 digital pins to have a second UART connection. Moreover, it turns out that the Voice Rec Module V3 library only works with SoftwareSerial, which is based on the Voice Rec Module V2, and the last update on GitHub has been performed in 2014, with small fixes to the V3 until 2017.
John Wesser, a top contributor on the Arduino Forums, was able to modify the library to have it running with both SoftwareSerial as well as Hardware Serial, the post is available here: https://forum.arduino.cc/t/combine-two-voice-recognition-module/910286/10
However, the issue is that the library still requires the SoftwareSerial library even when using the Hardware UART on the Nicla. I made a forum post where I discussed with John Wesser: https://forum.arduino.cc/t/voice-recognition-module-3-with-hardware-serial-on-nicla-sense-me/964378
I have also made a post on Bosch Sensortec Community to ask if there are any plans on adding SoftwareSerial to the Nicla Sense, to which they replied no: https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Nicla-Sense-ME-SoftwareSerial/td-p/52661

Ultimately no solution was found, as of yet. Which means that in order to connect the module to the Nicla Sense ME, I may have to add an intermediate board. An arduino board, running AVR, supporting SoftwareSerial, and then connecting that Arduino Board to the Nicla Sense ME through I2C.
This process would require a small board, because every added module influences the watch dimensions, where I am limited.
After researching for a bit, it turns out there are 2 very small Arduino Modules:
Arduino Atto measuring 10.3x11.5, which sadly is not in production anymore: https://www.electronics-lab.com/atto-worlds-smallest-arduino-compatible-board/
Arduino Pico, measuring 15.24x15.24, which once again is not in production anymore: https://create.arduino.cc/projecthub/mellbell-electronics/arduino-pico-the-world-s-smallest-arduino-board-24ee0e
However, even with these 2 not being produced anymore, there is a 3rd option, a board which luckily I already have, so I do not need to wait for shipping, the DFRobot Beetle. Coming in at 20x22mm, a bit bigger than the other 2, details here: https://wiki.dfrobot.com/Beetle_SKU_DFR0282
Furthermore, I have also decided to look at alternatives for the Voice Recognition.
But sadly, many modules are either very simple in their functionality like the:
Voice Module v1
Voice Module v2
Has pre-recorded voice commands which cannot be changed:
Grove - Speech Recognizer (https://www.seeedstudio.com/Grove-Speech-Recognizer.html)
Or, they support I2C, which is great, but only support the Chinese language:
DFRobot I2C Voice Recogniser:
Or they are too big:
HLK-V20 Voice Recognition Control Module
SparkFun Voice GP: https://www.sparkfun.com/datasheets/Sensors/Sound/VoiceGP-DS_1.2.pdf
EasyVR
Or they have no documentation:
Taidacent Offline Voice Recognition Board
One components that has peaked my interest was the SpeakUp Click from MikroElectronika, available here: https://www.distrelec.biz/en/speakup-voice-recognition-click-development-board-3v-mikroelektronika-mikroe-1534/p/30154921 .With a datasheet here:https://www.mouser.com/datasheet/2/272/speakup-click-manual-v100-a-1483821.pdf
The device is too big however, there is a SpeakUp Click 2 way smaller, althogh still quite large at 57x25mm. Here: https://docs.rs-online.com/6ea0/0900766b815a7a56.pdf
Another device that peaked my interest was the Arduino Nano 33 Ble Sense, combined with Edge Impulse/TensorFlow for Voice Recognition. An example can be seen here: https://circuitdigest.com/microcontroller-projects/arduino-speech-recognition
I am planning on acquiring both devices and testing both to use the best solution.
Comments