Skip to content

LEDs ReSpeaker Mic Array v2.0 #354

Description

@tobuh

Hi

I have problems when running the LED examples for my ReSpeaker device. My setup:

My LVA runs fine and smooth, until I start the LED example. When I start the python script, the LED show up full white, and LVA does not react any more on voice. I noticed, the sound device is not present any more, I needed to reconnect the USB to the ReSpeaker.

I also run the pixel_ring example project (https://github.com/respeaker/pixel_ring) in parallel to LVA, without any interference to LVA while the LEDs blink. So I do not think this is a power problem.

Before:

$ sudo arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: ArrayUAC10 [ReSpeaker 4 Mic Array (UAC1.0)], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

After start of the script:

$ sudo arecord -l
**** List of CAPTURE Hardware Devices ****

Here is what happened during connect of LEDs in LVA service:

Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:= connection is CONNECTING
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< GET / HTTP/1.1
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Host: localhost:6055
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Upgrade: websocket
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Connection: Upgrade
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Sec-WebSocket-Key: VXpx54wYWK33D8n4FVWK/A==
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Sec-WebSocket-Version: 13
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< User-Agent: Python/3.13 websockets/16.0
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> HTTP/1.1 101 Switching Protocols
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Upgrade: websocket
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Connection: Upgrade
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Sec-WebSocket-Accept: KsR/5n81Ga4gTa4GeCp2+1oVD1g=
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Date: Fri, 17 Jul 2026 15:12:22 GMT
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> Server: Python/3.13 websockets/12.0
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: INFO:websockets.server:connection open
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:= connection is OPEN
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: INFO:linux_voice_assistant.peripheral_api:Peripheral client connected: ('127.0.0.1', 58106)
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> TEXT '{"event": "snapshot", "data": {"muted": false, ...t 26,4 Grad Celsius."}}' [210 bytes]
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> TEXT '{"event": "idle"}' [17 bytes]
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< TEXT '{"command": "register_light", "data": {"name": ...rts_brightness": true}}' [197 bytes]
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: DEBUG:linux_voice_assistant.peripheral_api:Peripheral command received: register_light
Jul 17 16:12:22 voice-1 docker-entrypoint.sh[934]: INFO:linux_voice_assistant.peripheral_api:Light registered: led_ring (effects=['Voice Assistant'])
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:% sending keepalive ping
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> PING 14 57 23 cd [binary, 4 bytes]
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< PONG 14 57 23 cd [binary, 4 bytes]
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:% received keepalive pong
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:< PING fb 73 8c c0 [binary, 4 bytes]
Jul 17 16:12:42 voice-1 docker-entrypoint.sh[934]: DEBUG:websockets.server:> PONG fb 73 8c c0 [binary, 4 bytes]

Here is the startup of the LED script:

2026-07-17 16:12:22,319  DEBUG     asyncio  Using selector: EpollSelector
2026-07-17 16:12:22,398  INFO      respeaker-usb  ReSpeaker Mic Array v2.0 found (USB 2886:0018, bus 1, addr 3)
2026-07-17 16:12:22,400  DEBUG     respeaker-usb  LED animation → twinkle
2026-07-17 16:12:22,401  INFO      respeaker-usb  ReSpeaker Mic Array v2.0 controller started – connecting to ws://localhost:6055
2026-07-17 16:12:22,401  INFO      respeaker-usb  Connecting to LVA at ws://localhost:6055 …
2026-07-17 16:12:22,906  DEBUG     websockets.client  = connection is CONNECTING
2026-07-17 16:12:22,909  DEBUG     websockets.client  > GET / HTTP/1.1
2026-07-17 16:12:22,909  DEBUG     websockets.client  > Host: localhost:6055
2026-07-17 16:12:22,910  DEBUG     websockets.client  > Upgrade: websocket
2026-07-17 16:12:22,910  DEBUG     websockets.client  > Connection: Upgrade
2026-07-17 16:12:22,911  DEBUG     websockets.client  > Sec-WebSocket-Key: VXpx54wYWK33D8n4FVWK/A==
2026-07-17 16:12:22,911  DEBUG     websockets.client  > Sec-WebSocket-Version: 13
2026-07-17 16:12:22,912  DEBUG     websockets.client  > Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
2026-07-17 16:12:22,912  DEBUG     websockets.client  > User-Agent: Python/3.13 websockets/16.0
2026-07-17 16:12:22,970  DEBUG     websockets.client  < HTTP/1.1 101 Switching Protocols
2026-07-17 16:12:22,970  DEBUG     websockets.client  < Upgrade: websocket
2026-07-17 16:12:22,971  DEBUG     websockets.client  < Connection: Upgrade
2026-07-17 16:12:22,971  DEBUG     websockets.client  < Sec-WebSocket-Accept: KsR/5n81Ga4gTa4GeCp2+1oVD1g=
2026-07-17 16:12:22,972  DEBUG     websockets.client  < Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=12; client_max_window_bits=12
2026-07-17 16:12:22,972  DEBUG     websockets.client  < Date: Fri, 17 Jul 2026 15:12:22 GMT
2026-07-17 16:12:22,973  DEBUG     websockets.client  < Server: Python/3.13 websockets/12.0
2026-07-17 16:12:22,975  DEBUG     websockets.client  = connection is OPEN
2026-07-17 16:12:22,976  INFO      respeaker-usb  Connected to LVA peripheral API
2026-07-17 16:12:22,977  DEBUG     websockets.client  > TEXT '{"command": "register_light", "data": {"name": ...rts_brightness": true}}' [197 bytes]
2026-07-17 16:12:22,980  DEBUG     websockets.client  < TEXT '{"event": "snapshot", "data": {"muted": false, ...t 26,4 Grad Celsius."}}' [210 bytes]
2026-07-17 16:12:22,982  DEBUG     respeaker-usb  Event: snapshot  data={'muted': False, 'volume': 0.7, 'ha_connected': True, 'last_stt_text': 'Wie viel Grad sind es im Wohlzimmer?', 'last_tts_text': 'Im Wohnzimmer sind es derzeit 26,4 Grad Celsius.'}
2026-07-17 16:12:22,984  DEBUG     websockets.client  < TEXT '{"event": "idle"}' [17 bytes]
2026-07-17 16:12:22,985  DEBUG     respeaker-usb  Event: idle  data={}
2026-07-17 16:12:22,986  DEBUG     respeaker-usb  LED animation → idle

Do you have any idea what could go wrong here?

My first impression: Some part of the communication to the LEDs crashes the whole ReSpeaker device.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions