[Showcase] RGB LED Matrix Input Module

71 RGB LED Modules!!!

13 Likes

@Joseph_Schroedl Is there any way to still get in on purchasing? I see the site has it Out of Stock

Nevermind, i see your earlier reply

1 Like

All orders packed up and ready for the post office!

10 Likes

Love the ikea bag lol, can’t wait to get mine!

1 Like

Here is a page I created on my website with instructions for OpenRGB setup. It also has instructions for re-programming the modules with my OpenRGB compatible firmware.

I’ll be adding documentation soon with easier to understand pinouts and instructions for flashing CircuitPython. But, the instructions for flashing CircuitPython are the same as any RP2040 microcontroller. Except, you’ll still need to use the BOOTSEL switch on the back of the module to get into the UF2 bootloader.

4 Likes

Wow this is more than I expected! Can’t wait to get mine! Cheers

1 Like

All packages have been handed to the post office!

7 Likes

Saw my shipment notification from Etsy. Awesome! Can’t wait. :slight_smile:

1 Like

Out for delivery today! Woohoo!

2 Likes

@Joseph_Schroedl hmm…looking at your start instructions, you use Adalight protocol to control over the USB-Serial bridge? So looks like GitHub - adafruit/Adalight is the base code, and I can fully figure out the protocol specs (don’t see any listed anywhere else) from Adalight/Processing/Colorswirl/Colorswirl.pde at master · adafruit/Adalight · GitHub in order to figure out how to send via my language/library of choice? Since I feel like I want to automate things, and don’t want to run OpenRGB always.

Based on my looking at your repo, GitHub - corndog2000/RGB-LED-Matrix-Input-Module is the PCB/hardware side of things, but is GitHub - corndog2000/RGB-LED-Matrix-Rust the firmware side of things? Or is that somewhere else? Mostly just curious to see what you have on the firmware side.

EDIT: Hm, looks more like adalight-multi-strip/adalight-multi-strip.ino at main · corndog2000/adalight-multi-strip · GitHub is the firmware code?

1 Like

The code is this repository. It’s listed on step 8 on the instructions page.

1 Like

Thanks. I must have missed seeing that.

But am I correct on the Adalight protocol, where I can go to get that info?

1 Like

Yes, it does use the Adafruit Adalight protocol. You can see in this Adafruit repository how they interact with the hardware using a Processing program.

Great, thanks.

I haz LIGHTS!

Colorwheel

Some feedback on the setup:

Something interesting for Linux folks to know (maybe make a note on your start page), it comes in as a ttyACM device, not a ttyUSB device as I would have thought it would have.

Expecting everybody to have python installed on their system, especially Windows, is unfortunate. Especially with a hardcoded filename, would be nicer to have it as a parameter. Even better, for the rest of the folks, would be a static HTML + JS page on your website that’d let them upload the Map file, and spit out a modified/fixed Map file to load up.

When I tried an effect other than Color Wheel, I get some bad behavior. Or correction, when I try it at less than 100% brightness. I tried Rainbow Wave, and at 100% brightness it’s fine, but when I lower the brightness, especially down around 11-15% or so, it starts to glitch the colors. And when I switch back to Color Wheel, I get a bit of glitching at the very bottom.

Glitching for rainbow wave at low brightness.

So when I put it back at 100%, it mostly works, with a little glitching at the bottom. But after a time it de-glitches and goes back to correct. If I didn’t capture it on camera before, I’d be very confused.

I tried restarting and when I started OpenRGB back up, loaded the modified Map, even at full brightness I was getting some wonky flashing/corruption.

And I’m not sure that it’s a bandwidth issue. I see in Serial Ports (USB and UART) — Arduino-Pico 3.6.0 documentation that while it accepts a baud rate, it ignores it, so should be at the full 12 Mbps Full Speed data rate then, right? So even at 9216 + header bits per frame, at 60 fps that’s only ~0.5 Mbps, so the USB bus would have to be REALLY loaded up with other stuff to really have any issues.

So I think we’re left with something in the firmware, which seems pretty simply “receive, validate, write out” which the RP2040 should be plenty fast enough, unless you have the clock set way low. Or it’s OpenRGB, which according to system monitor is only using 0.6% CPU, and ~61MB of memory. And overall, the CPU usage is basically nothing, so unless it’s something in the Linux kernel drivers being really inefficient or the Linux version of OpenRGB being really inefficient, not sure what the issue could be. Thoughts on troubleshooting?

I am using the AppImage version, not .deb installed of OpenRGB, so maybe that’s it?

2 Likes

Huh, that’s strange with the glitching behavior. I can set the brightness to the minimum in OpenRGB on Windows 11 and I don’t have that issue.

The firmware communicates over Serial at 115200 baud.

1 Like

So it’s hooked up to the Serial UART pins on the RP2040, not the USB-Serial pins?

1 Like

You could try the experimental release of OpenRGB. Version 0.9 which is their latest stable version is 9 months old.

You’re using 0.9 or experimental?

1 Like

I am using v0.9 without issues on Windows 11. But, I did not test 0.9 on Linux.

It’s connected to the USB pins on the RP2040. That way you can reprogram the RP2040 with UF2 or with Arduino.
image