Flash Plasma Firmware to regular Pico?

Obviously I could simply try this myself, but maybe someone else already tried this out: Can I use the Plasma firmware on a regular Pico 2350? When I check the API of the “Plasma”-variant of Micropython, it contains a constructor where one can set the MOSI and Clock line to any GPIO pin. This leads me to suspect that I can simply use the Plasma MicroPython firmware on a regular Pico.

I would obviously power the LED strip independently from a 5V power supply, and only connect MOSI, CLK and ground to the Pico.

Edit: Of course the regular Pico does not have a level shifter, but I never had an issue driving my APA102 strip with 3.3v from a regular Raspberry Pi.

Ok, I tried with an old 2040 Pico, flashing the “plasma_2040-v1.0.0-micropython-with-filesystem.uf2“ firmware: It works absolutely fine! I used the default GPIO 14 for clock, and GPIO 15 for MOSI.

My take: If you can drive the strip from its USB-C power, then use the Plasma. If an external power supply is required anyway (as with my >500 LED strip), then one can also use a regular Pico.

Many LED strips are now 3v3 tolerant for the data-signals. But with increased length you will find that you do need the level-shifter.

I’m not so sure about this (speaking for APA102 strips only): I believe that each LED generates its own output signal for the next LED in the strip, and this signal will be 5V. Only the very first LED is seeing the 3.3V from the Pico. If this first LED is fine with the signal, the rest of the LEDs will work as well.

Longer strips will start to flicker at some point, this is true. One can counter this with more power supplies distributed along the strip, and/or with lowering the overall brightness, and/or with lowering the SPI bus speed. With the default 20MHz, my 550 LED strip starts to flicker in the middle. With a bus speed of 6MHz, it works for the full length.

Edit: More power or less power consumption does not fix the flicker problem, only lowering the bus speed helps. I tested this with both the Plasma 2350 and with a regular Pico 2: The strip behaves exactly the same, so the level shifter has no impact.

I think the AP102 are different compared to the WS2812B. The latter don’t just flicker, the individual pixels are off or have random values once the strip is too long. But as I said, my newer strips are much more robust in this respect.