WS2812B Addressable RGB Strip
Light up dozens of full-colour LEDs with a single MCU pin — one-wire timing, on-chip drivers, and a 24-bit colour per pixel.
Difficulty: Breadboard. Estimated build time: about 25 minutes. Estimated parts cost: about US$8.50. 6-line bill of materials. Compare supplier offers when available. A chain of addressable RGB LEDs that any microcontroller can control over a single data wire.
Wire power and the data pin
Identify the three pads on the strip: VCC (often labelled +5V), GND, and DIN. Wire VCC to a 5 V supply that can deliver at least 1 A per 16 pixels. Wire GND to ground AND to the MCU's ground — both grounds must be common or the timing pulses won't be referenced correctly. Put a 1000 uF electrolytic capacitor across the supply right at the strip to absorb in-rush when many pixels switch at once. Connect DIN to a single MCU GPIO through a 470 ohm series resistor — this damps the rising edge and protects the first pixel's input pin.
Install a library and push colours
On Arduino, install FastLED via the library manager. Declare CRGB leds[30]; FastLED.addLeds<WS2812B, 6, GRB>(leds, 30); in setup(), then call leds[0] = CRGB::Red; FastLED.show(); and the first pixel should glow bright red. Note the GRB order — most WS2812B strips actually expect green first, red second, blue third in their byte stream, which catches every beginner the first time. If your reds and greens come out swapped, switch GRB to RGB in the addLeds call.
Try an animation
A rainbow chase needs only three lines inside loop(): for (int i = 0; i < 30; i++) leds[i] = CHSV(i * 8 + offset, 255, 80); FastLED.show(); offset++. Keep the brightness below 80 of 255 the first time you light all 30 pixels at once — full white is dazzling and pulls roughly 1.8 A on a 30-pixel strip. As you scale up, plan to feed power into the strip at both ends (or every metre) and keep your data wire short and twisted with a ground return; long unshielded runs corrupt the timing pulses and you'll see pixels flicker.