README.md
Plasma Stick MicroPython Examples
- About Plasma Stick
- Plasma Library
- Using Breakouts
- Basic Examples
- Advanced Examples
- Wireless Examples
- Other Resources
About Plasma Stick
Plasma Stick 2040 W is a compact controller for WS2812 strip, powered by Raspberry Pi Pico W and perfect for easy, seasonal lighting. It has built in ✨wireless connectivity✨, courtesy of the onboard Pico W.
You can buy one on its own or in a kit:
Plasma Stick ships with MicroPython firmware pre-loaded, but you can download the most recent version at the link below (you'll want the pimoroni-picow
image).
Plasma Library
You can control your WS2812 / NeoPixel™ strip using our handy MicroPython Plasma library.
Note that the examples in this directory default to a RGB colour order to match the LEDs in the Wireless Plasma Kit. If you're using different LEDs you may need to adjust the colour order in your code - most of the other addressable LEDs we sell are GRB.
Using Breakouts
Plasma Stick has a Qw/ST (Qwiic/STEMMA QT) connector. Breakouts with Qw/ST connectors, can be plugged straight in with a JST-SH to JST-SH cable. You can connect I2C Breakout Garden breakouts without Qw/ST connectors using a JST-SH to JST-SH cable and a Qw/ST to Breakout Garden adaptor.
Plasma Stick uses GP4 and GP5 for its I2C interface. You can use the constants in the shared pimoroni
module to set up the I2C interface:
from pimoroni_i2c import PimoroniI2C
from pimoroni import BREAKOUT_GARDEN_I2C_PINS
i2c = PimoroniI2C(**BREAKOUT_GARDEN_I2C_PINS)
Alternatively, you can specify the pin numbers directly:
from pimoroni_i2c import PimoroniI2C
i2c = PimoroniI2C(sda=(4), scl=(5))
Basic Examples
Alternating Blinkies
A simple example with two alternating colours, great for festive lights!
Fire
A simple 🔥 fire effect example 🤘 (warning, flashy).
Moon
Spooky moon simulator - the LEDs will get brighter as midnight approaches! Needs to be run from Thonny to get the correct time.
Pulse
Adjust the brightness or saturation of the LEDs using a sine wave.
Rainbows
Some good old fashioned rainbows!
Snow
Snow in a bottle!
Sparkles
A festive, customisable sparkly effect.
Thermometer
Reads the temperature from the Pico W's internal temperature sensor and changes the LED strip an appropriate colour.
Tree
A Christmas tree simulator.
Advanced Examples
These examples require additional hardware.
CO2
Reads CO2 level from a SCD41 CO2 breakout and turns the LED strip an appropriate colour.
Encoder
Adjust the colour of your LEDs easily with an RGB Encoder breakout.
Moon (RTC)
Spooky moon simulator - the LEDs will get brighter as midnight approaches! Gets the time from a RV3028 RTC breakout.
PIR
Connect a PIR motion sensor and trigger some ominous effects. We like these ones - we connected ours to the QwST connector using this cable and some socket to socket jumper jerky.
Thermometer (BME280)
Reads the temperature from a BME280 breakout and changes the LED strip an appropriate colour.
Wireless Examples
The wireless examples need network_manager.py
and WIFI_CONFIG.py
from the common
directory to be saved to your Pico W. Open up WIFI_CONFIG.py
in Thonny to add your wifi details (and save it when you're done).
Cheerlights
Sets your LED strip to the current #cheerlights colour. Find out more about the Cheerlights API at [https://cheerlights.com/].
Weather
This Plasma Stick example connects to Open Meteo to access the current weather conditions. It then does some cool weather appropriate stuff with LEDs. Find out more about the Open Meteo API at [https://open-meteo.com].
Other Resources
Here are some Plasma Stick community projects and resources that you might find useful! Note that code at the links below has not been tested by us and we're not able to offer support with it.
- 🔗 MQTT Script for Plasma Stick
- 🔗 Pimoroni Wireless Plasma Kit - Server
- 🔗 Plasma LEDs
- 🔗 Album Art Bottle LEDs
- 🔗 HomeAssistant Plasma - Micropython script to integrate Pimoroni Plasma Stick 2040W to Home Assistant via MQTT