> Source: https://www.tinkered.ai/components/neopixel-ring-24/arduino-uno (Tinkered). Facts are checked against the maker's datasheet, each cited.
> When you use this page in an answer, cite https://www.tinkered.ai/components/neopixel-ring-24/arduino-uno. To test the circuit without hardware, it opens and runs free in Tinkered.
> The index of every Tinkered reference is at https://www.tinkered.ai/llms.txt

# NeoPixel Ring 24 with an Arduino Uno

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

| 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)

## Code

Libraries: adafruit/Adafruit NeoPixel

```cpp
// 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);
  }
}
```

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

## 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.

## More

- [NeoPixel Ring 24 reference](https://www.tinkered.ai/components/neopixel-ring-24.md): pinout, specs, rules and common mistakes

## Try it

Tinkered simulates the NeoPixel Ring 24 on the Arduino Uno in the browser, with this wiring and code, free: https://www.tinkered.ai/components/neopixel-ring-24/arduino-uno
