🎉  Happy 13th Birthday Raspberry Pi!   🎂   1,000+ deals in store!   🥳
🎉  Happy 13th Birthday Raspberry Pi!   🎂   1,000+ deals in store!   🥳

Plasma 2040

by Pimoroni

Swathe everything in rainbows with this all-in-one, USB-C powered controller for WS2812/Neopixel and APA102/Dotstar addressable LED strip.

Plasma 2040 is a RP2040-based driver board for addressable LED strip (also known as magical rainbows by the metre). It's designed to make rigging up bits of custom, programmable lighting as straightforward as possible - perfect for whipping up some quick under-cupboard illumination, dramatically underlighting your sofa or providing some atmospheric mood-lighting for your workspace, PC or vivarium.

Plasma 2040 is powered and programmable by USB-C and, because USB-C is capable of drawing up to 3A of power, that's enough to power a healthy chunk of LEDs. There's three useful buttons that you could use for turning the lights on and off or to switch between colours or effects, plus a reset button and an eternally popular onboard RGB LED.

We've also popped a QW/ST connector on there, to make it super easy to plug in Qwiic or STEMMA QT breakouts - how about hooking up an RGB potentiometer to adjust the speed or hue of your lights, an air quality sensor to make your desk lighting into a giant thermometer or tell you when you should crack a window or a light sensor to turn them on automatically when it gets dark?

Features

  • Powered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)
  • 2MB of QSPI flash supporting XiP
  • Compatible with 5V WS2812/Neopixel/SK6812 and APA102/Dotstar/SK9822 LEDs
  • Screw terminals for attaching your LED strip.
  • USB-C connector for power and programming (3A max)
  • Qw/ST (Qwiic/STEMMA QT) connector
  • Low side current sensing (accessible via ADC3)
  • Reset, BOOT and two user buttons (the BOOT button can also be used as a user button)
  • RGB LED
  • Fully-assembled (no soldering required)
  • Measurements: approx 50 x 28 x 12mm (L x W x H, including connectors)
  • C++/MicroPython libraries
  • Schematic
  • Dimensions

LED strip and connectors are sold separately, check out the extras tab for some options!

Software

You can program Plasma 2040 with C/C++ or MicroPython in the same way as you would a Raspberry Pi Pico. You'll get best performance using C++, but if you're a beginner we'd recommend using our batteries included MicroPython build for ease of getting started.

You can also use CircuitPython on your Plasma 2040! CircuitPython is an easy to use, well-established ecosystem with lots of example code and drivers for interfacing with different kinds of hardware.

Check out our beginner friendly tutorial that covers how to hook up different kinds of LEDs to Plasma 2040 and how to use it to build a simple busy light. It includes both MicroPython and CircuitPython code!

Connecting Breakouts

If your breakout has a QW/ST connector on board, you can plug it straight in with a JST-SH to JST-SH cable, or you can easily connect any of our I2C breakouts with a JST-SH to JST-SH cable coupled with a Qw/ST to Breakout Garden adaptor.

We've also broken out a set of I2C pins, analog pins and debug pins so you can solder things like breakouts or analog potentiometers directly to them (or solder on a strip of header and plug the whole shebang into a breadboard).

Notes

  • Our C++/MicroPython software uses the RP2040's PIO state machines to drive each strip separately - this board only has one set of LED strip connectors, but if you're up for some inventive wiring it's possible to drive multiple strips simultaneously, even if they're of different types!
  • If you're curious about how much current your LEDs are consuming, we've incorporated some current sensing circuitry onto this board, which you can measure by reading ADC3. You could use this in your code to do things like adjusting the brightness of your LEDs based on available power!

About RP2040

Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.

One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.

49 customer reviews

5 months ago
Such a great device! Current sensing is great to ensure that the power source is not overloaded, important for driving long LED strips. Hoping to develop some Python skill- this is the “Rainbow” example provided by Pimoroni.
by David about Plasma 2040 via REVIEWS.io
5 months ago
I bought this to try and run some old ws2801 leds bought years ago. They require a clock line and a data line rather than just data and this has a 4th terminal marked clk. I installed circuit Python so I could easily make use of adafruit’s ws2801 libraries. After some trial and error I got the onboard led to colour cycle and the board to control a string of 40+ leds. So everything is working well as far as I’m concerned.
by Anonymous about Plasma 2040 via REVIEWS.io
7 months ago
Easy to connect the lighting strips and programming the controller is a doddle with the pimoroni micro python implementation
by Keith about Plasma 2040 via REVIEWS.io
7 months ago
Worked right out of the box, very easy to get started using microPython and the three user-definable buttons will come in handy. I also appreciate the USB-C connector.
by Johannes about Plasma 2040 via REVIEWS.io
a year ago
Any pico is great for neopixel type projects but the additionla screw terminals make this easy to connect & the PICOW means that controlling via a web page is easy.
by alister about Plasma 2040 via REVIEWS.io
a year ago
Just seems to work straght off out of the box. The info to get started is clear and the sample software wirks well.
by Anonymous about Plasma 2040 via REVIEWS.io
a year ago
Great for learning how to develop for the Pico with loads of example code to get you going. Word of caution, the Pimoroni default constructor for the APA102 object runs the clock at 20Mhz! The resulting waveform is pretty ugly and unreliable, with many glitching LEDs. Luckily, you can override this default in the constructor. Setting to 2Mhz gives a perfect clock signal and will run hundreds of LEDs flawlessly. Add the 2000000 as an additional parameter when calling the object constructor: APA102 led_strip(N_LEDS, pio0, 0, plasma2040::DAT, plasma2040::CLK, 2000000); You can see the difference in the scope traces
by Richard about Plasma 2040 via REVIEWS.io
a year ago
A compact, self-contained board that really simplifies the hardware side of driving WS2812 strips. The documentation could be a bit less cryptic but the schematic helps. With the USB C input supplying 3A it should be all we need for lighting a small model railway diorama. A couple more pin connections for external input buttons would have helped us but overall I am really impressed by the design.
by David about Plasma 2040 via REVIEWS.io
a year ago
works quite well. Would be better if it had bluetooth/wifi
by Thiago about Plasma 2040 via REVIEWS.io
a year ago
Need it to create a HyperHDR at home for my TV. It works great and is a real helper to construct this project.
by Stephane about Plasma 2040 via REVIEWS.io
2 years ago
Onto my second one of these now. I use them with the very cheap WS2812b LED matrix (32x8 and 16x16). In the most recent cases, I am creating fight timers for our AntWeight battle bot arenas. They are mounted in a 3d printed case and will be extended with buttons, speakers or buzzers in the near future. I use them both with the MicroPython libraries and CircuitPython. Annoyingly fonts are an issue with this size, but it was easy enough to knock up a simple version of my own.
by Neil about Plasma 2040 via REVIEWS.io
2 years ago
I wish I had seen this board before spending a small fortune of Xmas lights, had a string of 100 single addressable dot leds and managed to create the effects and routines that make them look amazing. The board is very well constructed, easy to use and write over for. My only complaint is no Bluetooth or WiFi so you can change effects via a web browser or mobile app.
by Andrew about Plasma 2040 via REVIEWS.io
2 years ago
Very interesting board used to control neopixel leds. It would be nice if you could implement serial communication using the appropriate pins. Then you could, for example, control via bluetooth. I was able to use only I2C. I recommend
by Paweł about Plasma 2040 via REVIEWS.io
2 years ago
I think this is the 4th one of these magic little devices I have bought and now that I have found out how to interface it to a Sparkfun Alphanumeric display, with considerable help from the Pimoroni support crew, it is even better. Highly recommended, both the device and the support I have received.
by Michael about Plasma 2040 via REVIEWS.io
2 years ago
I plugged it and played with it in a minute.. Didn't expect it to be so tiny, perfect for my artworks.
by Anonymous about Plasma 2040 via REVIEWS.io
2 years ago
Brilliant! Just enough buttons to add some extra control and it powers the RGB strip I have attached through the USB C connection. Easy to program. I added a 'USB-A to USB-C Cable with On/Off Switch' from The Pi Hut to add an inline on/off switch. I'll be back for another!
by Anonymous about Plasma 2040 via REVIEWS.io
2 years ago
If you’re new to microcontroller development, or just looking for the simplest hassle-free solution for developing a programmable LED strip device, this is very likely to be the microcontroller board for the job. However if you’ve already had experience with Pico / Arduino / Teensy etc and don’t mind putting in a little extra effort then you may want to save your money and buy a Pi Pico instead. Compared to a Pico the Plasma gives you (among a couple of other things) a dedicated led strip connector, a built-in RGB led, 3 extra buttons, USB-C for extra power, a current sensing circuit, a Qw/ST connector, and an LDO for powering 5V LED strips instead of just 3.3V, all in a compact package. However this comes at an extra cost of £10 (almost 4x the cost), and especially considering not all of these features will be needed by you then this isn’t the cheapest option. Also the board doesn’t give you access to as many pins of the microcontroller pins, limiting its functionality and usefulness compared to a Pico. Though at the almost half price sale price I bought this at, even as an experienced developer I found this to be worth the purchase, just for the extra simplicity and compact form factor.
by Liam about Plasma 2040 via REVIEWS.io
3 years ago
Brilliant device and I now have 3 of them for various projects. Pity Pimoroni don't make a plastic case to suit this little beauty!
by Michael about Plasma 2040 via REVIEWS.io
3 years ago
I have bought a few Plasma 2040's so far and they have been absolutely rock solid. My only hope is to see a wireless version (ala Pico W). Add Wifi and I'm likely to buy at least a small handful to make my RGB strips a bit cleverer.
by dan about Plasma 2040 via REVIEWS.io
3 years ago
Needed to debug some neopixel strips, never used a RP2040 but was amazed how easy it was to program and use. Had my strips tested in minutes using a portable power bank. This is likely the first of many RP2040 boards I'll get. Well made board; satisfying USB-C connector and easy terminals for the LED strip. Impressed.
by Stephen about Plasma 2040 via REVIEWS.io
3 years ago
Not really necessary, but this board simplifies life.
by Bernhard about Plasma 2040 via REVIEWS.io
3 years ago
WOW! So quick and easy to use. The example code is so easy to understand and the board is so easy to set up. I was up and running with their demo code in less than 20 minutes! Super board, for a super price!
by Vincent about Plasma 2040 via REVIEWS.io
3 years ago
This is a nice LED controller. Functions quite well with CircuitPython support.
by Bradley about Plasma 2040 via REVIEWS.io
3 years ago
Another useful 2040 variation, this time with two 5V outputs and a current sensing analog input.
by John about Plasma 2040 via REVIEWS.io
3 years ago
Literally perfect for use with the Flexible RGBW LED Strip I bought. Ten minutes of plugging things in and setting up libraries, and I had a disco RGB light show.
by Anonymous about Plasma 2040 via REVIEWS.io
3 years ago
It a huge amount of documentation or community support online for this just yet, I think as it’s fairly new. Was a learning curve for me. Good fun, and not too tricky. I’ve added a reed switch to the GPIO pins to make the LEDs come on when a door is opened.
by Anonymous about Plasma 2040 via REVIEWS.io
3 years ago
So I'm not sure if it was supposed to be preinstalled or if I was supposed to download it somewhere (though I've looked everywhere and could not find it), but my unit was missing the "plasma" python module, and therefore it's basically just a raspberry pi pico with fewer pins, a reset and two built-in buttons. Which is fine, I can work with that, but it's pretty disappointing.
by Eli about Plasma 2040 via REVIEWS.io
3 years ago
I love the Plasma 2040 so much that I bought 6 of them. This allowed me to decorate my Christmas tree (2x100 LEDs), several windows (50 to 150 LEDs each), and two waterproof strings outside (100 LEDs each). I tested several LED strings from Pimoroni (5m Flexible RGB LED Wire / 50 LEDs / WS2812) and from other vendors (10m / 100 LEDs, copper wire or transparent PVC IP67 waterproof / WS212B or SK6812) and they all work great. With a bit of programming and a camera, I was able to get the 3D position of each light on my Christmas tree and windows, and then play unique 3D animations that could not have been done with off-the-shelf LED controllers.
by Raphaël about Plasma 2040 via REVIEWS.io
3 years ago
I was so pleased to find this product, because I wanted to drive an LED strip for some festive lights to go around my window, but was feeling hopeless about how to power it safely with lots of conflicting advice and sketchy, cheap power supplies. So this little thing is amazing, it's USB-C powered and comes with a 2040 microcontroller, all built-in. All you need to do is plug the wires from your LED strip into the terminals and you're ready to go. I used the official Raspberry Pi USB-C power supply to provide the power to the USB port. Programming the thing was super easy, I didn't follow most of the tutorial on the Pimoroni site because it wanted you to install this "Thonny" software which I couldn't get working on my Mac so I just used the normal Raspberry Pi Pico tutorials, using rshell and micropython to upload my code. This worked great and I was up and running with my "festive" Christmas light display on my window in no time. Once you've loaded your program onto the device it will just run it every time you power it on. So I can turn it off at night and then the next evening turn it on again and it just works instantly. So yeah if you are planning on making an LED strip project but intimidated by the myriad of Ardunio tutorials and questionable products from a site named after a rainforest - this is the perfect product for you. No soldering required or expensive tools, just a small flathead screwdriver to screw the terminals on the wires.
by Daniel about Plasma 2040 via REVIEWS.io

3 user photos