NeoPixel Ring 24 with an Arduino Uno
A 65.5mm Adafruit ring of 24 individually addressable WS2812/SK6812 RGB LEDs driven over a single 5V data line.
A 24-pixel ring is where the Arduino Uno's own 5V stops being enough at anything near full brightness: full white could draw about 1.44 A, nearly three times the Uno's USB budget. The wiring here still feeds it from the Uno's 5V, which works for the example's dim rainbow; brighter projects move the ring to its own supply.
Wiring the NeoPixel Ring 24 to the Arduino Uno
Pin by pin.
| NeoPixel Ring 24 | Arduino Uno | Note |
|---|---|---|
| VCC | 5V | |
| GND | GND | |
| DIN | D2 | through a 470 Ω resistor |
What to know on the Arduino Uno
- Full white on 24 pixels is about 1.44 A (24 × 60 mA). The sketch's setBrightness(50) scales that to about 280 mA, inside the Uno's 500 mA USB polyfuse with room for the board itself.Adafruit NeoPixel Uberguide; Arduino UNO R3 documentation, USB overcurrent protection
- For brighter output, power the ring from a 5 V supply of at least 1.5 A: its + to the ring's VCC, its - to the ring's GND and to a Uno GND pin, and the Uno's 5V pin left off the ring.Adafruit NeoPixel Uberguide, Best Practices
- Running the Uno from a barrel jack does not help: its linear 5 V regulator then carries the ring's current and heats instead of tripping a fuse.Arduino UNO R3 tech specs
- Data stays on D2 through the 470 Ω resistor whichever supply feeds the ring; the shared ground is what lets the Uno's 5 V data be read correctly.Adafruit NeoPixel Uberguide, Best Practices
NeoPixel Ring 24 code for the Arduino Uno
Compiled for arduino:avr:uno on 2026-10-30.
// NeoPixel Ring 24 on Arduino Uno: wiring and a free simulation at https://www.tinkered.ai/components/neopixel-ring-24/arduino-uno
#include <Adafruit_NeoPixel.h>
#define LED_PIN 2
#define LED_COUNT 24
Adafruit_NeoPixel ring(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
ring.begin();
ring.setBrightness(50); // 50 of 255: full white then draws about 12 mA a pixel (60 mA at full
// brightness). 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 24 on the Arduino Uno: questions
Can an Arduino Uno power a 24 LED NeoPixel ring?
At the example's brightness of 50, yes, about 280 mA at full white. At full brightness the ring can draw about 1.44 A (Adafruit Uberguide), which needs its own 5 V supply.
How do I wire a NeoPixel ring 24 to an external supply with an Uno?
Supply + to the ring's VCC, supply - to the ring's GND and to the Uno's GND, data from D2 through 470 Ω to DIN, and a 1000 µF capacitor across the ring's power.
Can I power the ring from the Uno's barrel jack instead?
Not for high brightness: the current still flows through the Uno's 5 V regulator, which overheats. Use a 5 V supply straight to the ring.
Keep going
This guide as plain Markdown. /components/neopixel-ring-24/arduino-uno.md