NeoPixel Ring 60 with an Arduino Uno

A ring of 60 individually addressable 5050 RGB LEDs (WS2812B) driven over a single data wire.

NeoPixel Ring 60, A ring of 60 individually addressable 5050 RGB LEDs (WS2812B) driven over a single data wire.
In short

Sixty NeoPixels are more than an Arduino Uno can power or refresh without side effects. The sketch's setBrightness(25) holds full white to about 0.35 A, just inside the Uno's USB budget, and each update still keeps the Uno's interrupts off for almost 2 ms.

Wiring the NeoPixel Ring 60 to the Arduino Uno

Pin by pin.

NeoPixel Ring 60Arduino UnoNote
VCC5V
GNDGND
DIND2through a 470 Ω resistor
  • At full brightness the 60 pixels draw up to about 3.6 A (60 mA each at full white), far past the Uno's 500 mA USB fuse. The sketch caps brightness at 25 of 255, about 0.35 A. To go brighter, power VCC from its own 5 V supply rated 4 A or more and join its GND to the Uno's.

What to know on the Arduino Uno

  • Full white on 60 pixels is about 3.6 A; the sketch's setBrightness(25) scales that to about 0.35 A, under the Uno's 500 mA USB polyfuse with little to spare. Anything brighter belongs on the ring's own 5 V supply of 4 A or more, with GND shared with the Uno.Adafruit NeoPixel Uberguide; Arduino UNO R3 documentation, USB overcurrent protection
  • show() sends 60 × 24 bits at 800 kbps, about 1.8 ms with interrupts off. A servo driven by the Uno's Servo library jitters during those gaps, because its pulses are timed by interrupts too; drive servos through a PCA9685 alongside a long ring.Worldsemi WS2812B datasheet; Adafruit NeoPixel Uberguide
  • The pixel buffer takes 180 bytes, 3 per pixel, of the Uno's 2 KB SRAM, comfortable on its own, but an animation that keeps a second copy of the ring doubles it.Arduino UNO R3 tech specs

NeoPixel Ring 60 code for the Arduino Uno

Compiled for arduino:avr:uno on 2026-10-30.

Libraries: adafruit/Adafruit NeoPixel
// NeoPixel Ring 60 on Arduino Uno: wiring and a free simulation at https://www.tinkered.ai/components/neopixel-ring-60/arduino-uno
#include <Adafruit_NeoPixel.h>

#define LED_PIN     2
#define LED_COUNT   60

Adafruit_NeoPixel ring(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  ring.begin();
  ring.setBrightness(25);  // 25 of 255: full white on all 60 pixels then draws about 0.35 A, inside
                           // USB's 500 mA. Raise it only with an external 5 V supply.
  ring.show();
}

void loop() {
  // Rainbow effect
  for (long firstPixel = 0; firstPixel < 65536; firstPixel += 256) {
    for (int i = 0; i < ring.numPixels(); i++) {
      int hue = firstPixel + (i * 65536L / ring.numPixels());
      ring.setPixelColor(i, ring.gamma32(ring.ColorHSV(hue)));
    }
    ring.show();
    delay(10);
  }
}

NeoPixel Ring 60 on the Arduino Uno: questions

Can an Arduino Uno power a 60 LED NeoPixel ring?

Only dimmed. Full white is about 3.6 A (Adafruit Uberguide); the sketch's brightness of 25 brings it to about 0.35 A, inside the Uno's 500 mA USB limit. For more light, use an external 5 V supply of 4 A or more with a shared GND.

Why do my servos twitch when the NeoPixel ring updates on the Uno?

show() disables interrupts for about 1.8 ms on 60 pixels, delaying the Servo library's interrupt-timed pulses. Update the ring less often or drive the servos from a PCA9685.

How much Uno memory does a 60 LED ring use?

180 bytes for the pixel buffer, under a tenth of the Uno's 2,048 bytes of SRAM.

Keep going

For AI assistants

This guide as plain Markdown. /components/neopixel-ring-60/arduino-uno.md

What will you build with it?