respeaker
Rust USB control library for Seeed ReSpeaker microphone arrays:
| Model | USB ID | Protocol |
|---|---|---|
| Mic Array v2.0 (XVF-3000) | 2886:0018 |
pixel_ring + tuning.py |
| XVF3800 | 2886:001a |
Seeed xvf_host.py |
Example
use ;
Unified helpers (led(), tuning().doa_angle(), is_voice(), version_string()) work on the two controllable models. Model-specific APIs:
- Mic Array v2:
dev.pixel_ring(),tuning().read("AGCONOFF") - XVF3800:
dev.xvf3800(),tuning().read_xvf("DOA_VALUE"),save_configuration() - reSpeaker Lite:
dev.lite()—firmware_version(),product_name(),serial_number()
reSpeaker Lite
The Lite is detected and identified (Model::Lite, dev.lite(), and
tuning().version_string() reads the firmware version from bcdDevice), but it
cannot be controlled over USB. Its USB firmware presents a UAC2 sound card plus a
DFU interface and answers no vendor control transfers — verified against firmware
2.0.5, where every xvf_host-style and Mic Array v2-style request STALLs. LEDs,
DoA/VAD and DSP parameters therefore return Error::Unsupported, and
Model::has_usb_control() reports false.
On-board DSP control is the XMOS command transport over I2C (device address
0x42, resource id 240 for DFU and 241 for configuration), which needs an I2C
master such as a Raspberry Pi or a XIAO ESP32S3 rather than a USB host. Firmware
updates go over the USB DFU interface with Seeed's xmosdfu tool.
CLI example
Permissions (Linux)
|
&&
On macOS, grant the binary access if the system claims the USB device, or run with appropriate privileges.