# Adafruit nOOds Überguide

## Overview

![Animated image of nOOd filament being twisted around finger](https://cdn-learn.adafruit.com/assets/assets/000/114/670/medium800thumb/components_noods-anim-banner.jpg?1662072863)

Our favorite food when hacking on code or electronics is a hot bowl of noodles — and around NYC these are often called “noods!” What we've got here are flexible LED noodles, in different colors. Not good for eatin' but they are&nbsp;good for cool lighting effects!

These are often seen in “Edison-like” LED bulbs, shaped into hearts or stars or just wound around to create a fun or warm lighting effect. They’re made of dozens of LED diodes that are bonded together on an ultra flexible metal backing, then coated in colorful silicone for protection. Since the LEDs are in parallel, you only need 3V to light ’em up.

Add some mini, noodle-y neon bling to your&nbsp;miniature sets, dioramas, dollhouses, mini-verses, what have you!

"nOOds" is spelled "n capital-O capital-O d s" (no zeros in there).

## Differences Between nOOds and EL Wire

There are some **pros** and **cons** compared to **[electroluminescent (EL) wire](https://www.adafruit.com/category/50)**…

### Pros:

- nOOds run off **regular DC current**. They do not require a special power source (inverter) and do not make any noise.
- nOOds are even **more flexible** than EL wire. They withstand tighter bends (on one axis) and more frequent flexing.
- nOOds can be **dimmed and animated** with pulse width modulation (PWM), from a PWM driver IC or even _straight off a microcontroller pin._

### Cons:

- nOOds **can _not_ be cut** to different lengths. The length they arrive from the factory is what you get, _period._ The “Tips and Tricks” page offers some ideas on changing the apparent length.
- nOOds require connections at **both ends.** That said, it’s a simple connection, not like the fussy structure of EL wire.

## Parts
Featured
### nOOds - Flexible LED Filament - 3V 300mm long - Warm White

[nOOds - Flexible LED Filament - 3V 300mm long - Warm White](https://www.adafruit.com/product/5503)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

In Stock
[Buy Now](https://www.adafruit.com/product/5503)
[Related Guides to the Product](https://learn.adafruit.com/products/5503/guides)
![Video of a pair of white hands coiling and playing with a 300mm long warm white LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5503-03.jpg)

Featured
### nOOds - Flexible LED Filament - 3V 300mm long - Red

[nOOds - Flexible LED Filament - 3V 300mm long - Red](https://www.adafruit.com/product/5506)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5506)
[Related Guides to the Product](https://learn.adafruit.com/products/5506/guides)
![Video of a pair of white hands coiling and playing with a 300mm long red LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5506-02.jpg)

Featured
### nOOds - Flexible LED Filament - 3V 300mm long - Lime Green

[nOOds - Flexible LED Filament - 3V 300mm long - Lime Green](https://www.adafruit.com/product/5507)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5507)
[Related Guides to the Product](https://learn.adafruit.com/products/5507/guides)
![Video of a pair of white hands coiling and playing with a 300mm long green LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5507-04.jpg)

Featured
### nOOds - Flexible LED Filament - 3V 300mm long - Blue

[nOOds - Flexible LED Filament - 3V 300mm long - Blue](https://www.adafruit.com/product/5508)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5508)
[Related Guides to the Product](https://learn.adafruit.com/products/5508/guides)
![Close-up video of a pair of white hands coiling and playing with a 300mm long blue LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5508-04.jpg)

Featured
### nOOds - Flexible LED Filament - 3V 300mm long - Pink

[nOOds - Flexible LED Filament - 3V 300mm long - Pink](https://www.adafruit.com/product/5510)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5510)
[Related Guides to the Product](https://learn.adafruit.com/products/5510/guides)
![Video of a pair of white hands coiling and playing with a 300mm long green pink filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5510-04.jpg)

### Adafruit AW9523 GPIO Expander and LED Driver Breakout

[Adafruit AW9523 GPIO Expander and LED Driver Breakout](https://www.adafruit.com/product/4886)
Expand your project possibilities, with the **Adafruit AW9523 GPIO Expander and LED Driver Breakout** - a cute and powerful I2C expander with a lot of tricks up its sleeve.

GPIO expanders work like this: you have a board with some number of GPIO but not enough for your...

In Stock
[Buy Now](https://www.adafruit.com/product/4886)
[Related Guides to the Product](https://learn.adafruit.com/products/4886/guides)
![Video of a Adafruit AW9523 GPIO Expander and LED Driver Breakout connected to a LED changing colors. ](https://cdn-shop.adafruit.com/product-videos/640x480/4886-05.jpg)

### WS2811 NeoPixel LED Driver Chip - 10 Pack

[WS2811 NeoPixel LED Driver Chip - 10 Pack](https://www.adafruit.com/product/1378)
Make your own smart LEDs with the same chip that is used in our NeoPixel strip and pixels. This tiny SOIC-8 is fairly easy to solder and can drive a single common-anode RGB LED or three single-color LEDs of your choice. (The outputs are NPN transistors so they won't work with...

In Stock
[Buy Now](https://www.adafruit.com/product/1378)
[Related Guides to the Product](https://learn.adafruit.com/products/1378/guides)
![10 WS2811 NeoPixel LED Driver Chip](https://cdn-shop.adafruit.com/640x480/1378-02.jpg)

# Adafruit nOOds Überguide

## Electrical Properties

nOOds are comprised of many **light-emitting diodes (LEDs)**, they have a specific **_polarity,_** with distinct _anode_ (“plus”) and _cathode_ (“minus”) ends. If a nOOd doesn’t light, you might just need to flip it.

**The anode end can be identified by a teeny-tiny hole or dot in the metal end tab.**

![components_noods_polarity.png](https://cdn-learn.adafruit.com/assets/assets/000/116/034/medium640/components_noods_polarity.png?1666295190)

![](https://cdn-learn.adafruit.com/assets/assets/000/136/880/medium640/components_polarity_single_ended.png?1747330956)

## Voltage-Current Data

The various nOOd products do not have detailed datasheets available. Ideally, such a datasheet would include a curve showing a given nOOd's voltage-current behavior, which would be different for each color, length, etc. Therefore, we acquired this data via a very simple process using a bench power supply.&nbsp; **There was no attempt made to control or monitor the LED junction temperature.** &nbsp;

The test setup and process was as follows:

1. Set output voltage.
2. Record resulting current.
3. Goto 1

This process was started with an output voltage just below the threshold with no (measurable) current flow up to approximately 4 times the recommended current. Yes - this stressed the nOOds with over current, but we did it for the sake of getting the data.

![](https://cdn-learn.adafruit.com/assets/assets/000/136/883/medium640/components_test_setup1.png?1747332494)

Here is a zip file containing the resulting data:

[noods_cv_data.zip](https://cdn-learn.adafruit.com/assets/assets/000/137/085/original/noods_cv_data.zip?1748019046)
Warning: This data is approximate and for estimation purposes only.

There is a CSV file for each nOOd named after its PID (product ID). Each file contains the voltage-current data collected. There are also plots of the data along with the Python files used generated the plots via matplotlib. Those plots are also shown below.

### Single Ended nOOds

These are all 3V voltage level and come in 25mm and 128mm lengths.

![](https://cdn-learn.adafruit.com/assets/assets/000/137/091/medium800/components_3V_25mm_Single_Ended_nOOds.png?1748019296 )

![](https://cdn-learn.adafruit.com/assets/assets/000/137/092/medium800/components_3V_128mm_Single_Ended_nOOds.png?1748019323 )

### Double Ended nOOds

These come in 3V, 12V, and 24V voltage levels and in various lengths.

![](https://cdn-learn.adafruit.com/assets/assets/000/137/093/medium800/components_3V_Double_Ended_misc_nOOds.png?1748019453 )

![](https://cdn-learn.adafruit.com/assets/assets/000/137/094/medium800/components_3V_300mm_Double_Ended_nOOds.png?1748019470 )

![](https://cdn-learn.adafruit.com/assets/assets/000/137/095/medium800/components_12V_600mm_Double_Ended_nOOds.png?1748019495 )

![](https://cdn-learn.adafruit.com/assets/assets/000/137/096/medium800/components_24V_1200mm_Double_Ended_nOOds.png?1748019508 )

## Powering Basics

An inline&nbsp; **current-limiting resistor** is recommended. For any given power supply, the voltage-current data above can be used to determine a resistor value. Checkout the&nbsp;[All About LEDs guide](https://learn.adafruit.com/all-about-leds/overview) for more information about how to make this calculation.

Here's the basic equation that can be used to estimate the resistor value:

![](https://cdn-learn.adafruit.com/assets/assets/000/137/098/medium800/components_curr_lim_eq.png?1748020881 )

where:

- **R** = the current limiting resistor value
- **Vs** = supply voltage (i.e., whatever power supply you are using)
- **Vf** = LED forward voltage
- **I** = current flow through LED

The general approach is to pick a desired current ( **I** ) flow through the LED (up to Imax). Then use the voltage-current data to determine what forward voltage ( **Vf** ) corresponds to that current. You should know your supply voltage ( **Vs** ) for your given setup. Then value for the current limiting resistor ( **R** ) can then be calculated.

Info: Use 50mA as the maximum current for 3V nOOds.

Info: Use 500mA as the maximum current for 12V and 24V nOOds.

## Resistor Power Rating

The current limiting resistor must also be rated to handle the amount of current that will pass thought it. This is determined by computing the resulting power (watts) that the resistor will dissipate:&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/137/103/medium800/components_powah.png?1748023979 )

where:

- **P** = the resulting power in watts
- **I** = the current flowing through the resistor in amps
- **R** = the resistor resistance in ohms

Most common through hole resistors are 0.25W rated. Those should be fine for the 3V nOOds. However, for the 12V and 24V nOOds, a higher power rating may be needed.

In general, it's best to match the power supply voltage to the LED forward voltage as closely as possible. Otherwise, an excessive amount of power must be absorbed by the current limiting resistor.

## One Resistor to Limit Them All

Picking some nominal LED values and computing the resulting current limiting resistor with some typical power scenarios results in the following **rough estimates** :

![](https://cdn-learn.adafruit.com/assets/assets/000/137/329/medium800/components_rvalues2.png?1748983701 )

The resulting resistors value are pretty small. **Note that these are the minimum resistor values. It's always OK to use a larger resistor value.** &nbsp;

More current means more brightness, but nOOds are surprisingly bright even when run below their maximum current. Therefore, a **50 Ohm 1/4 watt resistor** can be used as a single "should just work" resistor value for all of the above scenarios.

## Constant Current Power Supply Option

Using a constant current power supply is the recommended way to power nOOds. The [Adafruit TPS61169](https://www.adafruit.com/product/6354) boost converter is one such option.

Warning: 

This breakout is designed for 12V, 24V or multiple LEDs connected in series. It is not meant for powering single 3V LEDs.

Featured
### Adafruit TPS61169 Constant Current Boost Converter for LEDs

[Adafruit TPS61169 Constant Current Boost Converter for LEDs](https://www.adafruit.com/product/6354)
The&nbsp; **Adafruit Constant Current Boost Converter for LEDs** makes driving LEDs easy, whether they're in series or parallel - with a chip that can generate up to 40V and 400mA from 3~5V input. Unlike most of our booster chips that generate a fixed voltage (like 5V, or 12V)...

In Stock
[Buy Now](https://www.adafruit.com/product/6354)
[Related Guides to the Product](https://learn.adafruit.com/products/6354/guides)
![Demo Shot of the Constant Current Boost Converter powering LED Letter Filaments that spell out "Adafruit".](https://cdn-shop.adafruit.com/640x480/6354-06.jpg)

Checkout the TPS61169 product guide for more information:

[TPS61169 Constant Current Boost Converter](https://learn.adafruit.com/adafruit-tps61169-constant-current-boost-converter-for-leds/overview)
It shows an [example setup and usage](https://learn.adafruit.com/adafruit-tps61169-constant-current-boost-converter-for-leds/use) with a nOOd.

## Options for 3V nOOds

The 3V nOOds can be powered **directly off a 3V coin cell** such as a CR2032. This won’t be as bright as with a “proper” power source, but for small items and props it’s a great effect and runs for _hours…_sometimes even a couple _days!_ Because these cells are inherently current-limited, no resistor is needed.

The 3V nOOds can be&nbsp; **powered and controlled from microcontroller output pins** &nbsp;via&nbsp;`digitalio` (CircuitPython) or&nbsp;`digitalWrite` (Arduino), and the **brightness modulated and animated** using pulse-width modulation ( **PWM** ) via `pwmio` (CircuitPython) or `analogWrite` (Arduino). **Here are some things to be aware of:**

- Though most microcontroller GPIO pins are inherently current-limited, it’s considered prudent to add a **current-limiting resistor** (as described above) so the chip isn’t continually “redlined.”
- Every microcontroller has different **current drive capabilities,** with **limits** _per pin, per port,_ and _in total._ This information will usually be in the “Electrical Specifications” section of the chip datasheet.
- Some microcontrollers can **_sink_** more current than they can **_source._** That is, you might control more and/or brighter nOOds by connecting the cathode (–) end to GPIO pins, and the anode (+) to the microcontroller’s voltage, and use inverted logic. Again, check the chip datasheet.
- **Avoid** using `analogio` (CircuitPython) or `analogWrite()` (Arduino) to **DAC-capable pins** (true analog voltage out, not PWM, such as on the SAMD21 _A0_ pin); LEDs require _current_ control, not _voltage_ control.

Given the vagaries and differences among microcontrollers,&nbsp;rather than controlling nOOds straight off GPIO pins, consider using a **dedicated LED driver** such as the [**AW9523**](https://www.adafruit.com/product/4886).&nbsp;This ensures consistent peak brightness regardless of the type of microcontroller, and dimming is performed via current control rather than PWM; the light is perfectly steady and photographs well. Current-limiting is performed by the device, so no per-nOOd resistor is needed.

![Photo: AW9525 I2C LED driver](https://cdn-learn.adafruit.com/assets/assets/000/114/677/medium640/components_expander.jpg?1662072807)

nOOds could also be controlled with a [WS2811 driver IC](https://www.adafruit.com/product/1378)— the same logic that’s inside **NeoPixels!** &nbsp;This does _not_ make the nOOd _per-LED_ addressable\*, but…with three nOOds side-by-side (red, green, blue)…could allow for a sort of color-controllable _Neo-nOOd._ The WS2811 is a “sink” driver, so the cathode end of each nOOd connects to the IC. The chip provides its own current control (18mA), resistors aren’t needed.

\* The highest density _addressable_ item Adafruit carries is [this half-meter NeoPixel strip](https://www.adafruit.com/product/4865), but it’s _much_ wider and not as flexy as nOOds; not really the same thing.

## Chaining nOOds

nOOds can be&nbsp; **connected in series** (end-to-end) with a corresponding increase in voltage, e.g. 3V for one nOOd, 6V for two, 9V for three and so forth. You’ll still want a current-limiting resistor. Lower voltages might suffice, e.g. two red nOOds _might_ work from a 5V supply…you’ll have to experiment. Probably best and easiest to work with these as parallel, not serial, components.

# Adafruit nOOds Überguide

## Physical Properties

Looking closely, you’ll see nOOds have a **front face** comprised of a milky white silicone diffuser, and a **back face** that’s somewhat transparent. The two faces aren’t always perfectly balanced, but close enough for most tasks.

## Dimensions

Allow ± a couple percent for normal manufacturing variances, but in general nOOds are…

- **300 millimeters** long from **tip to tip** , including the end connector tabs
- The **illuminated** section is about **285 mm** long
- Exposed portions of end **connector tabs** are about **5 mm** long
- Cross-section is **not perfectly circular** ; about **1.7 mm wide, 1.9 mm tall**

## Bend Limits
nOOds have an **internal structure** , with distinct **per-axis bend radii.** Think of it like a tiny folding ladder…one axis can fold any which way, the other is unyielding.

![Photo: folding ladder in various configurations](https://cdn-learn.adafruit.com/assets/assets/000/114/671/medium640/components_noods-folding-ladder.jpg?1662072780)

In the **front-to-back** direction, nOOds can be fully pinched; the minimum bend radius is equal to the nOOds’ radius, about 1 mm. That might be _pushing it,_ but it’s _possible._

On the **torsional** axis (twisting),&nbsp;nOOds tolerate a full 360° twist about every 25 mm or 1 inch. Less twisting is always better. Too much and you might see individual LEDs pop off inside!

In the **side-to-side** direction…nOOds can’t and shouldn’t bend! The trick here is to apply a _mix_ of _torsion_ and _front-to-back_ bending. Imagine a banked turn on a racetrack or highway…it’s a little like that.

Thus, to achieve the _most intricate shapes_ with the _tightest bends,_ nOOds would ideally be installed _sideways._ But as explained above, the front and back faces aren’t always perfectly balanced in brightness. From any reasonable distance, probably unnoticeable. Tradeoffs!

## Durability

nOOds’ flexibility makes them a delight to noodle around with. But they’re not engineered for _infinite_ noodling. Like _any_ physical thing, they stand a chance of eventually wearing out. We don’t know exactly what that limit is or how to characterize it, but it’s likely a function of bend radius, flexing duty cycle and some luck.

For **maximum lifespan** , treat these _exactly_ as you would EL wire or flex LED strips: bend them to a shape _once_ and affix them to a solid support.

**Realistically** , you can probably work these into costumes and other gently-bendable items&nbsp;that see infrequent use (gloves, outerwear), and they might last the lifetime of the item.

If a situation _demands_ frequent, tight flexing, then plan for these to eventually wear out, and design for quick replacement: perhaps pluggable ferrule connectors on the ends, or screw terminals, or just accessible solder points.

## Prototyping with nOOds

The **metal tabs** on the ends of nOOds are **too slim** to make good contact with **breadboards**. It might work for a quick test, but for anything more involved will test your patience.

Easiest for quick prototyping is **alligator clips** , such as these gator-to-jumper wires in [packs of 6](https://www.adafruit.com/product/3448) or [12](https://www.adafruit.com/product/3255).

For something better shielded from metal items on your work table, solder **breadboard-friendly wires** onto the ends, apply a little heat-shrink if you like. You can color-code each end for anode vs. cathode!

## Attaching nOOds

Here are some ways nOOds might be attached to things:

- Monofilament fishing line (e.g. wrapping around wire armature)
- Clear thread (e.g. sewn to garment or to plastic mesh canvas)
- Transparent sticky tape (adhered to flat surface)
- Clear heat-shrink tube (wire armature)
- Press into narrow channel; the nOOds rubbery surface should grip in place (signs and 2D shapes) — a great application for 3D printing or laser cutting!

Silicone glues are not currently recommended, as they can be very picky about what sticks to what. Supply chain issues have resulted in some glues being reformulated…a brand that works today might not work the same tomorrow.

# Adafruit nOOds Überguide

## Tips & Tricks

 **nOOds _can not be cut._ Period.&nbsp;** But that’s why this is tips _and tricks!_ Let’s do shenanigans…

You can _simulate_ a shorter length by stuffing part of the nOOd behind an opaque base or end piece where it can’t be seen.

![Drawing: light bulb with nOOd filament, extra length hidden in base](https://cdn-learn.adafruit.com/assets/assets/000/114/676/medium640/components_noods-hidden-pocket.png?1662072635)

Multiple shorter lengths can be simulated by covering sections of a single nOOd with&nbsp; **opaque black heat-shrink tubing.**

![Drawing: glasses outlined with nOOd filament, bridge of nose covered by heat-shrink tube](https://cdn-learn.adafruit.com/assets/assets/000/114/674/medium640/components_noods-black-heat-shrink.png?1662072681)

You can create a _dotted line_ effect&nbsp;using punched or laser-cut fabric or leather, folded over the nOOd and stitched flat.

![Drawing: nOOd filament is placed in perforated material, folded over and stitched](https://cdn-learn.adafruit.com/assets/assets/000/114/675/medium640/components_noods-dotted-line.png?1662072747)

Long nOOds can be&nbsp;simulated by connecting in series (see “Electrical Properties” page). This may result in an unlit gap. You can stagger the nOOds side-by-side near the ends, eliminating the gap but creating a slight discontinuity, or could try pinching the ends back on itself.

If planning designs using _ **Adobe Illustrator** _, and if you want to get **maximum use** of each nOOd (the full length, not having to obscure part of it), here’s what to do:

- Set document units to **millimeters**.
- From the menu bar, select **Window→Document Info**.
- From the Document Info window, click the flyout menu in the corner and enable&nbsp; **Objects**. Information about the currently-selected path is now shown, including **path length**.
- The ideal path length is&nbsp; **285 mm** , matching the illuminated length of one nOOd. You could **manually scale up or down** until you get close to this, _or…_
- From the menu bar, select **Object**** →Transform→Scale… **and enter** 28500/(current path length) **— for example, with the star path shown here that’s 221.253 mm long, you’d type** 28500/221.253** (you can enter fractions like that, Illustrator will do the math).
- Poof! The path is now exactly **285 mm** long!

![Screen capture of Adobe Illustrator, showing a series of menu operations](https://cdn-learn.adafruit.com/assets/assets/000/114/678/medium640/components_illustrator-path-length.png?1662087130)

nOOds’ grippy silicone surface makes them a challenge to feed through tubing such as soda straws.&nbsp;Try the electrician’s “fish tape” method: feed a stiff solid-core wire down the tube first, temporarily tack it to one end of the nOOd with a little solder, _pull_ the nOOd into the tube and then de-solder the wire. If there’s still too much friction for this operation, rub a few drops of isopropyl alcohol along the nOOd and/or wire before pulling through; it quickly evaporates so there’s no trapped moisture.

When controlling brightness, whether using PWM or an analog driver like the AW9523, **perceived brightness is not linear** ; i.e. 50% duty cycle or 50% current does _not_ look 50% as bright, but somewhat _brighter._&nbsp;Just like any other LED project, [**gamma correction**](https://learn.adafruit.com/led-tricks-gamma-correction) can be applied for a more linear response. Example code on the next page shows this in action.

# Adafruit nOOds Überguide

## Example Code

## Using GPIO Pins
 **WIRING:** Anode (+) side of nOOds go to GPIO pins, cathode (-) to ground. Current-limiting resistor can go at either end.

This is merely a schematic diagram, you might be using gator clips or a breadboard or whatnot:

![](https://cdn-learn.adafruit.com/assets/assets/000/115/140/medium800/components_noods-diagram-1.png?1663285636)

### Digital Control with CircuitPython
```auto
# Adafruit nOOds digital control using GPIO pins.
# Uses 3 nOOds, anode (+) to GPIO pin, cathode (-) to ground.
# A current-limiting resistor (e.g. 220 Ohm) can go at either end.

import time
import board
import digitalio

# This uses the 3 adjacent SPI pins on QtPy RP2040, but any pins will do.
PINS = (board.SCK, board.MISO, board.MOSI) # List of pins, one per nOOd

# Convert pin number list to pin object list, initialize to OFF
pin_list = [digitalio.DigitalInOut(pin) for pin in PINS]
for pin in pin_list:
    pin.direction = digitalio.Direction.OUTPUT
    pin.value = False      # All off to start

while True:                # Repeat forever...
    for pin in pin_list:   # For each pin...
        pin.value = True   # nOOd on
        time.sleep(0.5)    # Pause 1/2 sec
        pin.value = False  # nOOd off
```

### Digital Control with Arduino
```auto
// Adafruit nOOds digital control using GPIO pins.
// Uses 3 nOOds, anode (+) to GPIO pin, cathode (-) to ground.
// A current-limiting resistor (e.g. 220 Ohm) can go at either end.

// This uses the 3 adjacent SPI pins on QtPy RP2040, but any pins will do.
uint8_t pins[] = { SCK, MISO, MOSI }; // List of pins, one per nOOd
#define NUM_PINS (sizeof(pins) / sizeof(pins[0]))

void setup() {
  for (uint8_t i=0; i<NUM_PINS; i++) pinMode(pins[i], OUTPUT);
}

void loop() {
  for (uint8_t i=0; i<NUM_PINS; i++) { // For each pin...
    digitalWrite(pins[i], HIGH);       // nOOd on
    delay(500);                        // Pause 1/2 sec
    digitalWrite(pins[i], LOW);        // nOOd off
  }
}
```

### “Analog” (PWM) Control with CircuitPython
```auto
# Adafruit nOOds "analog" (PWM) brightness control using GPIO.
# Uses 3 nOOds, anode (+) to GPIO pin, cathode (-) to ground.
# A current-limiting resistor (e.g. 220 Ohm) can go at either end.

import math
import time
import board
import pwmio

# This uses the 3 adjacent SPI pins on QtPy RP2040, but any pins will do.
PINS = (board.SCK, board.MISO, board.MOSI) # List of pins, one per nOOd
GAMMA = 2.6  # For perceptually-linear brightness

# Convert pin number list to PWMOut object list
pin_list = [pwmio.PWMOut(pin, frequency=1000, duty_cycle=0) for pin in PINS]

while True:                            # Repeat forever...
    for i, pin in enumerate(pin_list): # For each pin...
        # Calc sine wave, phase offset for each pin, with gamma correction.
        # If using red, green, blue nOOds, you'll get a cycle of hues.
        phase = (time.monotonic() - 2 * i / len(PINS)) * math.pi
        brightness = int((math.sin(phase) + 1.0) * 0.5 ** GAMMA * 65535 + 0.5)
        pin.duty_cycle = brightness
```

### “Analog” (PWM) Control with Arduino
```auto
// Adafruit nOOds "analog" (PWM) brightness control using GPIO.
// Uses 3 nOOds, anode (+) to GPIO pin, cathode (-) to ground.
// A current-limiting resistor (e.g. 220 Ohm) can go at either end.

// This uses the 3 adjacent SPI pins on QtPy RP2040, but most pins will do.
// Some boards have specific limitations for which pins support PWM!
uint8_t pins[] = { SCK, MISO, MOSI }; // List of pins, one per nOOd
#define GAMMA 2.6                     // For perceptually-linear brightness
#define NUM_PINS (sizeof(pins) / sizeof(pins[0]))

void setup() {
  for (uint8_t i=0; i<NUM_PINS; i++) pinMode(pins[i], OUTPUT);
}

void loop() {
  for (uint8_t i=0; i<NUM_PINS; i++) { // # For each pin...
    // Calc sine wave, phase offset for each pin, with gamma correction.
    // If using red, green, blue nOOds, you'll get a cycle of hues.
    float phase = (millis() / 1000.0 - 2.0 * i / (float)NUM_PINS) * M_PI;
    int brightness = int(pow((sin(phase) + 1.0) * 0.5, GAMMA) * 255 + 0.5);
    analogWrite(pins[i], brightness);
  }
}
```

## Using AW9523 LED Driver
 **WIRING:** Anode (+) side of nOOds go to VIN pins, cathode (-) to numbered breakout pins. Current-limiting resistors are not needed.

This is merely a schematic diagram, you might be using gator clips or a breadboard or whatnot:

![](https://cdn-learn.adafruit.com/assets/assets/000/115/142/medium800/components_noods-diagram-2.png?1663285786)

 **IMPORTANT:** These code examples are fairly brief.&nbsp;If using AW9523 LED driver as part of a bigger program, **set up the driver and pins as early as possible!** The chip’s power-on state does _not_ provide the 18.5 mA current control to LEDs. A tiny blip on startup is harmless, but LEDs shouldn’t be kept in this state for any length of time.&nbsp;Related, this is why the examples favor upper pin numbers on the breakout board; these pins provide _some_ current control on power up, though still higher than we’d like (37 mA vs 18.5).&nbsp;Initialization corrects all of this! If this power blip is still a concern, or your code’s unable to get to initialization quickly, it’s _perfectly acceptable to add current-limiting resistors._

Because the AW9523 is a current _sink_ (rather than _source_), you’ll notice when initializing pins, and in the digital control examples, that the **logic is inverted** :&nbsp;`1` or `True` (CircuitPython) or `HIGH` (Arduino) indicates _off,_ `0` or `False` (CircuitPython) or `LOW` (Arduino) is _on._

### Digital Control with CircuitPython
```auto
# Adafruit nOOds digital control using AW9523 LED driver breakout.
# Uses 3 nOOds, anode (+) to VIN row, cathode (-) to pins labeled 13-15.

import time
import board
import adafruit_aw9523

PINS = (13, 14, 15) # List of pins, one per nOOd

# Instantiate AW9523 on STEMMA I2C bus. This was tested on QT Py RP2040.
# Other boards might require board.I2C() instead of board.STEMMA_I2C().
aw = adafruit_aw9523.AW9523(board.STEMMA_I2C())

# Activate pins while converting pin number list to pin object list
pin_list = [aw.get_pin(pin) for pin in PINS] 
for pin in pin_list:
    pin.switch_to_output(value=True)  # Initialize pin OFF

while True:                # Repeat forever...
    for pin in pin_list:   # For each pin...
        pin.value = False  # nOOd on
        time.sleep(0.5)    # Pause 1/2 sec
        pin.value = True   # nOOd off
```

### Digital Control with Arduino
```auto
// Adafruit nOOds digital control using AW9523 LED driver breakout.
// Uses 3 nOOds, anode (+) to VIN row, cathode (-) to pins labeled 13-15.

#include <Adafruit_AW9523.h>

uint8_t pins[] = { 13, 14, 15 }; // List of pins, one per nOOd
#define NUM_PINS (sizeof(pins) / sizeof(pins[0]))

Adafruit_AW9523 aw;

void setup() {
  // &Wire1 here refers to the STEMMA connector on QT Py RP2040.
  // On some boards, that might be &Wire or can just be omitted.
  if (!aw.begin(0x58, &Wire1)) {
    Serial.begin();
    while(!Serial);
    Serial.println("AW9523 not found. Check wiring!");
    while (1); // halt
  }
  for (uint8_t i=0; i<NUM_PINS; i++) {
    aw.pinMode(pins[i], OUTPUT);
    aw.digitalWrite(pins[i], HIGH); // nOOd off
  }
}

void loop() {
  for (uint8_t i=0; i<NUM_PINS; i++) { // For each pin...
    aw.digitalWrite(pins[i], LOW);     // nOOd on
    delay(500);                        // Pause 1/2 sec
    aw.digitalWrite(pins[i], HIGH);    // nOOd off
  }
}
```

### Analog Control with CircuitPython
```auto
# Adafruit nOOds analog brightness control using AW9523 LED driver breakout.
# Uses 3 nOOds, anode (+) to VIN row, cathode (-) to pins labeled 13-15.

import math
import time
import board
import adafruit_aw9523

GAMMA = 2.6         # For perceptually-linear brightness
PINS = (13, 14, 15) # List of pins, one per nOOd

# Instantiate AW9523 on STEMMA I2C bus. This was tested on QT Py RP2040.
# Other boards might require board.I2C() instead of board.STEMMA_I2C().
aw = adafruit_aw9523.AW9523(board.STEMMA_I2C())
for pin in PINS:
    aw.get_pin(pin).switch_to_output(value=True) # Activate pin, initialize OFF
    aw.LED_modes |= 1 << pin                     # Enable constant-current on pin

while True:                        # Repeat forever...
    for i, pin in enumerate(PINS): # For each pin...
        # Calc sine wave, phase offset for each pin, with gamma correction.
        # If using red, green, blue nOOds, you'll get a cycle of hues.
        phase = (time.monotonic() - 2 * i / len(PINS)) * math.pi
        brightness = int((math.sin(phase) + 1.0) * 0.5 ** GAMMA * 255 + 0.5)
        aw.set_constant_current(pin, brightness)
```

### Analog Control with Arduino
```auto
// Adafruit nOOds analog brightness control using AW9523 LED driver breakout.
// Uses 3 nOOds, anode (+) to VIN row, cathode (-) to pins labeled 13-15.

#include <Adafruit_AW9523.h>

uint8_t pins[] = { 13, 14, 15 }; // List of pins, one per nOOd
#define GAMMA 2.6                // For perceptually-linear brightness
#define NUM_PINS (sizeof(pins) / sizeof(pins[0]))

Adafruit_AW9523 aw;

void setup() {
  // &Wire1 here refers to the STEMMA connector on QT Py RP2040.
  // On some boards, that might be &Wire or can just be omitted.
  if (!aw.begin(0x58, &Wire1)) {
    Serial.begin();
    while(!Serial);
    Serial.println("AW9523 not found. Check wiring!");
    while (1); // halt
  }
  for (uint8_t i=0; i<NUM_PINS; i++) {
    aw.pinMode(pins[i], AW9523_LED_MODE);
    aw.analogWrite(pins[i], 0); // nOOd off
  }
}

void loop() {
  for (uint8_t i=0; i<NUM_PINS; i++) { // For each pin...
    // Calc sine wave, phase offset for each pin, with gamma correction.
    // If using red, green, blue nOOds, you'll get a cycle of hues.
    float phase = (millis() / 1000.0 - 2.0 * i / (float)NUM_PINS) * M_PI;
    int brightness = int(pow((sin(phase) + 1.0) * 0.5, GAMMA) * 255 + 0.5);
    aw.analogWrite(pins[i], brightness);
  }
}
```


## Primary Products

### nOOds - Flexible LED Filament - 3V 300mm long - Warm White

[nOOds - Flexible LED Filament - 3V 300mm long - Warm White](https://www.adafruit.com/product/5503)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

In Stock
[Buy Now](https://www.adafruit.com/product/5503)
[Related Guides to the Product](https://learn.adafruit.com/products/5503/guides)
### nOOds - Flexible LED Filament -  3V 130mm long - Warm White

[nOOds - Flexible LED Filament -  3V 130mm long - Warm White](https://www.adafruit.com/product/5504)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

In Stock
[Buy Now](https://www.adafruit.com/product/5504)
[Related Guides to the Product](https://learn.adafruit.com/products/5504/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Red

[nOOds - Flexible LED Filament - 3V 300mm long - Red](https://www.adafruit.com/product/5506)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5506)
[Related Guides to the Product](https://learn.adafruit.com/products/5506/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Lime Green

[nOOds - Flexible LED Filament - 3V 300mm long - Lime Green](https://www.adafruit.com/product/5507)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5507)
[Related Guides to the Product](https://learn.adafruit.com/products/5507/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Blue

[nOOds - Flexible LED Filament - 3V 300mm long - Blue](https://www.adafruit.com/product/5508)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5508)
[Related Guides to the Product](https://learn.adafruit.com/products/5508/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Yellow

[nOOds - Flexible LED Filament - 3V 300mm long - Yellow](https://www.adafruit.com/product/5509)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5509)
[Related Guides to the Product](https://learn.adafruit.com/products/5509/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Pink

[nOOds - Flexible LED Filament - 3V 300mm long - Pink](https://www.adafruit.com/product/5510)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5510)
[Related Guides to the Product](https://learn.adafruit.com/products/5510/guides)

## Guide Products

### Adafruit AW9523 GPIO Expander and LED Driver Breakout

[Adafruit AW9523 GPIO Expander and LED Driver Breakout](https://www.adafruit.com/product/4886)
Expand your project possibilities, with the **Adafruit AW9523 GPIO Expander and LED Driver Breakout** - a cute and powerful I2C expander with a lot of tricks up its sleeve.

GPIO expanders work like this: you have a board with some number of GPIO but not enough for your...

In Stock
[Buy Now](https://www.adafruit.com/product/4886)
[Related Guides to the Product](https://learn.adafruit.com/products/4886/guides)

## Related Guides

- [Adafruit AW9523 GPIO Expander and LED Driver](https://learn.adafruit.com/adafruit-aw9523-gpio-expander-and-led-driver.md)
- [Adafruit TPS61169 Constant Current Boost Converter for LEDs](https://learn.adafruit.com/adafruit-tps61169-constant-current-boost-converter-for-leds.md)
- [Zelda LED UltraHand](https://learn.adafruit.com/ultrahand.md)
- [16-Step Drum Sequencer](https://learn.adafruit.com/16-step-drum-sequencer.md)
- [Mini Neon Sign Prop & n00ds Booster Case](https://learn.adafruit.com/nood-booster-case.md)
- [Raspberry Pi Pico and LED Arcade Button MIDI Controller](https://learn.adafruit.com/raspberry-pi-pico-led-arcade-button-midi-controller-fighter.md)
- [LED Noodle Snowflake](https://learn.adafruit.com/led-noodle-snowflake.md)
- [LED Noodle Shop Sign](https://learn.adafruit.com/led-noodle-shop-sign.md)
- [Light Up your Costume with Noods](https://learn.adafruit.com/light-up-your-costume-with-noods.md)
- [LED Noodle Holiday Tree](https://learn.adafruit.com/led-noodle-tree.md)
- [nOOds LED CV Signal Visualizers](https://learn.adafruit.com/noods-led-synth-cv-visualizers.md)
- [Rumi Sword - KPop Demon Hunters](https://learn.adafruit.com/rumi-sword.md)
- [Gravity Falls Memory Gun](https://learn.adafruit.com/gravity-falls-memory-gun.md)
- [LED Noodle Lantern](https://learn.adafruit.com/led-noodle-lantern.md)
- [LEGO Set Lighting](https://learn.adafruit.com/lego-set-lighting.md)
- [LED Masquerade Masks with n00ds](https://learn.adafruit.com/led-masquerade-masks-with-n00ds.md)
- [Moana Glowing Heart of Te Fiti Necklace](https://learn.adafruit.com/moana-glowing-heart-of-te-fiti-necklace.md)
