USB Addressable LED string controller with full brightness control
For WS2811-based addressable LEDs

USB Addressable LED Controller

  • 60 LED channels with 256 brightness levels for full RGB color mixing
  • Can be used with single-color or RGB LED strings (RGB use 3 channels)
  • Supports WS2811 high-speed version protocol.
  • 128-command flash storage for “attract-mode” sequences which run immediately on power-up with no PC present
  • Supports single-command fades with preset speed on-board. Multiple fades can overlap
  • User-assigned IDs allow multiple boards to be connected
  • Extensive software support including test application, Software Development kit for adding support to your own programs, and LedBlinky third-party software 

This is a simple video showing a string purchased on Ebay from China running the default power-on script


Click for Store Section

Connecting LED Strings

WS2811 led controller USB
Connection Schematic
USB WS2811 LED controller
Typical string connected to board. Power would require to be connected to the red and blue wires

Click for Store Section


When you power on the PC, the board will immediately run a script which is pre-loaded in flash. If you have overwritten this with your own script, this will run. The pre-loaded script causes all LEDs to sequence in a fade up/down “wave” from 1 to 60 (ie 1-20 if RGB). Scripts are repeated continuously.
When a command is sent by the PC via USB, the script stops running and the command is processed. The script is then not run again until the next power-on.

Using the Supplied application

Download the application here

This app is used for the following:

  • Testing LEDs and connections by turning LEDs on/off or setting to a specified brightness.
  • Creating simple “attract mode” scripts and storing in the on-board flash ROM
  • Assigning an ID to board, when using more than one board

Settings Tab

USB LED COntroller

Start/Stop/Run Script

When clicked, all subsequent commands will be stored in on-board flash. Next time the board is powered on, the script will run and loop forever until a command is sent from the host via USB.
Clicking “Stop Recording” will end the script storage.

Clear Flash

This will cause any stored script to be deleted, so on next power-on, nothing will happen until the host sends commands via USB.

Fade Time

This adjusts the time taken to perform a fade. A fade occurs whenever the state of a LED changes, ie its brightness is changed or switched off/on. This setting affects all subsequent state changes. This can be stored in scripts.

Script Step Delay

This adjusts the time interval when scripts are being executed. This can be stored in a script. This is not relevant when sending direct commands from the host.

Brightness tab

USB LED Controller

On this screen, the brightness of any of the 60 LEDs can be set. The command is executed immediately by the board, and if you are storing a script, is also added to the script.
On the latest version (requires latest firmware) the LED(s) can also be set to flash at one of 3 rates on this screen.

Off/On Tab

USB LED Controller

On this screen, a group of 8 LEDs is set to a pattern. The LEDs are either fully off or fully on. There are 8 groups of 8 LEDs. Also, all LEDs can be set to a random pattern.
The command is executed immediately by the board, and if you are storing a script, is also added to the script.

Using the LEDBlinky application

This is a third-party application available in free or paid versions. It is actually a suite of programs enabling configurations to be stored, animations to be created, and has special MAME features.
Note that LEDBlinky supports direct control of the board via USB only. It does not support creation of scripts for storing on the board.
Version 5.0 required.

  • With RGB LEDs, you can specify colors for individual controls or using a pre-defined colors.ini file. Colors or intensities can also be customized on a game-by-game basis.
  • Use audio output (music or game sounds) to blink, fade, or animate LEDs – great for use with Jukebox software.
  • Blink and speak front-end UI controls by pressing a pre-defined “Help” button.
  • Blink and speak controls when pausing a game and/or play a LED animation (selected, random, random montage) or use audio output (music) to animate the LEDs. This is a MAME only feature.
  • Flash start buttons when credits are available - this is a MAME only game dependent feature.
  • Light start and coin buttons based on active player count for the current game.
  • Flash all or active buttons when any is pressed.
  • Full support for other MAME Outputs - light LEDs based on any output. Outputs can be linked to controls (P1_Button1, P2_Button2, etc.) or directly linked to a Device/Port.
  • Extensive audio animation options let you completely customize how the LEDs blink to music or game sounds.
  • When starting a game, LEDBlinky can play a LED animation (selected or random), speak the game name, speak each button “action” while blinking the button in its correct color, speak the primary controls, and speak a custom message. When speaking the game name or custom message, LEDs can blink in sync with the speech.
  • While playing a game, LEDBlinky can play a continuous LED animation (selected, random, or random montage) or use audio output (game sounds) to animate the LEDs. The LED animation will only effect unused controls.
  • See the LEDBlinky website for all details:  http://www.dndw.com/ledblinky/ledblinky.htm

Controlling LEDs from your own programs

An SDK is available which includes a DLL to provide an API to enable LED control in your programs. The SDK includes the DLL, plus example source code showing its use. A test program for checking operation of the DLL is also included.

This SDK is available here: http://www.ultimarc.com/PacDriveSDK.zip