Skip to main content

LED Protocol Commands

Overview

  • Bus: WS2812 single wire, APA102 two wire
  • Connections: one or two pins (SDO, SCL), and ground
  • Output type: 1.65-5volts
  • Maximum voltage: 5volts

WS2812/SK6812 and APA102/SK9822 are common RGB LEDs with a one and two wire interface.

LEDs are power hungry, up to 60mA each at full brightness. The programmable power supply is rated for 400mA maximum. The LEDs will need an external power supply when driving more than a few in a strip.

Connections

WS2812/SK6812/'NeoPixel'

Bus PirateDirectionCircuitDescription
SDODINSerial Data Out
GNDGNDSignal Ground

APA102/SK9822

Bus PirateDirectionCircuitDescription
SDOSDISerial Data Out
SCLCKISerial Clock
GNDGNDSignal Ground

Configuration options

Bus Pirate [/dev/ttyS0]
LED type
1. WS2812/SK6812/'NeoPixel' (single wire interface)*
2. APA102/SK9822 (clock and data interface)
3. Onboard LEDs (16 SK6812s)
x. Exit
Type (1) >
Number of LEDs in the strip
1 to 10000
x. Exit
LEDs (1*) >
Mode: LED
LED-(WS2812)>

Syntax

CommandDescription
[ or {Reset (APA102), Start Frame (WS2812)
] or }End Frame (WS2812)
0bWrite this binary value. Format is 0b00000000 for a byte, but partial bytes are also fine: 0b1001.
0xWrite this HEX value. Format is 0x01. Partial bytes are fine: 0xA. A-F can be lower-case or capital letters.
0-255Write this decimal value. Any number not preceded by 0x or 0b is interpreted as a decimal value.
spaceValue delimiter. Use a space to separate numbers. No delimiter is required between non-number values: {0xa6 0 0 16 5 0b111 0xaF rrrr}.
(#)Run macro, (0) for macro list.

Commands

Bus Pirate 5 has global commands available everywhere, and mode commands specific to the currently selected mode. Type help to see all commands in every mode, or help mode for the currently available mode commands.

tip

Most Bus Pirate commands have help. Add the -h flag to any command to see the latest available options and usage examples.