A Raspberry Pi Pico powered Neopixel RGB matrix that can be controlled via WebUSB.
This Arduino sketch uses the Adafruit_TinyUSB library to make the device WebUSB compatible and receives data from the web application which is then converted into colour values of the RGB LEDs.
https://webusb-rgb-matrix.nico.dev/
https://github.com/nico-martin/webusb-rgb-matrix-ui
One small problem I encountered is that I could not change the USB product name (which is displayed in the browser notification) via the sketch. I have found two ways to do this:
// \Arduino\libraries\Adafruit_TinyUSB_Library\src\arduino\Adafruit_USBD_Device.cpp#67
#ifndef USB_PRODUCT
#define USB_PRODUCT "My cool name"
#endif
The boards.txt is a file that contains informations about the installed devices.
For the Raspberry Pi Pico for example we can change the rpipico.build.usb_product
value:
// \ArduinoData\packages\rp2040\hardware\rp2040\2.0.0\boards.txt#42
rpipico.build.usb_product="My cool name"