The WS2812B is a compact, addressable RGB LED module that integrates a control circuit and three discrete red, green, and blue LEDs within a single 5050 SMD package, allowing each pixel’s color and brightness to be set independently via a one-wire digital interface. Internally, it employs an integrated driver and a signal reshaping/amplification circuit, enabling daisy-chaining of virtually unlimited numbers of LEDs from a single microcontroller pin. Control is achieved by sending a 24-bit data packet (8 bits per color channel) per LED, with 256 brightness levels per channel. Integrated DesignDocumentation Index
Fetch the complete documentation index at: https://learn.pcbcupid.com/llms.txt
Use this file to discover all available pages before exploring further.
- Chip and LED in one: The WS2812B package embeds both the RGB LEDs and the control IC, simplifying circuit design by eliminating the need for separate driver components
- 5050 SMD footprint: Common “5050” size (5 mm × 5 mm), compatible with standard LED strip layouts and modules
- Power and Data- Power: Operates typically at 5 V DC, with a maximum recommended current draw of ~60 mA per LED at full white (all colors at maximum brightness)
- Data line: A single input (DIN) and output (DOUT) pin carry the high-speed data stream; the protocol embeds timing for “0” and “1” bits directly in signal pulse widths
Pin configuration
- GND : GND
- VCC : 5V
- DI : (DATA IN) Any GPIO pin
- DO : (DATA OUT) chain to DI of other ring
Features
- Individually addressable: Each LED module responds only to its specific 24-bit data, so you can set unique colors for each pixel in a chain
- High color resolution: 8 bits per channel → 16.7 million possible colors per LED
- Cascading capability: The DOUT of one LED links to the DIN of the next, allowing long chains (hundreds or thousands of LEDs) from a single microcontroller pin
- Built-in signal reshaping: Ensures clean, consistent data transmission through long strips without external repeaters Data is sent as a continuous stream of 24 bits per LED (G7…G0, R7…R0, B7…B0). Timing-sensitive pulses distinguish “0” and “1” bits, typically requiring precise.
Applications
- LED strips and matrices for decorative lighting, signage, and art installations
- Wearable electronics where flexible, addressable lighting is desired
- Commercial displays and props that require per-pixel animation without bulky wiring
- These modules’ simplicity and rich feature set have made the WS2812B a de facto standard in hobbyist and professional addressable LED applications.
WS2812B CONCENTRIC CIRCLE RING
The G-MOD WS2812B circular LED module is designed with three concentric rings of addressable RGB LEDs. Power (VCC, GND) is distributed across all LEDs in parallel. The data signal (DIN) enters from the solder pads at the bottom, drives the innermost ring first, and then cascades outward ring by ring. The final LED in the outer ring routes its data out to the DO pad, allowing multiple modules to be chained together.
Inside the PCB, three solder jumpers connect the concentric LED rings. These bridges carry power (VCC), ground (GND), and the serial data signal outward from the inner ring to the outer rings. This ensures all LEDs are powered in parallel, while the WS2812B data chain cascades ring-by-ring.
Step 1: Hardware Required
- GLYPH
- WS2812B RGB LED RING
Step 2: Circuit Diagram
Step 3: Code Setup
Step 4: Upload the Code
- Connect the Board
- Connect your GLYPH board to your computer
- Select the Board and Port
Tools > Board > esp32 > Pcbcupid Glyph S3
Tools > Portand select the port connected to your GLYPH.Tools > USB CDC on Boot >Enabled
-
Upload the Code
- Click the upload button (➡️ icon) or use the shortcut
CRTL + Uin Arduino IDE to upload the code to the board.
- Click the upload button (➡️ icon) or use the shortcut
Step 5: Observe the Output
Break Them! to 1, 8, 12 or 16 ring strip
The ring can be broken on and used as a individual ring setup and have the same circuit. Just change the number of led on the code from 37 to the desired number.
Code Setup
Observe the Output
