neopixel — control of WS2812 (original) (raw)

MicroPython

This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

This module provides a driver for WS2818 / NeoPixel LEDs.

Note

This module is only included by default on the ESP8266, ESP32 and RP2 ports. On STM32 / Pyboard and others, you can either install theneopixel package using mip, or you can download the module directly from micropython-lib and copy it to the filesystem.

class NeoPixel

This class stores pixel data for a WS2812 LED strip connected to a pin. The application should set pixel data and then call NeoPixel.write()when it is ready to update the strip.

For example:

import neopixel

32 LED strip connected to X8.

p = machine.Pin.board.X8 n = neopixel.NeoPixel(p, 32)

Draw a red gradient.

for i in range(32): n[i] = (i * 8, 0, 0)

Update the strip.

n.write()

Constructors

class neopixel.NeoPixel(pin, n, *, bpp=3, timing=1)

Construct an NeoPixel object. The parameters are:

Pixel access methods

NeoPixel.fill(pixel)

Sets the value of all pixels to the specified pixel value (i.e. an RGB/RGBW tuple).

NeoPixel.__len__()

Returns the number of LEDs in the strip.

NeoPixel.__setitem__(index, val)

Set the pixel at index to the value, which is an RGB/RGBW tuple.

NeoPixel.__getitem__(index)

Returns the pixel at index as an RGB/RGBW tuple.

Output methods

NeoPixel.write()

Writes the current pixel data to the strip.