All tutorials

3 · Outputs & actuators

WS2812 strip: rainbow

Advanced25 min

Goal

Animate a gradient scrolling along the addressable strip.

Why it matters

Each LED has its own controller: a single data wire drives hundreds of pixels.

What you need

  • Arduino UNO board
  • 5 mm LED
  • 220 Ω resistor
  • Piezo buzzer
  • Ruban WS2812 (NeoPixel)

Nothing to buy: every component below is simulated in the browser.

Steps

  1. 01Add the NeoPixel strip on pin 6.
  2. 02Write a wheel(pos) function returning a colour.
  3. 03Shift the offset on every loop pass.
  4. 04Watch the current: 60 mA per LED at full power.

This tutorial runs inside the Circuitly simulator: your wiring and your code are checked automatically at every step.

Frequently asked questions

Do I need to buy hardware for this tutorial?
No. Everything runs in the browser: Circuitly simulates the board, the components and the code. Real hardware is optional if you want to rebuild the circuit afterwards.
Which components are used?
Arduino UNO board, 5 mm LED, 220 Ω resistor, Piezo buzzer, Ruban WS2812 (NeoPixel). They are already available in the simulator library.
How long does it take?
About 25 minutes, advanced level, in 4 guided steps.
What should I know before starting?
The previous tutorial in the series, “8×8 LED matrix”, is enough preparation. No software install is required.
Is the code provided and checked?
The simulator checks your wiring and your code automatically at every step, and shows the commented solution if you get stuck.

For teachers

Get the teaching pack: 6 ready-to-run sessions

Full progression, objectives, student steps and an assessment grid — printable, free.

One address, no spam: just the pack and classroom updates.

In the same series

Explore other topics