DF2301Q Offline Voice Recognition Sensor
MarkR 2026-07-18 06:53:21 280 Views4 Replies I have been trying to get this board working.
I get it to respond but I never get a code from asr.getCMDID() other than 0.
I have tried it on an Elego Uno R3, ESP32-32E, and ESP8266. I have tried I2C and UART with no luck.
It powers up and says “Your welcome to use the voice recognition assistant”.
I say “hello robot” it responds “Yes, I'm here”
I say “turn on the light” or “turn off the light” and it responds “Okay”.
I never get a code back from asr.getCMDID() other than 0.
The odd thing, I can disconnect the DF2301Q and the sample program acts like it initialized it.
In Serial Monitor I get:
Begin ok!
wakeTime = 0
I can't figure out what is wrong.
On the Elego Uno R3 I have:
SCL connected to C/R
SDA connected to D/T
GND connected to GND
5v connected to VCC
Please advise on how to get this module to work.
Hi there. The voice responses show that the recognition part of the module is working, but the communication with the controller may still not be established.
Maybe we can test the I2C connection first? Try if the address return 0x64.
Also, Begin ok! does not always confirm a UART connection. The UART library can return success even when the module is disconnected, because it only initializes the serial port.
Please share the I2C scanner result and the exact example code you are using. This should help us narrow it down.
Hinar.Joestar I didn't know there was an I2C scanner. I found it and ran it and it wasn't detecting it.
I believe the I2C/UART switch was having an issue. Switching back/forth a couple times and it started detecting it.
Woohoo! The sample app is working now!
Thanks for pointing me in the right direction!
Glad to hear it is working now!
It sounds like the I2C/UART switch was not making a reliable connection. If this happens again, power off the module, set the switch firmly to I2C, then run the I2C scanner and check for address `0x64` maybe helpful : )


.jpg)