Skip to content

RP2040 ItsyBitsy - crash after a short while #103

Description

@DavidMikeSimon

I've installed v11.0.0 on an Adafruit ItsyBitsy. It's connected to a SK6812RGBW light strip, which is powered by a 5v power supply from Adafruit. When connecting to it with HyperHDR v21 on my Windows machine, the lights work for a short while (~5-30 seconds), and then the connection cuts out and the lights freeze. This is how that looks in the logs:

2026-07-12T12:34:15.547Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2026-07-12T12:34:15.552Z [LEDDEVICE0_ADALIGHT] Serial port auto-discovery. Skipping this device for now: USB Serial Device (\\.\COM3 => COM3), VID: 0x239a, PID: 0xcafe
2026-07-12T12:34:15.552Z [LEDDEVICE0_ADALIGHT] Serial port auto-discovery. Found serial port device: USB Serial Device (\\.\COM5 => COM5)
2026-07-12T12:34:15.552Z [LEDDEVICE0_ADALIGHT] Opening UART: COM5
2026-07-12T12:34:15.552Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): COM5, Baud rate [200000]bps
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          COM5
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    \\.\COM5
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       USB Serial Device
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      Microsoft
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0xa
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x2e8a
2026-07-12T12:34:15.556Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      DF64C068977E4D26
2026-07-12T12:34:15.557Z [LEDDEVICE0_ADALIGHT] Detected Rp2040 type board. HyperHDR skips the reset. State: 0, 0
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 255/255, red: 160, green: 160, blue: 160'
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 11.) at 1 msec
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2026-07-12T12:34:15.563Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 20ms
2026-07-12T12:34:15.563Z [COMPONENTCTRL0] LED device: enabled
2026-07-12T12:34:15.564Z [SMOOTHING0] Clearing queued colors before: enabling. Smoothing configuration changed: restarting timer.
2026-07-12T12:34:15.564Z [SMOOTHING0] Smoothing queue is cleared
2026-07-12T12:34:15.564Z [SMOOTHING0] Selecting config (1) => type: Linear, pause: false, settlingTime: 200ms, interval: 40ms (25Hz), antiFlickTres: 0, antiFlickStep: 0, antiFlickTime: 0
2026-07-12T12:34:15.564Z [SMOOTHING0] Using linear smoothing input (1)
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] Ignoring user LED refresh rate. Forcing smoothing refresh rate = 25.00 Hz
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:422) Refresh rate = 25.00 Hz
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 40ms
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:432) Refresh interval updated to 40ms
2026-07-12T12:34:15.564Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:447) LED refresh interval adjustment caused by smoothing configuration change to 40ms (proposed: 40ms)
2026-07-12T12:34:15.644Z [SMOOTHING0] Using linear smoothing procedure (1)
2026-07-12T12:34:40.445Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 0 frames already dropped
2026-07-12T12:34:41.446Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 1 frames already dropped
2026-07-12T12:34:42.447Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 2 frames already dropped
2026-07-12T12:34:43.448Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 3 frames already dropped
2026-07-12T12:34:44.448Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 4 frames already dropped
2026-07-12T12:34:45.448Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:293) Timeout after 1000ms: 5 frames already dropped
2026-07-12T12:34:45.448Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2026-07-12T12:34:46.055Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: COM5
2026-07-12T12:34:46.055Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2026-07-12T12:34:46.055Z [LEDDEVICE0_ADALIGHT] Device 'adalight' is disabled due to an error: 'Timeout writing data to COM5'
2026-07-12T12:34:46.056Z [COMPONENTCTRL0] LED device: disabled

I've tried all the following, but with no change in behavior:

  • Restarting HyperHDR
  • Power cycling the ItsyBitsy
  • Connecting via HyperHDR on a Pi 4 instead of my Windows machine
  • Using a different USB cable
  • Putting a 470ohm resistor in series with the data connection
  • Reducing the baud rate setting in HyperHDR
  • Turning off the handshake setting in HyperHDR
  • Reducing the number of configured LEDs
  • Disconnecting the LEDs and external power supply from the board, just to see if HyperHDR could maintain a connection to it even when it's not driving anything. It cannot. :-(

Not sure what else I can do to debug this. Perhaps I just have a bad board?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions