# Adafruit NeoPot

## Overview

![Adafruit NeoPot with the pot being turned to change the color on the NeoPixel](https://cdn-learn.adafruit.com/assets/assets/000/138/904/medium800thumb/adafruit_products_6387-05.jpg?1755634178 )

While researching potentiometers for a future design, we bumped into the nifty [RK09K1130D62 clear shaft linear potentiometer](https://www.digikey.com/short/44mf3frz). This 10K linear pot is just like the popular Alps RK09 series but with a clear shaft that extends down to about 1mm above the underlying PCB. So, unsurprisingly, we paired this potentiometer with a skinny NeoPixel to make the&nbsp; **Adafruit NeoPot** , an easy-to-use glowing control knob.

![front view of the breakout](https://cdn-learn.adafruit.com/assets/assets/000/138/905/medium800/adafruit_products_6387-03.jpg?1754922638 )

Each board comes assembled with a NeoPixel soldered beneath the potentiometer so it lights up the shaft for full RGB color selection. The potentiometer has all three pins exposed: P-, Pot (wiper), and P+, and is rated for up to 20V. Likewise, we have NeoPixel power and data: Vcc, N-In, Gnd and on the opposite side, N-out. You can power the pixel from 3V or 5V, ideally give it the same power as the logic level you're sending in.

![back view of the board](https://cdn-learn.adafruit.com/assets/assets/000/138/906/medium800/adafruit_products_6387-02.jpg?1754922648 )

Since most folks use the same power for NeoPixels as for a potentiometer/analog input, you can solder the two jumpers on the bottom to tie P- to Ground and P+ to Vcc, saving two wires.

The PCB has two strips of header for mechanical stability, and four mounting holes if you need to fix it against a front plate. Comes with extra header which will need to be soldered on to plug into a breadboard. Note you need a microcontroller/microcomputer that can drive NeoPixels!

![the pot being turned to change the color on the neopixel](https://cdn-learn.adafruit.com/assets/assets/000/138/907/medium800thumb/adafruit_products_6387-04.jpg?1754922663 )

# Adafruit NeoPot

## Pinouts

![front and back view of the board](https://cdn-learn.adafruit.com/assets/assets/000/138/980/medium800/adafruit_products_double.jpg?1755000466 )

## Power Pins

- **Vcc** &nbsp;- this is the power pin for the NeoPixel LED.&nbsp;It can be powered by any voltage between 3V and 5V. Give it the same voltage as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V; for 3.3V microcontrollers like RP2040, use 3.3V.
- **GND** &nbsp;- common ground for power and logic.

## Potentiometer

In the center of the breakout is the star of the show: the clear shaft potentiometer. It is an [RK09K1130D62](https://tech.alpsalpine.com/e/products/detail/RK09K1130D62/) 10KΩ potentiometer. It has three pins:

- **P+** - this is the positive lead pin for the potentiometer
- **POT** - this is the wiper pin for the potentiometer
- **P-** - this is the negative lead pin for the potentiometer

## NeoPixel Data Pins

- **NIn** - data input for the NeoPixel
- **NOut** - data output for the NeoPixel. It can be used to daisy chain multiple NeoPixels together by carrying the data input signal

## Power Jumpers

- **V+/Vcc** - On the back on the board on the left is the **V+/Vcc jumper**. If you solder this jumper closed, it will connect **Vcc** to the positive pin ( **P+** ) on the potentiometer.
- **V-/G** - On the back on the board on the right is the **V-/G jumper**. If you solder this jumper closed, it will connect **GND** to the negative pin ( **P-** ) on the potentiometer.

# Adafruit NeoPot

## CircuitPython

## CircuitPython and Python

It's easy to use the **Adafruit NeoPot** with Python or CircuitPython, and the [Adafruit\_CircuitPython\_NeoPixel](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel) module. This module allows you to easily write Python code to set the color of the NeoPixel. The Potentiometer can be read with the built-in `analogio` module.

You can use the `NeoPixel` and `analogio` modules with any CircuitPython microcontroller board.

## CircuitPython Microcontroller Wiring

First wire up the breakout to your board exactly as follows. The following is the NeoPot wired to a Feather RP2040 using the STEMMA connector:

- **Board 3.3V** to **NeoPot P+ (red wire)**
- **Board GND** to&nbsp;**NeoPot P- (black wire)**
- **Board A0** &nbsp;to&nbsp;**NeoPot POT (yellow wire)**
- **Board D4** to **NeoPot Nin (green wire)**

You also need make the following connections if you **did not solder closed** the jumpers on the bottom of the NeoPot:

- **NeoPot P-** to&nbsp; **NeoPot GND**
- **NeoPot P+** to&nbsp; **NeoPot Vcc**

See 2nd and 3rd photos for jumper location, and wiring to use when the jumpers are soldered closed.

![Fritzing diagram showing the NeoPot connected to a Feather RP2040. With the Vcc and GND jumper wires that are needed if the jumpers are not soldered closed.](https://cdn-learn.adafruit.com/assets/assets/000/139/085/medium640/adafruit_products_neopot_wiring_bb_no_solder_jumpers.png?1755545838)

![Adafruit NeoPot bottom side with Vcc and GND jumpers soldered to connect power and GND between the potentiometer and NeoPixel](https://cdn-learn.adafruit.com/assets/assets/000/139/082/medium640/adafruit_products_neopot_jumpers_soldered.png?1755526871)

![Fritzing diagram showing the NeoPot connected to a Feather RP2040.](https://cdn-learn.adafruit.com/assets/assets/000/139/086/medium640/adafruit_products_neopot_wiring_bb_yes_solder_jumpers.png?1755545895)

## CircuitPython Usage

To use with CircuitPython, you need to first install the **Adafruit\_CircuitPython\_NeoPixel** &nbsp;library, and its dependencies, into the **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, and copy the **entire**  **lib**  **folder** and the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder should contain the following files:

- **adafruit\_pixelbuf.mpy**
- **neopixel.mpy**

![CIRCUITPY drive screenshot showing required project file and libraries](https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/folder-images/Adafruit_NeoPot_CircuitPython_Rainbow_Pot.png?raw=true )

## Example Code

Once everything is saved to the **CIRCUITPY** drive, turn the knob to see it shift between the colors of the rainbow as you turn.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_NeoPot/CircuitPython_Rainbow_Pot/code.py

The code stores readings in a list and takes an average of the last 10 readings, then maps the average reading into the range 0-255 so it can be passed to `rainbowio.colorwheel()` to get back a color, which is then set on the NeoPixel.

![Adafruit NeoPot demo code running showing the potentiometer knob being turned and the light shining through it shifting between the colors of the rainbow](https://cdn-learn.adafruit.com/assets/assets/000/139/083/medium800thumb/adafruit_products_neopot_circuitpython_rainbow.jpg?1755533258 )

# Adafruit NeoPot

## CircuitPython Docs analogio

# Adafruit NeoPot

## CircuitPython Docs NeoPixel

# Adafruit NeoPot

## Arduino

Using the NeoPot with Arduino involves wiring it up to your Arduino-compatible microcontroller, installing the [Adafruit\_NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) library, and running the provided example code.

## Wiring

Wire as shown for a **5V** board like an Uno. If you are using a **3V** board, like an Adafruit Feather, wire the board's 3V pin to the sensor P+.

Here is an Adafruit Metro wired up to the NeoPot

- **Board 5V** to **NeoPot P+ (red wire)**
- **Board GND** to&nbsp;**NeoPot P- (black wire)**
- **Board A0** &nbsp;to&nbsp;**NeoPot POT (yellow wire)**
- **Board 4** to **NeoPot Nin (green wire)**

You also need make the following connections if you **did not solder closed** the jumpers on the bottom of the NeoPot:

- **NeoPot P-** to&nbsp; **NeoPot GND**
- **NeoPot P+** to&nbsp; **NeoPot Vcc**

See 2nd and 3rd photos for jumper location, and wiring to use when the jumpers are soldered closed.

![Adafruit NeoPot wired to Adafruit Metro with Vcc and GND jumper wires required when the NeoPot jumpers are not soldered.](https://cdn-learn.adafruit.com/assets/assets/000/139/090/medium640/adafruit_products_arduino_neopot_metro_bb_wiring.png?1755551608)

![Adafruit NeoPot bottom side with the Vcc / V+ and GND / V- jumpers highlighted and soldered closed.](https://cdn-learn.adafruit.com/assets/assets/000/139/092/medium640/adafruit_products_neopot_jumpers_soldered.png?1755551838)

![Adafruit Metro wired to Neo Pot without any Vcc or GND jumper wires, as is allowed when the NeoPot jumpers are soldered closed.](https://cdn-learn.adafruit.com/assets/assets/000/139/091/medium640/adafruit_products_arduino_neopot_metro_bb_wiring_yes_jumpers.png?1755551778)

## Library Installation

You can install the **Adafruit\_NeoPixel** library for Arduino using the Library Manager in the Arduino IDE. Click the Library Manager icon on the left tool bar, it looks like books on a shelf.

![Arduino IDE with library manager books icon highlighted.](https://cdn-learn.adafruit.com/assets/assets/000/139/093/medium800/adafruit_products_arduino_ide_library_manager.png?1755552409 )

Search for **Adafruit NeoPixel** , and select the **Adafruit NeoPixel** &nbsp;library:

![Arduino IDE library manager with Adafruit NeoPixel in the search box and the install button on the Adafruit NeoPixel library highlighted.](https://cdn-learn.adafruit.com/assets/assets/000/139/094/medium800/adafruit_products_arduino_ide_neopixel_install.png?1755552491 )

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_NeoPot/Arduino_Rainbow_Pot/Arduino_Rainbow_Pot.ino

Upload the sketch to your board and turn the knob. The NeoPixel shining through the knob will change to different colors of the rainbow as your turn.

![Adafruit NeoPot wired to Adafruit Metro with the arduino demo code running. The knob gets turned and shifts between the colors of the rainbow](https://cdn-learn.adafruit.com/assets/assets/000/139/095/medium800thumb/adafruit_products_arduino_neopot_optimized.jpg?1755552751 )

# Adafruit NeoPot

## Arduino Docs NeoPixel

# Adafruit NeoPot

## Downloads

## Files

- [EagleCAD PCB files on GitHub](https://github.com/adafruit/Adafruit-NeoPot-PCB)
- [3D models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/6387%20NeoPot)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20NeoPot%20Breakout.fzpz)

## Schematic and Fab Print
![schematic](https://cdn-learn.adafruit.com/assets/assets/000/138/908/medium800/adafruit_products_schem.png?1754923460 )

![fab print for pcb](https://cdn-learn.adafruit.com/assets/assets/000/138/909/medium800/adafruit_products_fab.png?1754923479 dimensions are in inches)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/371/medium800/adafruit_products_6387_NeoPot.jpg?1756906326 )


## Primary Products

### Adafruit NeoPot - Clear Shaft Potentiometer with RGB NeoPixel

[Adafruit NeoPot - Clear Shaft Potentiometer with RGB NeoPixel](https://www.adafruit.com/product/6387)
While researching potentiometers for a future design we bumped into the nifty [RK09K1130D62 clear shaft linear potentiometer](https://www.digikey.com/short/44mf3frz). This 10K linear pot is just like the popular Alps RK09 series but with a clear shaft that extends down to about 1mm...

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

## Related Guides

- [Adafruit RS232 Pal](https://learn.adafruit.com/adafruit-rs232-pal.md)
- [Adafruit CP2104 and CP2102N Friend - USB to Serial Converter](https://learn.adafruit.com/adafruit-cp2102n-cp2104-friend-usb-to-serial-converter.md)
- [Three Button Foot Switch](https://learn.adafruit.com/three-button-foot-switch.md)
- [Smart Mirror with PyPortal](https://learn.adafruit.com/smart-mirror-with-pyportal.md)
- [NeoKey Socket Breakout with NeoPixel for MX and CHOC Key Switches](https://learn.adafruit.com/neokey-breakout.md)
- [Crickit Powered Minerva Owl Robot](https://learn.adafruit.com/crickit-powered-owl-robot.md)
- [NeuroDreamer Teardown](https://learn.adafruit.com/neurodreamer-teardown.md)
- [Adafruit Hallowing M4](https://learn.adafruit.com/adafruit-hallowing-m4.md)
- [Adafruit 1.3" Color TFT Bonnet for Raspberry Pi](https://learn.adafruit.com/adafruit-1-3-color-tft-bonnet-for-raspberry-pi.md)
- [Adafruit MPR121 12-Key Capacitive Touch Sensor Breakout Tutorial](https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial.md)
- [USB NeXT Keyboard with an Arduino Micro](https://learn.adafruit.com/usb-next-keyboard-with-arduino-micro.md)
- [Adafruit HDC302x Precision Temperature & Humidity Sensor](https://learn.adafruit.com/adafruit-hdc3021-precision-temperature-humidity-sensor.md)
- [Adafruit ItsyBitsy ESP32](https://learn.adafruit.com/adafruit-itsybitsy-esp32.md)
- [Adafruit PCM510x I2S DAC](https://learn.adafruit.com/adafruit-pcm510x-i2s-dac.md)
- [Adafruit Protomatter RGB Matrix Library](https://learn.adafruit.com/adafruit-protomatter-rgb-matrix-library.md)
