# Flying Faders

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/113/816/medium800/robotics___cnc_flyingthumb.jpg?1659312447)

https://youtu.be/aYd4uSoZ6rc

Motorized slide potentiometers, or "flying faders", are incredibly cool. They are most commonly found on large mixing boards at high end recording studios, used to allow fine control of audio levels while permitting pre-set positions to be recalled in real-time.

They consist of a slide potentiometer, and a motor that can convert rotational motion to linear motion, and either a capacitive touch sensor or current sensor to allow interaction with the fader while it is moving (the sensing prevents motor stalling or stripping of gears).

This guide will show you how to use the motorized slide pot with touch sensor in your projects -- this can be anything from lighting control, to MIDI synths, to animatronics, or home automation!

## Parts
### Motorized Slide Potentiometer - 10KΩ Linear with 5V DC Motor

[Motorized Slide Potentiometer - 10KΩ Linear with 5V DC Motor](https://www.adafruit.com/product/5466)
This linear slide potentiometer comes with an added&nbsp;_kick_&nbsp;- its [not just a plain old slide pot](https://www.adafruit.com/?q=slide+pot&sort=BestMatch)! Underneath is mounted a slim geared DC motor that can gently move the wiper up and down, without human...

In Stock
[Buy Now](https://www.adafruit.com/product/5466)
[Related Guides to the Product](https://learn.adafruit.com/products/5466/guides)
![Video of a motorized slide potentiometer sliding back and forth. A white finger pushes the knob to the middle of the track, and it resumes sliding back and forth.](https://cdn-shop.adafruit.com/product-videos/640x480/5466-08.jpg)

### Adafruit Feather RP2040

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
![Angled shot of black rectangular microcontroller "Feather RP2040"](https://cdn-shop.adafruit.com/640x480/4884-04.jpg)

### L9110H H-Bridge Motor Driver for DC Motors - 8 DIP

[L9110H H-Bridge Motor Driver for DC Motors - 8 DIP](https://www.adafruit.com/product/4489)
Run two solenoids or a single DC motor with up to 800mA per channel using the super-simple L9110H H-bridge driver. This bridge chip is an 8 DIP package so it's easy to fit onto any breadboard or perfboard.  
  
Each chip contains one full H-bridges (two half H-bridges). That means...

In Stock
[Buy Now](https://www.adafruit.com/product/4489)
[Related Guides to the Product](https://learn.adafruit.com/products/4489/guides)
![Demo Shot of the Feather wired to L9110 chip, driving a DC motor back and forth](https://cdn-shop.adafruit.com/product-videos/640x480/4489-03.jpg)

### Tactile Switch Assortment - 25 Different Buttons - 10 pcs each

[Tactile Switch Assortment - 25 Different Buttons - 10 pcs each](https://www.adafruit.com/product/5493)
When designing your next PCB, if you're not sure what sort of tactile switches you can fit, or how they would look, this **Tactile Switch Assortment with&nbsp;25 Different Buttons (10 pcs each type)&nbsp;**is incredibly handy! You get just enough that you can prototype and...

In Stock
[Buy Now](https://www.adafruit.com/product/5493)
[Related Guides to the Product](https://learn.adafruit.com/products/5493/guides)
![Overhead shot of dozens of different sized and colored packs of tactile switches.](https://cdn-shop.adafruit.com/640x480/5493-00.jpg)

### Full Sized Premium Breadboard - 830 Tie Points

[Full Sized Premium Breadboard - 830 Tie Points](https://www.adafruit.com/product/239)
This is a 'full-size' premium quality breadboard, 830 tie points. Good for small and medium projects. It's 2.2" x 7" (5.5 cm x 17 cm) with a standard double-strip in the middle and two power rails on both sides. You can pull the power rails off easily to make the...

In Stock
[Buy Now](https://www.adafruit.com/product/239)
[Related Guides to the Product](https://learn.adafruit.com/products/239/guides)
![Angled shot of full sized breadboard.](https://cdn-shop.adafruit.com/640x480/239-03.jpg)

### Part: 47uF Electolytic Capacitors
quantity: 1
Pack of 10
[47uF Electolytic Capacitors](https://www.adafruit.com/product/2194)

### Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40

[Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40](https://www.adafruit.com/product/4482)
These premium male-male jumper wires are handy for making wire harnesses or jumpering between headers on PCBs. They're&nbsp;200mm (~7.8") long and come loose as a pack of 40&nbsp;(10&nbsp;pieces of red, blue, yellow, and Adafruit black). They have 0.1" male header contacts on...

In Stock
[Buy Now](https://www.adafruit.com/product/4482)
[Related Guides to the Product](https://learn.adafruit.com/products/4482/guides)
![Bundle of Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40](https://cdn-shop.adafruit.com/640x480/4482-01.jpg)

### Part: Hook-up Wire Spool Set
quantity: 1
22AWG Solid Core - 10 x25ft
[Hook-up Wire Spool Set](https://www.adafruit.com/product/3174)

# Flying Faders

## Build the Flying Fader Circuit

![](https://cdn-learn.adafruit.com/assets/assets/000/113/798/medium800/robotics___cnc_flyingfad-8323.jpg?1659240561)

## Wiring

The motorized slide pot has three subsystems to connect to the microcontroller/driver circuit:

- **Potentiometer**
- **Motor**
- **Touch sense**

The potentiometer is read as a voltage divider by the microcontroller. It has three pins -- positive voltage, wiper (the sliding, variable potentiometer part), and ground. These are connected as such to the Feather:

- **Potentiometer pin 1 to Feather GND**
- **Potentiometer pin 2 to Feather A0 (any analog ADC pin works)**
- **Potentiometer pin 3 to Feather 3V**

The **touch sense** strip is the pin labeled **"T"** in the datasheet and connects to any cap sense capable pin on the microcontroller.

- **Touch sense pin to Feather A3**
- **Feather A3 to 1MΩ resistor to GND&nbsp;** (without the resistor, cap touch will not work on some microcontroller chips)

The **motor** is connected to an **h-bridge** driver. This allows the microcontroller to control the motor at variable speeds in both "forward" and "reverse" directions.

- **Motor A pin to L9110 Output A (pin 1)&nbsp;**
- **Motor B pin to L9110 Output B (pin 4)**
- **Feather D12 to L9110 Input A (pin 6)**
- **Feather D11 to L9110 Input B (pin 7)**
- **Feather USB 5V to L9110 VCC (pins 2, 3)**
- **L9110 GND (pins 5, 8) to Feather GND**

Warning: 

![](https://cdn-learn.adafruit.com/assets/assets/000/113/792/medium800/robotics___cnc_motorized_fader_fritz.jpg?1659135637)

![](https://cdn-learn.adafruit.com/assets/assets/000/113/796/medium800/robotics___cnc_flyingfad-8302.jpg?1659240532)

## Wire the Fader

The motorized slide pot has solder lugs for connection points. Strip some insulation from your jumper wires and solder them to the lugs. You can also use heat shrink tubing to neaten up the wiring as shown here.

![robotics___cnc_flyingfad-8303.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/806/medium640/robotics___cnc_flyingfad-8303.jpg?1659310922)

![robotics___cnc_flyingfad-8304.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/807/medium640/robotics___cnc_flyingfad-8304.jpg?1659310928)

![robotics___cnc_flyingfad-8305.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/808/medium640/robotics___cnc_flyingfad-8305.jpg?1659310934)

## Buttons

For the demo here, we'll also use four momentary switch push-buttons. They are connected respectively to **Feather D5, D6, D9, D10&nbsp;** on one side and **GND** on the other.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/797/medium800/robotics___cnc_flyingfad-8307.jpg?1659240548)

Warning: 

[Breadboard basics link](https://learn.adafruit.com/breadboards-for-beginners/breadboard-tips-and-tricks#connecting-the-two-power-rails-1952988)
Here's the whole kit and caboodle wired together for use.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/811/medium800/robotics___cnc_flyingfad-8308.jpg?1659311111)

# Flying Faders

## Install CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython running on your board.

[Download the latest version of CircuitPython for this board via circuitpython.org](https://circuitpython.org/board/adafruit_feather_rp2040/)
 **Click the link above to download the latest CircuitPython UF2 file.**

Save it wherever is convenient for you.

![install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/655/medium640/install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg?1618943202)

![](https://cdn-learn.adafruit.com/assets/assets/000/102/705/medium800/adafruit_products_FeatherRP_buttons_highlighted.jpg?1623167565)

To enter the bootloader, hold down the **BOOT/**** BOOTSEL button**(highlighted in red above), and while continuing to hold it (don't let go!), press and release the**reset button**(highlighted in red or blue above).&nbsp;**Continue to hold the BOOT/BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, release all the buttons, and then repeat the process above.

You can also start with your board unplugged from USB, press and hold the BOOTSEL button (highlighted in red above), continue to hold it while plugging it into USB, and wait for the drive to appear before releasing the button.

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **RPI-RP2**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **RPI-RP2.**

![install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/656/medium640/install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg?1618943666)

![install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/657/medium640/install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg?1618943674)

The **RPI-RP2** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/658/medium640/install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg?1618943864)

## Safe Mode

You want to edit your **code.py** or modify the files on your **CIRCUITPY** drive, but find that you can't. Perhaps your board has gotten into a state where **CIRCUITPY** is read-only. You may have turned off the **CIRCUITPY** drive altogether. Whatever the reason, safe mode can help.

Safe mode in CircuitPython does not run any user code on startup, and disables auto-reload. This means a few things. First, safe mode _bypasses any code in_ **boot.py** (where you can set **CIRCUITPY** read-only or turn it off completely). Second, _it does not run the code in_ **code.py**. And finally, _it does not automatically soft-reload when data is written to the_ **CIRCUITPY** _drive_.

Therefore, whatever you may have done to put your board in a non-interactive state, safe mode gives you the opportunity to correct it without losing all of the data on the **CIRCUITPY** drive.

### Entering Safe Mode
To enter safe mode when using CircuitPython, plug in your board or hit reset (highlighted in red above). Immediately after the board starts up or resets, it waits 1000ms. On some boards, the onboard status LED (highlighted in green above) will blink yellow during that time. If you press reset during that 1000ms, the board will start up in safe mode. It can be difficult to react to the yellow LED, so you may want to think of it simply as a slow double click of the reset button. (Remember, a fast double click of reset enters the bootloader.)

### In Safe Mode

If you successfully enter safe mode on CircuitPython, the LED will intermittently blink yellow three times.

If you connect to the serial console, you'll find the following message.

```terminal
Auto-reload is off.
Running in safe mode! Not running saved code.

CircuitPython is in safe mode because you pressed the reset button during boot. Press again to exit safe mode.

Press any key to enter the REPL. Use CTRL-D to reload.
```

You can now edit the contents of the **CIRCUITPY** drive. Remember, _your code will not run until you press the reset button, or unplug and plug in your board, to get out of safe mode._

## Flash Resetting UF2

If your board ever gets into a really _weird_ state and CIRCUITPY doesn't show up as a disk drive after installing CircuitPython, try loading this 'nuke' UF2 to RPI-RP2. which will do a 'deep clean' on your Flash Memory. **You will lose all the files on the board** , but at least you'll be able to revive it! After loading this UF2, follow the steps above to re-install CircuitPython.

[Download flash erasing "nuke" UF2](https://cdn-learn.adafruit.com/assets/assets/000/101/659/original/flash_nuke.uf2?1618945856)
# Flying Faders

## Code the Flying Fader in CircuitPython

## Text Editor

Adafruit recommends using the **Mu** editor for editing your CircuitPython code. You can get more info in [this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

Alternatively, you can use any text editor that saves simple text files.

## Download the Project Bundle

Your project will use a specific set of CircuitPython libraries and the&nbsp; **code.py** &nbsp;file. To get everything you need, click on the&nbsp; **Download Project Bundle** &nbsp;link below, and uncompress the .zip file.

Drag the contents of the uncompressed bundle directory onto your Feather board's **CIRCUITPY** &nbsp;drive, replacing any existing files or directories with the same names, and adding any new ones that are necessary.

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

## Use the Flying Fader

Once the code is up and running, allow it to run through the boot up sequence that will move the fader to a couple of position presets, and it will also calibrate the touch sensor. Be sure not to touch the potentiometer during this start up.

Then, you can press any of the four buttons to go to a preset location, or move the fader -- you'll feel the motor is disengaged until you let go, then it will move back to the last preset position!

Info: 

## How It Works

### Libraries

First, the code imports the necessary libraries. In particular:

- ` pwmio` along with `adafruit_motor` are used to control the motor speed and direction via the H-bridge driver
- `analogio` is used to read the slide potentiometer as an analog input
- `touchio` is used to detect when the potentiometer lever is being touched

```auto
import time
import board
import pwmio
import analogio
import touchio
import neopixel
from digitalio import DigitalInOut, Pull
from adafruit_debouncer import Debouncer
from adafruit_motor import motor
```

### Button Setup

Button setup is optional (you can use the motorized slide pot without buttons) but it's nice to have some buttons to press to go to preset positions. You could also repurpose these to record new presets if you like.

```python
button_pins = (board.D10, board.D9, board.D6, board.D5)
buttons = []
for button_pin in button_pins:
    tmp_pin = DigitalInOut(button_pin)
    tmp_pin.pull = Pull.UP
    buttons.append(Debouncer(tmp_pin))
```

The `saved_positions` list is a set of integer numbers that can be recalled by pressing buttons. Change these to whatever you like.

```auto
saved_positions = (230, 180, 120, 60)
```

### Slide Potentiometer Setup

The slide potentiometer is set up as an analog input using **analogio** on pin **A0** (an ADC pin is required) named `fader`.

By reading the pin value (`fader.value`) a 16-bit value is returned -- we then convert this to a 0-255 range for use in the code (the ADC is usually 12- or 10-bit, so the 16-bit value tends to be too noisy in practice. The 8-bit works very well.)

A state variable called `last_fader_pos` is created so we can detect when the pot position is changed.

```auto
fader = analogio.AnalogIn(board.A0)
fader_position = fader.value  # ranges from 0-65535
fader_pos = fader.value // 256  # make 0-255 range
last_fader_pos = fader_pos
```

### Motor Setup

The motor is a DC motor that can be controlled to go in either direction and at varying speed by using a full H-bridge driver, in this case the L9910.

To do this, we'll use two **PWM** (pulse width modulation) pins from the microcontroller which act as a sort of pseudo analog output.

The two PWM objects are created with a frequency of 50Hz (more on tuning PWM for DC motors [in this guide](https://learn.adafruit.com/improve-brushed-dc-motor-performance/overview)), and then the **motor1** object is created using `motor.DCMotor()`.

```auto
PWM_PIN_A = board.D12  
PWM_PIN_B = board.D11

pwm_a = pwmio.PWMOut(PWM_PIN_A, frequency=50)
pwm_b = pwmio.PWMOut(PWM_PIN_B, frequency=50)
motor1 = motor.DCMotor(pwm_a, pwm_b)
```

### Touch Setup

Next, the capacitive touch sense for the pot lever is set up. This requires a touch-capable pin.

You can fine-tune the touch threshold if you want, or use the setting that is self-calibrated during setup.

```auto
touch = touchio.TouchIn(board.A3)
touch.threshold = touch.raw_value + 30
```

### Clamp Function

This function is created to simply clamp the motor throttle values between -1.0 and 1.0.

```auto
def clamp(num, min_value, max_value):
    return max(min(num, max_value), min_value)
```

### Go\_to\_position Function

This function is called whenever the fader needs to fly to a new position!

The `new_position` argument can be a value from 0-255.

The way this works is a sort of PD (position-derivative) feedback loop. Essentially, the motor moves a tiny bit, then the slide potentiometer value is read. The difference between the current position and the new position will continue to decrease, approaching zero, as the motor moves the slide to the goal.

To avoid overshoot, the throttle value is decreased as the slider gets closer to the goal, sort of like slowing a car by letting off the gas before hitting the brakes at a stop sign.

```auto
def go_to_position(new_position):
    global fader_pos
    fader_pos = int(fader.value//256)
    while abs(fader_pos - new_position) > 2 :
        if fader_pos > new_position :
            speed = 2.25 * abs(fader_pos - new_position) / 256 + 0.12
            speed = clamp(speed, -1.0, 1.0)
            motor1.throttle = speed
            led[0] = (fader_pos, 0, 0)

        if fader_pos < new_position:
            speed = -2.25 * abs(fader_pos - new_position) / 256 - 0.12
            speed = clamp(speed, -1.0, 1.0)
            motor1.throttle = speed
            led[0] = (fader_pos, 0, 0)

        fader_pos = int(fader.value//256)
    motor1.throttle = None
```

### Main Loop

The main loop of the program does three essential things:

- Check for button presses, which change the `current_saved_position` value
- Check for touch sense on the potentiometer lever, which disables the motor throttle to allow free movement. When the touch is removed, the `go_to_positon()` function is called to return the fader to the last position
- Watch for changes to the potentiometer value -- this can be both when manually moving the fader or when the motor is driving it. When the fader is slid, the analog values are filtered to remove noise/jitter and then anything you want to happen, happens! This can be LED fading, MIDI output, etc.

```auto
for i in range(len(buttons)):
        buttons[i].update()
        if buttons[i].fell:  # if a button is pressed, update the position from list
            current_saved_position = i

    if touch.value:
        motor1.throttle = None  # idle
    else:
        go_to_position(saved_positions[current_saved_position])

    filter_amt = 0.1  # higher number will be a slower filter between 1.0 and 0.1 is good
    fader_pos = int((filter_amt * last_fader_pos) + ((1.0-filter_amt) * fader.value//256))
    led[0] = (fader_pos, 0, 0)
    if abs(fader_pos - last_fader_pos) > 1 :  # do things in here, e.g. send MIDI CC
        fader_width = 90  # for text visualization in serial output
        print("-" * (fader_width - int(fader_pos/3)), fader_pos, "-" * int(fader_pos/3), end='\r')
        last_fader_pos = fader_pos
```

## Code Customization

The demo code includes an option to send MIDI CC values. To enable this, simply change the line:

`MIDI_DEMO = False`

to&nbsp;

`MIDI_DEMO = True`

This will allow the code to load the necessary MIDI libraries and then send 0-127 values over MIDI channel 1 CC number 16. (You can change those settings as well if you like.)

Try firing up a software synthesizer and set a synth parameter to be controlled by your flying fader!

https://youtu.be/aYd4uSoZ6rc

# Flying Faders

## Code the Flying Fader in Arduino

The Arduino version works in nearly the same way as the CircuitPython version. First, set up the Arduino IDE for use with Feather RP2040 [as shown in this guide](https://learn.adafruit.com/adafruit-feather-rp2040-pico/arduino-ide-setup).

Then, copy the code below and paste it into a new Arduino document. Save it in your Arduino project folder, and then upload it to the Feather, using the settings shown in the guide linked above.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Flying_Fader_Arduino/Flying_Fader_Arduino.ino


## Featured Products

### Motorized Slide Potentiometer - 10KΩ Linear with 5V DC Motor

[Motorized Slide Potentiometer - 10KΩ Linear with 5V DC Motor](https://www.adafruit.com/product/5466)
This linear slide potentiometer comes with an added&nbsp;_kick_&nbsp;- its [not just a plain old slide pot](https://www.adafruit.com/?q=slide+pot&sort=BestMatch)! Underneath is mounted a slim geared DC motor that can gently move the wiper up and down, without human...

In Stock
[Buy Now](https://www.adafruit.com/product/5466)
[Related Guides to the Product](https://learn.adafruit.com/products/5466/guides)
### L9110H H-Bridge Motor Driver for DC Motors - 8 DIP

[L9110H H-Bridge Motor Driver for DC Motors - 8 DIP](https://www.adafruit.com/product/4489)
Run two solenoids or a single DC motor with up to 800mA per channel using the super-simple L9110H H-bridge driver. This bridge chip is an 8 DIP package so it's easy to fit onto any breadboard or perfboard.  
  
Each chip contains one full H-bridges (two half H-bridges). That means...

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

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
### Tactile Switch Assortment - 25 Different Buttons - 10 pcs each

[Tactile Switch Assortment - 25 Different Buttons - 10 pcs each](https://www.adafruit.com/product/5493)
When designing your next PCB, if you're not sure what sort of tactile switches you can fit, or how they would look, this **Tactile Switch Assortment with&nbsp;25 Different Buttons (10 pcs each type)&nbsp;**is incredibly handy! You get just enough that you can prototype and...

In Stock
[Buy Now](https://www.adafruit.com/product/5493)
[Related Guides to the Product](https://learn.adafruit.com/products/5493/guides)
### Full Sized Premium Breadboard - 830 Tie Points

[Full Sized Premium Breadboard - 830 Tie Points](https://www.adafruit.com/product/239)
This is a 'full-size' premium quality breadboard, 830 tie points. Good for small and medium projects. It's 2.2" x 7" (5.5 cm x 17 cm) with a standard double-strip in the middle and two power rails on both sides. You can pull the power rails off easily to make the...

In Stock
[Buy Now](https://www.adafruit.com/product/239)
[Related Guides to the Product](https://learn.adafruit.com/products/239/guides)
### 47uF 25V Electrolytic Capacitors - Pack of 10

[47uF 25V Electrolytic Capacitors - Pack of 10](https://www.adafruit.com/product/2194)
We like capacitors so much we made a&nbsp;[kids' show about them.](https://www.youtube.com/watch?v=sy_G1oYRQmM)&nbsp; &nbsp;They're super handy and it's really helpful to have a variety lying around to pick and choose from.

<p...></p...>No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2194)
[Related Guides to the Product](https://learn.adafruit.com/products/2194/guides)
### Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40

[Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40](https://www.adafruit.com/product/4482)
These premium male-male jumper wires are handy for making wire harnesses or jumpering between headers on PCBs. They're&nbsp;200mm (~7.8") long and come loose as a pack of 40&nbsp;(10&nbsp;pieces of red, blue, yellow, and Adafruit black). They have 0.1" male header contacts on...

In Stock
[Buy Now](https://www.adafruit.com/product/4482)
[Related Guides to the Product](https://learn.adafruit.com/products/4482/guides)
### Hook-up Wire Spool Set - 22AWG Solid Core - 10 x 25ft

[Hook-up Wire Spool Set - 22AWG Solid Core - 10 x 25ft](https://www.adafruit.com/product/3174)
This is a box of **ten** &nbsp;25ft&nbsp;spools of **solid-core** wire. The wire is easy to solder to, and when bent it keeps its shape pretty well. We like to have a few spools of this stuff around which is why this set is quite nice! We suggest picking up some wire...

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

## Related Guides

- [Introducing Adafruit Feather RP2040](https://learn.adafruit.com/adafruit-feather-rp2040-pico.md)
- [CNC Rotary Macropad](https://learn.adafruit.com/cnc-rotary-macropad.md)
- [Adafruit Floppy FeatherWing with 34-Pin IDC Connector](https://learn.adafruit.com/adafruit-floppy-featherwing-with-34-pin-idc-connector.md)
- [Darth Faders](https://learn.adafruit.com/darth-faders.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
- [LED Rocket Lamp](https://learn.adafruit.com/led-rocket-lamp.md)
- [Hacking Holiday Animatronics](https://learn.adafruit.com/hacking-holiday-animatronics.md)
- [Mini GIF Players](https://learn.adafruit.com/mini-gif-players.md)
- [NeoTrellis MIDI Feedback Controller](https://learn.adafruit.com/neotrellis-midi-feedback-controller.md)
- [Soundboard Speaker for Bikes & Scooters](https://learn.adafruit.com/soundboard-speaker-for-bikes-scooters.md)
- [MIDI Controlled Robot Lyre with CircuitPython](https://learn.adafruit.com/midi-controlled-robot-lyre-with-circuitpython.md)
- [Neocontroller Color Grading Input Box](https://learn.adafruit.com/neocontroller-color-grading-input-box.md)
- [Circle of Fifths Euclidean Synth with synthio and CircuitPython](https://learn.adafruit.com/circle-of-fifths-euclidean-synth-with-synthio-and-circuitpython.md)
- [Bubble Table with LED Animations and IR Remote Control](https://learn.adafruit.com/bubble-table-with-led-animations-and-ir-remote-control.md)
- [Disconnected CO2 Data Logger](https://learn.adafruit.com/disconnected-co2-data-logger.md)
- [Adafruit DS3502 I2C Digital Potentiometer](https://learn.adafruit.com/ds3502-i2c-potentiometer.md)
