Store

Little Bird

$36.80 |
In stock
No reviews yet

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...

Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout
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
LED strip and connectors are sold separately, check out the extras tab for some options!

Getting Started

Plasma 2040 is firmware agnostic! You can program it with C/C++ or MicroPython in the same way as you would a Raspberry Pi Pico. You can find (lots) more information on how to do that (as well as download links for the firmware/SDK) on the RP2040 landing page. You can find documentation for our MicroPython Plasma module here.

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. Click here to download the CircuitPython firmware for Plasma 2040 and click here for a getting started guide.

Click here for a 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.

You can find a list of which breakouts are currently compatible with our C++/MicroPython build here.

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.

Jargon buster

Plain-language definitions for the technical terms used above.

ADC
An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
breakout
A breakout is a small circuit board that makes a tiny or hard-to-solder component easier to connect to with standard pins. It matters because this OLED module can be wired into a microcontroller project without needing to solder directly to the display’s fine contacts.
CircuitPython
A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
GPIO
General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
LED
A light-emitting diode is a small electronic component that lights up when current flows through it in the correct direction. In this kit, LEDs create the flashing effect, so polarity and correct soldering matter for the project to work.
microcontroller
A microcontroller is a small computer on a chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
MicroPython
A version of the Python programming language made to run on microcontrollers. It matters because it lets beginners write readable code to control LEDs, sensors, motors and displays without needing to start with lower-level languages.
NeoPixel
A type of addressable LED system where colour data is sent along a single digital data line from one LED or controller to the next. Compatibility matters because the timing and signal format must match for the lights or driver board to respond correctly.
PWM
Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
Qwiic
Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
RGB
Short for red, green and blue, usually referring to an LED that can mix those three colours. It matters because controlling an RGB LED teaches how separate outputs combine to create different colours.
RP2040
A microcontroller chip used on many maker boards, with enough speed and flexible I/O for some camera and display projects. Compatibility with RP2040 matters because camera modules often need many pins and careful timing to read image data successfully.
SPI
A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
SRAM
Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
STEMMA QT
A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
UART
UART is a simple serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
USB-C
A modern reversible USB connector used for power and data connections. On this product it matters because it can connect directly to a computer as well as to a microcontroller project.
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.