I have successfully used a number of Plasma2040 boards in the past but now have a project where the small size of a SEEED 2040 is necessary. I would like to make use of the “rainbows.py” code directly for this application with a WS2812 LED string and have tried loading the
“pimoroni-pico-v1.21.0-micropython.uf2”
file into the SEEED 2040 and running the “rainbows.py” programme from within Thonny but with no success. I think the problem might lie with the I2C side of things but am not sufficiently experienced to be able to sort it myself. Can anybody point me in the right direction, please ?
The Pimoroni Plasma boards don’t use i2c to drive the LED’s. They do however use specific GPIO for the clock and data though. The LED Clock is GP14 and the LED Data is GP15. They also use output level shifting to go from 3.3V to 5V.
plasma2350_non_w.sch
I don’t see those GP being brought out on the Seed 2040? And I don’t know how you reassign them to different pins? There are a few sharp tacks here on the forum that may be able to help though.
Thanks for your prompt reply alphanumeric. I had assumed that as the LED strip interface is 3 wire, and that is also the output arrangement on the Plasma2040, it only used the I2C data line and not the clock. I therefore only used the “SDA” output on the SEEED. Perhaps that is the root of my problem.
The Plasma boards do use i2c, just not for the LED’s. I have an Encoder wheel connected to the QWIC connector of my Plasma 2350. I use it to adjust the brightness and switch colors / patterns.
I don’t have a Seed 2040 to tinker with. I do have a Tiny 2040, Tiny 2350 and tiny FX. It’s too bad that the Tiny FX doesn’t do strips. It will do a single RGB Led, but not strips. I know thats not much help for you but that’s all I have. :(
I assume you are using this Seeed-Studio RP2040: Getting Started with Seeed Studio XIAO RP2040 | Seeed Studio Wiki
Since the pinout is different, you cannot use a Pimoroni flavor of Micropython (they only support their own devices). So the first thing to search is suitable firmware.
Secondly, the XIAO-format supports a number of "BFF"s (best friends forever) expansion boards. One of them is a neo-pixel board that you can use to drive WS2812 strips. It does the same sort of level shifting on the signal line as the Plasma.
If you don’t manage to find a MicroPython port for the Seeed-Studio board, you can use Circuitpython. Works well and there is even a complete learning guide for the neopixel BFFaddon: Overview | Adafruit NeoPixel Driver BFF | Adafruit Learning System
Thank you bablokb, I do appreciate you taking the time to respond to my query although I suspect by now it will have become obvious that I am still firmly in the “novice” category. My original thought was that since the SEEED 2040 used the same chip, it might somehow be possible to get the same functionality as the Plasma2040 in driving a ws2812 LED strip. This all started with an idea that I could exploit the very small “footprint” of the SEEED device; if, as seems likely, this is not possible then my whole intention is a non-starter so I shall have to think of something else to keep the very matter active! Thanks again for your response, it is much appreciated.