I recently wrote about a Linux microwave oven with a built-in voice assistant, and somebody mentioned a quad-core SoC was overkill, and instead US516P6 microcontroller designed for offline voice commands would be a better fit.
It’s all good, but finding information about Unisound US516P6 proved to be quite a challenge with not much public information, and most in Chinese. But then I noticed Wireless Tag WT516P6Core offline voice module, and since I have contact with the company I managed to get a few more details, notable with regards to the development tools.
US516P6 module specifications:
- MCU – Unisound US516P6 RISC microcontroller (likely Andes NDS32 based) @ 240 MHz with FPU, DSP instruction, FFT accelerator, 242KB SRAM, 2MB flash
- Audio – Built-in power amplifier
- I/Os – 12 castellated holes with UART, GPIO, microphone input, speaker output, VCC, and GND
- Power Supply – Built-in 5V to 3.3V, 3.3V to 1.2V LDO to power the chip
- Dimensions – 19 x 12.88 mm
The solution is designed for “ultra-low-cost” offline voice recognition for smart home appliances, toys, light bulbs, and other products that may benefit from voice control. The UART interface is used for debugging and downloading the (encrypted) firmware.
A demo showing the module connected to an LCD display (via UART to another MCU) to control an air conditioner and/or a light bulb. The sample code is available on 8ms (free registration required) using Blockly visual programming…
This is what the “source code” looks like when clicking on the {} Code tab:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
TurnOnLight=打开电灯@已打开 { "action_config":[], "appType": "hb_m-offline-thirdparty", "welcome":{"type":"custom","text":"小主您好"},"wakeup":{"keyword":[ "小明快来"],"sensitivity":"high","reply":[ "小主我来啦"]},"cmd":{"sensitivity":"high"},"custom_setting":{"timeout_time":10,"timeout_reply":[ "小明快来"]},"exit":{"command":[ "小明退下"],"reply":[ "小主人再见"]},"micarray":{"number": 1, "field":"near"},"language":"cn","custom_voice":{"speaker":"xuanxuan","vol":100,"tone":50,"spd":50,"bright":50},"pin_config":[{"pin":1, "function":"SW_CLK"}, {"pin":2, "function":"SW_D"}, {"pin":3, "function":"GPIO_A25", "params":{ "def_voltage": "low"}}, {"pin":4, "function":"GPIO_A26", "params":{ "def_voltage": "low"}}, {"pin":5, "function":"GPIO_A27", "params":{ "def_voltage": "low"}}, {"pin":6, "function":"GPIO_A28", "params":{ "def_voltage": "low"}}, {"pin":7, "function":"GPIO_B6", "params":{ "def_voltage": "low"}}, {"pin":8, "function":"GPIO_B7", "params":{ "def_voltage": "low"}}, {"pin":21, "function":"GPIO_B2", "params":{ "def_voltage": "low"}}, {"pin":22, "function":"GPIO_B3", "params":{ "def_voltage": "low"}} ] } |
So I guess that’s not exactly the same as the demo uses the Chinese language. Apparently, the firmware can be flashed to the board through an offline programmer (hardware) using a serial programming tool (software).
Documents and tools appear to be available on a website in Chinese that also includes the datasheet for the US516P6 microcontroller.
US516P6 does not show up on Aliexpress, and instead, you’d need to get the model on Taobao for 14.98 RMB (about $2.3 US), or Alibaba. It looks like the software is sold separately together with what looks like a USB to TLL board for programming, aka the “offline programmer”.
Thanks to dgp for the tip.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Impressive for such a tiny module. It’s a proof it doesn’t require a connection to whatever GAFA service provider who decides how to translate your requests!
C$ 3.97 | WT516P6Core/Offline voice module/Voice remote control switch/Serial IOT single microphone IoT module
https://fave.co/2RSq1G6
Did you get any information about which words it understand?
I think it can be customized, but I have not been able to find out how that works. Sometimes the SoC/module company has to do it for their customers, and sometimes online tools are provided ala Picovoice.
I think there are some standard profiles like “light bulb” that you can get a firmware blob for.
If you want custom word sets it seems you need a relationship with unisound to get access to their site.
But you can also pay $15 and get a customised firmware:
https://item.taobao.com/item.htm?spm=a230r.1.14.16.51c5555cmVB7Hr&id=637658509042&ns=1&abbucket=18#detail
Very impressive speech recognition performance !
Been there done that, if they do not openly support their products with all the necessary development stuff including (whatever Blockly is) then dont waste your time and money because thats all it is,
Al Thinker started to sell their VB-01 and VB-02 module and by the time I found the necessary tools they pulled it off the market quoting … hard to get components – all support withdrawn ……
could you share your findings? were you able to download the “SDK”? (not the toolchain in the github).
Do you have any new info on this? I got 4 of these but I cannot do anything with them 🙁