Smart LED
Smart LED Controller with Signal Conditioning
- Overview
- Commands
- Samples
- On-Module Code
A smart-LED controller for both 1-pin WS281x strips (the popular addressable LEDs) and 2-pin DAT/CLK strips (APA102, SK9822). The module handles the bit-banged WS281x timing internally — drive each LED's color with simple text commands over any supported interface, no host-side timing code required.
Beyond standard set-LED commands, the engine's Graphics library can render directly onto a WS281x matrix, so the same drawing code you use on a TFT or OLED also works on a strip.
Common uses: room and accent lighting, LED-strip art, costume LEDs, holiday displays, classroom intro-to-addressable-LEDs labs, and large LED-matrix walls.
The control signals are 3.3 V logic by default. To drive long strips reliably, supply 5 V on the Vsig pin to convert the control signals to 5 V.
Key features • WS2811 LED Controller | Resources 📄 Schematics PID: 0x05000D |
Modules ship without cables to reduce waste. Some specialty boards include a USB cable; for the rest, see Cables to add cables to your order.
Commands this module accepts. See Samples for runnable code in popular host languages.
| Function | Description |
|---|---|
WS2811() | Returns the pin number used for DAT pin to be used with WS2811 Smart LED Graphics. |
IntAPA(c) | Get the system ready for APA102C. |
SetAPA(i, c, l) | Sets the color at i index to c color (RRGGBB) and l luminance (0 to 31). |
ShwAPA() | Show/update the actual LEDs with preassigned colors. |
IntLPD(c) | Get the system ready for LPD8806. |
SetLPD(i, c) | Sets the color at i index to c color (RRGGBB) |
ShwLPD() | Show/update the actual LEDs with preassigned colors. |
DVer() | This driver version. |
Peek under the hood
The script below is this module's driver — it teaches the hardware how to respond to the commands listed above. It ships pre-loaded from the factory; most users never need to open it.
loading...
Example code that calls this module's commands from popular host languages.
New here? See Get Started to connect a module and send your first command.
- Python
- MicroPython
- JavaScript
- .NET
- Arduino
- MicroBlocks
loading...
loading...
loading...
loading...
loading...
This sample runs in MicroBlocks on a any host board that's connected/tethered to this module, or a chain of modules. This module keeps its official DUELink firmware and module driver and responds to commands from the connected MicroBlocks-running host. New here? See the MicroBlocks page.
There are two ways to use it:
Open the full sample — the complete project (the module's library plus a ready-to-run example) opens directly on the MicroBlocks website.
Add just the libraries to your own project — copy the link, then in your MicroBlocks project click Add Library → Cloud and paste it. This loads this module's libraries into your project without replacing your current work.
Copy Library LinkCode that runs directly on this module's MCU. See how On-Module Code allows modules to run standalone.
- Script
- Arduino IDE
This example runs using the default DUELink Internal Engine using its Scripting Language, and it expects the module's driver to be loaded first, see the Commands Tab.
loading...
See Arduino IDE page for more info.
loading...
Ordering Info
| Product | Part Number | Price |
|---|---|---|
| DUELink Smart LED | GDL-LDSMARTLED-B | $14.95 |