Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
Grablo Help Grablo Help
문의하기
Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
loading
  1. Home
  2. User Manuals
  3. I/O Device
  4. NeoPixel (WS281x) LED
Updated on August 11, 2025

User Manuals

  • Folder icon closed Folder open iconQuick Start Guide
    • Grablo!
    • Basic Concepts
  • Folder icon closed Folder open iconProject
    • General
    • Sharing Project
  • Folder icon closed Folder open iconLogic
    • Logic
    • Control Group
    • Control
    • Condition Group
    • Action Group
    • Condition
      • General
      • Type
        • Always Met
        • Once Met
        • Variable Comparison
        • Schedule
        • Time Range
        • Time Interval
        • Condition Reference
        • Action Reference
        • Change Detection
        • Custom Condition
    • Action
      • General
      • Type
        • Write Variable
        • I/O Device Control
        • Time Delay
        • Timer
        • Display Image
        • Play Media
        • Synthesizer
        • Audio Recording
        • Audio Transform
        • Shell Command
        • Speech-to-Text
        • Text-to-Speech
        • File System
        • Read/Write File
        • Database
        • HTTP Communication
        • MQTT Communication
        • OPC UA Communication
        • Modbus Communication
        • Send Email
        • Telegram Message
        • User Defined Communication
        • PID Control
        • Statistics
        • Collection
        • Custom Action
  • Folder icon closed Folder open iconDashboard
    • General
    • Widgets
  • Folder icon closed Folder open iconSetting
    • GPIO
    • Variables
    • I/O Device
    • File Editor
    • Collection
    • Timer
    • Image Viewer
    • Audio Transfrom
    • Media Player
    • Synthesizer
    • Text-to-Speech
    • Speech-to-Text
    • Audio Recorder
    • MQTT Client
    • OPC UA Client
    • Modbus
    • Email Client
    • Telegram Bot
    • Database
    • User Defined Communication
    • PID Control
    • Statistics
  • Folder icon closed Folder open iconI/O Device
    • DS18B20 Digital Temperature Sensor
    • MAX31865 RTD Temperature Sensor
    • TinyGPS++ GPS Library
    • BMP180 Digital Pressure and Temperature Sensor
    • AHTx0 Temperature and Humidity Sensor
    • SHT2x Temperature and Humidity Sensor
    • Servo Motor Control
    • PWM Signal Output
    • PWM Signal Monitoring
    • Hardware PWM Signal Output
    • LED Control
    • Push Button Input
    • Digital I/O
    • Stepper Motor Control
    • High Speed Counter
    • ADS1x15 ADC
    • ADXL345 3-Axis Accelerometer
    • BME280 Temperature, Humidity, Pressure Sensor
    • BMP280 Temperature, Pressure Sensor
    • MLX90614 Infrared Temperature Sensor
    • MCP4725 DAC
    • QMC5883L 3-Axis Magnetometer
    • SHT31 Digital Temperature and Humidity Sensor
    • TCS34725 RGB Color Sensor
    • VEML6070 UV Sensor
    • BH1750 Digital Light Intensity Sensor
    • DS3231 RTC High-Precision Real-Time Clock
    • MPU-9250 9-Axis IMU Sensor
    • CCS811 Carbon Dioxide and TVOC Air Quality Sensor
    • VL53L0X ToF Laser Distance Sensor
    • TFmini Plus(S) LiDAR Distance Sensor
    • MAX7219 8-Digit 7-Segment Display
    • PCF8574 LCD Display Driver
    • HC-SR04 Ultrasonic Distance Sensor
    • LED Brightness Control
    • RGB LED Color Control
    • DC Motor Control
    • AT24C256 EEPROM Memory
    • DHTxx Temperature and Humidity Sensor
    • MCP3xxx ADC
    • LCD Display Driver (MCP23008, MCP23017)
    • MFRC522 RFID Reader
    • Passive Buzzer
    • NeoPixel (WS281x) LED
    • Infrared (IR) Receiver
    • NeoPixel Matrix
    • ST77xx TFT Color LCD
    • ILI9341 TFT Color LCD
    • SSD1306 0.96-inch Monochrome OLED Display
    • SH1106 1.3-inch Monochrome OLED Display
    • MAX7219 8×8 LED Dot Matrix
    • HT16K33 4-Digit 7-Segment Display
    • HX711 Load Cell 24-bit AD Converter
    • TCS3200 RGB Color Sensor
    • MPU6050 6-Axis Gyro Accelerometer
    • TM1637 4-Digit 7-Segment Display
    • PM2008(M) Particulate Matter Sensor
    • PMS x003 Particulate Matter Sensor
    • MAX30102 SpO2 and Heart Rate Sensor
    • AS608, FPM10A Fingerprint Sensor
    • TTP229 Capacitive 16-Key Touch Keypad
    • 4×4 Keypad Matrix
    • Analog to Digital Converter (ADC)
    • Digital to Analog Converter (DAC)
    • RPM Monitor
    • PCA9685 16-Channel 12-Bit PWM Servo Driver
    • INA219 DC Current Sensor
    • VL6180X ToF Distance Sensor
    • Custom Digital Waveform Output
    • NRF24L01 2.4GHz RF Module
  • Folder icon closed Folder open iconBlock Coding
    • General
    • Blocks
      • Values
      • Logic
      • Loop
      • Math
      • Date/Time
      • Text
      • Byte Array
      • List
      • Type Conversion
      • Unit Conversion
      • Science
      • Bit/Byte
      • Complex Numbers/Vectors
      • JSON
      • XML
      • Local Variables
      • Local Functions
  • Folder icon closed Folder open iconConnect & Run
    • Hardware and Operating System
    • Grablo Package Installation
    • Connect and Run

NeoPixel (WS281x) LED

Estimated reading: 5 minutes 349 views

Overview

NeoPixel (WS281x) RGB LED. NeoPixel is Adafruit’s model name for products that integrate control chips like WS2811/2812 with LEDs. It has the advantage of being able to control the colors of many LEDs at high speed with a single pin. It can be configured in various shapes such as strips, rings, and matrices.


Compatible Modules
  • WS281x (WS2811, WS2812…)
  • SK6812


Supported GPIO
  • Raspberry Pi 0~4



Commands

[INIT]

Enters initial configuration settings.

Item Type Description
GPIO Pin * WRITE Enter the GPIO pin number connected to the LEDs.
LED Count ** WRITE Enter the number of LEDs connected to the pin.
Module Type WRITE Select the module type. (WS281x,SK6812)
Operating Frequency WRITE Select the module’s operating frequency. (400kHz, 800kHz)
RGB Order WRITE Select the module’s RGB order. (RGB,RBG,GRB,GBR,BRG,BGR,RGBW,RBGW,GRBW,GBRW,BRGW,BGRW)
* Depending on the Raspberry Pi model, only the GPIO pins listed below can be used.
** Theoretically, up to 2700 LEDs can be connected to one pin. However, due to power supply and signal quality issues, the actual number of connectable LEDs may be smaller.
** When using the SPI0 MOSI pin (GPIO 10 or 38), the LED count must be set to 8 or more. Otherwise, LED colors and positions may be displayed differently than configured.

GPIO Number Name Raspberry Pi Model
10 SPI0 MOSI All models (except 5)
12 PWM0 All models (except A, B, 5)
13 PWM1 All models (except A, B, 5)
18 PWM0 All models (except 5)
19 PWM1 All models (except A, B, 5)
38 SPI0 MOSI Compute module
40 PWM0 Compute module
41 PWM1 Compute module
45 PWM1 Compute module
52 PWM0 Compute module
53 PWM1 Compute module

​

[SET_BRIGHTNESS]

Sets the brightness of the LEDs.

Item Type Description
Brightness WRITE Controls the brightness of all connected LEDs. (0~255)

​

[SET_PIXEL_COLOR]

Sets the color of an LED at a specific position. The SHOW command must be executed for the color to be displayed.

Item Type Description
Position WRITE The position of the LED to set the color for. Starts from 0.
Color Type WRITE Select the type of color to set. (RGB or HSV)


Color Type: RGB

Item Type Description
R WRITE Enter the R component of the color. (0~255)
G WRITE Enter the G component of the color. (0~255)
B WRITE Enter the B component of the color. (0~255)
W WRITE Enter the W component of the color. (0~255, RGBW type LEDs only)

Color Type: HSV

Item Type Description
H WRITE Enter the H (Hue) component of the color. (0~360)
S WRITE Enter the S (Saturation) component of the color. (0~100)
V WRITE Enter the V (Value, brightness) component of the color. (0~100)

​

[SET_PIXELS_COLOR]

Sets the color of multiple LEDs. The SHOW command must be executed for the colors to be displayed.

Item Type Description
Start Position WRITE The starting position of the LEDs to set the color for. The first LED position is 0.
Count WRITE Enter the number of LEDs to set the color for.
Color Type WRITE Select the type of color to set.


Color Type: RGB

Item Type Description
R WRITE Enter the R component of the color. (0~255)
G WRITE Enter the G component of the color. (0~255)
B WRITE Enter the B component of the color. (0~255)
W WRITE Enter the W component of the color. (0~255, RGBW type LEDs only)

Color Type: HSV

Item Type Description
H WRITE Enter the H (Hue) component of the color. (0~360)
S WRITE Enter the S (Saturation) component of the color. (0~100)
V WRITE Enter the V (Value, brightness) component of the color. (0~100)


[SHOW]

Displays the configured colors on the LEDs.

​

[CLEAR]

Turns off all LEDs.

​

Example

Objective

When the dashboard button is pressed, light up the NeoPixels one by one in rainbow colors at 0.1-second intervals.


Parts
Part Quantity
Raspberry Pi 4 * 1
WS2812 (16 LED) 1
5V DC Power Supply 1
* Other hardware can also be used. Refer to Supported GPIO.


Wiring

Connect the following pins horizontally to each other.

5V DC Power ** WS2812 LED GPIO
+ +5V ​
​ Din 12 *
– GND GND
* Refer to the available GPIO pin table.
** Use an appropriate external DC Power Supply considering the voltage and current consumption of the LEDs.


Project Link


Limitations

PWM

When using NeoPixels with PWM0, PWM1 pins, conflicts may occur with Raspberry Pi audio, causing improper operation. This is because audio also uses the Raspberry Pi’s hardware PWM. Therefore, in this case, you can use NeoPixels normally through PWM pins by disabling Raspberry Pi audio as shown below. However, in this case, the onboard audio (3.5mm audio jack on the side) cannot be used, and audio output through HDMI or USB sound cards must be used.

Enter the following command in the Raspberry Pi terminal to create a file.

sudo nano /etc/modprobe.d/snd-blacklist.conf


Add the following content to the end of the file.

blacklist snd_bcm2835


Press Ctrl + O -> Enter -> Ctrl + X to save and exit the file.


Enter the following command to reboot the Raspberry Pi.

sudo reboot


SPI

When using the SPI-MOSI pin with a large number of NeoPixels (approximately 340 or more), the SPI transfer buffer size must be increased.

Enter the following command in the Raspberry Pi terminal to edit the file.

sudo nano /boot/cmdline.txt


Add the following content to the end of the file.

spidev.bufsiz=32768


Press Ctrl + O -> Enter -> Ctrl + X to save and exit the file.


Enter the following command to reboot the Raspberry Pi.

sudo reboot


For Raspberry Pi 3 and 4, additional modifications are required as shown below.

Enter the following command in the terminal to edit the file.

sudo nano /boot/config.txt


Add the following to the end.

  • Raspberry Pi 3
core_freq=250

  • Raspberry Pi 4
core_freq=500

core_freq_min=500


Press Ctrl + O -> Enter -> Ctrl + X to save and exit the file.


Enter the following command to reboot the Raspberry Pi.

sudo reboot

​

Changing the SPI settings as described above may cause other devices using SPI communication to not work properly. Therefore, to use other SPI devices, the settings must be changed back to their original state.


References

Datasheet (WS2811)

Datasheet (WS2812)

Datasheet (SK6812)

Library

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

NeoPixel (WS281x) LED

Or copy link

Clipboard Icon
콘탠츠

ㅤ

Grablo Inc.
support@grablo.co

Site Links

  • Grablo Home
  • Grablo App

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.