meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

actor:ws28xx [2026/04/21 20:48] – created - external edit 127.0.0.1actor:ws28xx [2026/07/11 00:47] (current) – [SK6812 RGB vs. SK6812 RGBW] vamsan
Line 44: Line 44:
   * **SK6812** wins if you need high-quality white light. Because it has a dedicated white phosphor chip, you can achieve "Warm White" or "Natural White" that looks like a real light bulb.   * **SK6812** wins if you need high-quality white light. Because it has a dedicated white phosphor chip, you can achieve "Warm White" or "Natural White" that looks like a real light bulb.
  
 +==== SK6812 RGB vs. SK6812 RGBW ====
 + 
 +  * SK6812 RGB: A standard 3-channel chip (24-bit data). It is a direct, drop-in replacement for the WS2812B. It creates white light by mixing Red, Green, and Blue together.
 +  * SK6812 RGBW: A 4-channel chip (32-bit data). It adds a physically separate, dedicated white-phosphor element inside the LED casing to deliver pure, high-CRI white light.
  
 +| |{{ :actor:ws2812b_01.png?100|}}|{{ :actor:sk6812_rgbw_01.png?100|}}|{{ :actor:sk6812_rgbww_01.png?100|}}|{{ :actor:sk6812_rgbnw_01.png?100|}}|
 +^Feature^SK6812B \\ WS2812B^SK6812 RGBW (Cool White)^SK6812 RGBWW (Warm White)^SK6812 RGBNW (Natural White)|
 +^Emitted Light Format|3-in-1 (RGB)|4-in-1 (RGB + White)|4-in-1 (RGB + White)|4-in-1 (RGB + White)|
 +^White Channel Type|None (Faked using RGB)|Cool White (CW)|Warm White (WW)|Natural / Neutral White (NW)|
 +^Color Temperature|~6000K–7000K (Bluish tint)|6000K – 6500K|2800K – 3200K|4000K – 4500K|
 +^Data Length per Pixel|24-bit (8-bit per channel)|32-bit (8-bit per channel)|32-bit (8-bit per channel)|32-bit (8-bit per channel)|
 +^PWM Frequency|~400 Hz|~1200 Hz|~1200 Hz|~1200 Hz|
 +^Voltage Drop Sensitivity|High|Moderate (Slightly more tolerant)|Moderate (Slightly more tolerant)|Moderate (Slightly more tolerant)|
 +^Max Power per Pixel|~60 mA (Full White via RGB)|~80 mA (All 4 channels maxed)|~80 mA (All 4 channels maxed)|~80 mA (All 4 channels maxed)|
 +^Best Used For...|Budget matrixes, gaming setups, dynamic animations.|Modern task lighting, commercial displays, crisp white accents.|Cozy home illumination, living rooms, under-cabinet ambient lighting.|Photography lighting, workspace illumination, reading areas.|
 +
 +==== Warnings ====
 +<WRAP center round important 100%>
 +**Inrush Current & Buffer Capacitor**
 +
 +Turning on the power supply causes a massive, sudden spike in current. This voltage surge can immediately fry the control IC of the first few LEDs.
 +
 +The solution: Place a 1000 µF (or at least 470 µF) electrolytic capacitor across the positive (+) and negative (-) rails. Position it as close to the start of the LED strip as possible to smooth out voltage spikes.
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +**Logic Level Voltage Issues (3.3V vs. 5V)**
 +
 +The article focuses almost entirely on 5V Arduino boards. It completely overlooks that modern 3.3V microcontrollers (//RP2040, ESP32, Raspberry Pi//) are out of the official WS2812B specification for a logical //"high"// signal.
 +
 +The solution: Without a fast hardware Level Shifter (//like the 74HCT125//), the data signal will be highly unstable, leading to flickering, wrong colors, or no light at all.
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +**Software Interrupt Conflicts**
 +
 +The WS2812B single-wire protocol requires strict nanosecond timing. On standard AVR chips (like Arduino Uno/Nano), libraries completely disable interrupts while executing the data transmission (''strip.show()'' or ''FastLED.show()'').
 +
 +The consequence: If your code relies on background routines—like reading I²C/SPI sensors, monitoring serial data, or tracking button presses with interrupts—you will suffer data loss or frozen animations. (//Note: Using the RP2040's hardware PIO solves this by bypassing the CPU entirely//).
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +**Frame Rate (FPS) and Strip Length Bottlenecks**
 +
 +The protocol transmits at a fixed speed of 800 kHz. Sending data for 1 bit takes exactly 1.25 µs. Therefore, a single 24-bit RGB LED takes 30 µs, plus a 50 µs reset latch signal.
 +
 +The limitation: Long strips introduce physical refresh bottlenecks. For example, a strip with 1,000 LEDs takes ~30.05 ms to update just once. This caps your maximum possible fluid speed at roughly 33 FPS. For longer setups, you must split the load across multiple GPIO pins in parallel.
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +**SK6812 White-Blending Inefficiencies**
 +
 +While the article notes the dedicated white channel of the SK6812, it skips a software efficiency loophole.
 +
 +The consequence: Basic code often mixes Red, Green, and Blue to achieve white light. This wastes energy and generates excessive heat. Advanced firmware utilizes explicit White Blending to turn off the RGB elements entirely and use only the dedicated white phosphor chip, significantly slashing overall power consumption.
 +</WRAP>
 {{page>:tarhal}} {{page>:tarhal}}