# Step Switch Party

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/114/184/medium800thumb/components_step_switch_anim2.jpg?1660607344)

Re-live your Roland 808 drum machine dreams with these step switches with LEDs. They're tactile, they're momentary, and they're awesome.

This guide shows how you can use them as simple inputs for an Arduino or CircuitPython-based project on Pico, but you can use these methods for any microcontroller board you like.

The basic examples let you make a desktop switcher, game item selector, or MIDI controller using a simple bit of code. You'll be reading switches and toggling their LEDs for feedback in no time!

## Parts
### Step Switch with LED - Three Pack of Blue Plastic with Red LED

[Step Switch with LED - Three Pack of Blue Plastic with Red LED](https://www.adafruit.com/product/5517)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile, with a good clicky feel. And of course, the built in red LED is...

In Stock
[Buy Now](https://www.adafruit.com/product/5517)
[Related Guides to the Product](https://learn.adafruit.com/products/5517/guides)
![Angled shot of three blue step-switches with LEDs.](https://cdn-shop.adafruit.com/640x480/5517-01.jpg)

### Raspberry Pi Pico RP2040

[Raspberry Pi Pico RP2040](https://www.adafruit.com/product/4864)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico**. This...

In Stock
[Buy Now](https://www.adafruit.com/product/4864)
[Related Guides to the Product](https://learn.adafruit.com/products/4864/guides)
![Angle shot of Raspberry Pi Pico RP2040](https://cdn-shop.adafruit.com/640x480/4864-00.jpg)

### 20-pin 0.1" Female Header - Blue - 5 pack

[20-pin 0.1" Female Header - Blue - 5 pack](https://www.adafruit.com/product/4156)
Female header is like the duct tape of electronics. It's great for connecting things together, soldering to perf-boards, sockets for wires or break-away header, etc. We go through these real fast, and thought that given how handy they are, we'd offer them in a pack of five!

Each...

In Stock
[Buy Now](https://www.adafruit.com/product/4156)
[Related Guides to the Product](https://learn.adafruit.com/products/4156/guides)
![Five pack of 20-pin 0.1 Female Header - Blue plastic](https://cdn-shop.adafruit.com/640x480/4156-00.jpg)

### Universal Proto-Board PCBs 5cm x 7cm - 3 Pack

[Universal Proto-Board PCBs 5cm x 7cm - 3 Pack](https://www.adafruit.com/product/4786)
Here's a handy 3-pack of **5cm x 7cm Proto-board PCBs** in green. Both sides have a green silkscreen with some row/column markings. Note that these _don't_ have any traces between the PCB holes, <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4786)
[Related Guides to the Product](https://learn.adafruit.com/products/4786/guides)
![Angled shot of single Universal Proto-Board PCB 5cm x 7cm](https://cdn-shop.adafruit.com/640x480/4786-05.jpg)

### Break-away 0.1" 36-pin strip male header - Blue - 10 pack

[Break-away 0.1" 36-pin strip male header - Blue - 10 pack](https://www.adafruit.com/product/4150)
In this world, nothing can be said to be certain, except we need headers, headers, and _more headers_!

Each pack contains ten blue&nbsp; **36-pin&nbsp;0.1" pitch break-away male headers.** &nbsp; These are a little extra special in that the plastic holding the pins...

In Stock
[Buy Now](https://www.adafruit.com/product/4150)
[Related Guides to the Product](https://learn.adafruit.com/products/4150/guides)
![Break-away 0.1 inch 36-pin strip male header - Blue plastic](https://cdn-shop.adafruit.com/640x480/4150-03.jpg)

### Through-Hole Resistors - 1.0K ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 1.0K ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/4294)
ΩMG! You're not going to be able to resist these handy resistor packs!&nbsp;Well, axially, they&nbsp;do all of the resisting for you!

This is a **25 Pack of 1.0KΩ Resistors.** More specifically, they are **carbon film** , through-hole...

In Stock
[Buy Now](https://www.adafruit.com/product/4294)
[Related Guides to the Product](https://learn.adafruit.com/products/4294/guides)
![Angled shot of 25 Through-Hole Resistors - 1.0K ohm 5% 1/4W.](https://cdn-shop.adafruit.com/640x480/4294-00.jpg)

## Tools
- **soldering iron & solder**
- **hookup wire**
- **wire cutters**

# Step Switch Party

## Step Switch Pinout

![](https://cdn-learn.adafruit.com/assets/assets/000/114/177/medium800/components_step_switch_pinout2.jpg?1660598222)

Flip over a step switch like a fat beetle taking a nap and have a look at the underbelly.&nbsp;

First of all, you can see from the pin arrangement that this switch can't be used on a breadboard, perma proto, or stripboard due to the pin arrangement. However, the 0.1" spacing means you can use it on a perf board that is a free grid with no problems. You'll need to do point-to-point wiring (or make your own PCB) to hook things up.

### LEDs

The top two pins are the LED legs. You'll use a 1K resistor to limit current. The leg labeled "-" goes to ground, while the other will run via the resistor to your digital output pin or PWM.

### Switch Common

The switch is a momentary SPDT (single-pole, dual throw). This means the common pins are connected and can be wired to ground.

### Throw Pins

The bottom two pins are the throws. You'' wire either the N.C. (normally closed) or N.O. (normally open) throw pin to a digital input pin on your microcontroller to read the state. When the switch is pressed the N.C. pin will change to open and the N.O. pin will change to closed. Just pick one to read and you'll be set!

Here's a view of the pinout from the top.

![](https://cdn-learn.adafruit.com/assets/assets/000/114/182/medium800/components_step_switch_pinout_top2.jpg?1660599442)

# Step Switch Party

## Assemble the Step Switch Party

![](https://cdn-learn.adafruit.com/assets/assets/000/114/183/medium800/components_step_switch_pico02.jpg?1660599565)

The Step Switch Part assembly uses uses eight GPIO pins on the Pico -- four to read the switches, and four to drive the LEDs.

The Fritzing diagram above show the connections, you'll use a gridded proto board to build it securely.

![](https://cdn-learn.adafruit.com/assets/assets/000/114/185/medium800/components_stswpc-8599.jpg?1660624278)

## Switches in Board

Press the four switches into the proto board as shown, being careful not to bend any legs. Note there are two plastic feet that also fit in holes in the PCB.

Solder the pins to the board. Later you'll add thin wires to directly connect to the Pico.

![components_stswpc-8601.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/186/medium640/components_stswpc-8601.jpg?1660624453)

![components_stswpc-8600.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/187/medium640/components_stswpc-8600.jpg?1660624461)

![components_stswpc-8603.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/188/medium640/components_stswpc-8603.jpg?1660624473)

![components_stswpc-8602.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/189/medium640/components_stswpc-8602.jpg?1660624492)

![](https://cdn-learn.adafruit.com/assets/assets/000/114/192/medium800/components_stswpc-8597.jpg?1660624617)

## Pico Headers

Next, solder in two rows of header sockets for the Pico.&nbsp;

If the Pico came without header pins attached, solder those in now too.&nbsp;

![components_stswpc-8598.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/195/medium640/components_stswpc-8598.jpg?1660624639)

![](https://cdn-learn.adafruit.com/assets/assets/000/114/202/medium800/components_stswpc-8593.jpg?1660626034)

## Solder the Circuit

Following the Fritzing diagra, solder the circuit. The photo below shows a false color overlay to make it easier to see each run of the circuit.

Start by running a ground rail wire across the switch common pins, and connect it to Pico GND. In the overlay this is the purple run.

![components_stswpc-8604.jpg](https://cdn-learn.adafruit.com/assets/assets/000/114/203/medium640/components_stswpc-8604.jpg?1660627272)

Create short runs from the ground rail wire to the anode (negative) led of each LED. These are also purple in the overlay.

Next, run the cathode (positive) leg of each LED to their respective Pico pins via 1KΩ resistors. They are shown below with the blue overlay.

Finally, run the N.O. pin of each switch to its respective pin on the Pico. These are shown in yellow below.

![](https://cdn-learn.adafruit.com/assets/assets/000/114/204/medium800/components_stswpc-8604b.jpg?1660627303)

## Bottom Plate

Use M2 screws and standoffs to connect a proto PCB as a bottom plate, or simply use some rubber adhesive feet.

![](https://cdn-learn.adafruit.com/assets/assets/000/114/205/medium800/components_stswpc-8594.jpg?1660627686)

Next you'll code the Step Switch Pico and use it.

# Step Switch Party

## Installing 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 working on your board.

[Download the latest version of CircuitPython for the Raspberry Pi Pico from circuitpython.org](https://circuitpython.org/board/raspberry_pi_pico/)
 **Click the link above and download the latest UF2 file.**

Download and save it to your desktop (or wherever is handy).

![circuitpython_Cat_UF2_download.png](https://cdn-learn.adafruit.com/assets/assets/000/098/753/medium640/circuitpython_Cat_UF2_download.png?1611157944)

Start with your Pico unplugged from USB. Hold down the **BOOTSEL** button, and while continuing to hold it (don't let go!), plug the Pico into USB. **Continue to hold the BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, unplug your Pico and go through the above process again.

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

![raspberry_pi_one_one_two.png](https://cdn-learn.adafruit.com/assets/assets/000/125/993/medium640/raspberry_pi_one_one_two.png?1699493528)

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

&nbsp;

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

![circuitpython_Cat_RPI-RP2_drive.png](https://cdn-learn.adafruit.com/assets/assets/000/098/756/medium640/circuitpython_Cat_RPI-RP2_drive.png?1611158210)

![circuitpython_Cat_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/098/758/medium640/circuitpython_Cat_drag_UF2.png?1611158274)

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

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

![circuitpython_Cat_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/098/759/medium640/circuitpython_Cat_CIRCUITPY.png?1611158312)

## Flash Resetting UF2

If your Pico ever gets into a really _weird_ state and doesn't even show up as a disk drive when installing CircuitPython, try installing this 'nuke' UF2 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 nuking, re-install CircuitPython

[flash_nuke.uf2](https://datasheets.raspberrypi.com/soft/flash_nuke.uf2)
# Step Switch Party

## Code the Step Switch Party with CircuitPython

https://youtu.be/FalEpVXxhGw?t=1260

## 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 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/Step_Switch_Pico_Demo/code.py

![](https://cdn-learn.adafruit.com/assets/assets/000/114/207/medium800thumb/components_step_switch_anim2.jpg?1660627744)

## Use It

On startup, the board waits for you to select a mode by pressing one of the four switches. From left-to-right the modes are " **MIDI**", " **Desktop**  **switcher**", " **Item**  **selector**", and " **Copy-Paste**".

- In **MIDI mode** pressing each key toggles a MIDI CC on and off (127 or 0). You can see this in action in the video at the top of the page
- **Desktop switcher mode** pick among four MacOS desk "Spaces". You can see a video of this mode demonstrated below.
- **Selector mode** pick four main items in many video games, particularly first-person shooters
- **Copy-Paste** mode invokes "select all", "cut", "copy", and "paste" shortcuts

https://youtu.be/FalEpVXxhGw?t=2079

## How it Works

The code is doing a few basic tasks: checking for button presses, toggling the LEDs, and sending USB MIDI or USB HID messages.

To make the button reading simple, we use the **adafruit\_keypad** library.

```auto
import time
import board
import keypad
from digitalio import Direction, DigitalInOut
```

## Switch Setup

The setup for multiple switches if very simple when using the keypad library. You create a variable name for the group of pins, list the pins, and then create a keypad object (in this case named `keys`) that point to the switch pin list, set a value default, and choose a pull up or down resistor value.

```auto
switch_pins = (board.GP6, board.GP7, board.GP8, board.GP9)
keys = keypad.Keys(switch_pins, value_when_pressed=False, pull=True)
```

LED Setup

The LEDs are set up as a list so they are easy to call later using a list and index, e.g.` leds[2]`

```auto
led_pins = (board.GP2, board.GP3, board.GP4, board.GP5)
leds = []
for led_pin in led_pins:
    tmp_led_pin = DigitalInOut(led_pin)
    tmp_led_pin.direction = Direction.OUTPUT
    tmp_led_pin.value = False
    leds.append(tmp_led_pin)
```

## Blink Functions

A couple of convenience functions are created to make it easy to blink one or all of the LEDs.

&nbsp;

```auto
def blink_led(led_num, pause, repeat):
    for __ in range(repeat * 2):
        leds[led_num].value = not leds[led_num].value
        time.sleep(pause)

def blink_all_leds(pause, repeat):
    for __ in range(repeat * 2):
        for led in leds:
            led.value = not led.value
        time.sleep(pause)
```

## Mode Selection

At startup, the code will wait for the user to select one of four modes by clicking one of the step switches.

To do so, we have a `mode_picked` state, a `mode_choice` variable, and four possible modes.

Using a `while not mode_picked:` loop, the program essentially checks for a button press before it will get out of the loop and move ahead.

```auto
mode_picked = False  # state of mode selection
mode_choice = 0  # MIDI mode, desk switcher mode, etc.
modes = (0, 1, 2, 3)
mode_names = ("MIDI", "DESK", "SELECTOR", "COPY-PASTE")

print("Select the mode by pressing a button: MIDI, DESK, SELECTOR, or COPY-PASTE")
while not mode_picked:  # program waits for a mode to be picked
    key = keys.events.get()
    if key:
        if key.pressed:
            mode_choice = key.key_number
            print(mode_names[mode_choice], "mode")
            mode_picked = True
```

## Modes

Once a mode is selected, additional libraries are imported relevant to the mode selection, as well as some other specific setup.

For mode 0, MIDI is set up, with a list of CC numbers to use.

```auto
if mode_choice == 0:  # MIDI mode
    import usb_midi
    import adafruit_midi
    from adafruit_midi.control_change import ControlChange
    midi = adafruit_midi.MIDI(
                            midi_in=usb_midi.ports[0],
                            in_channel=0,
                            midi_out=usb_midi.ports[1],
                            out_channel=0
    )
    cc_num = [16, 17, 18, 19]
    cc_state = [False, False, False, False]
```

The other three modes import USB hid libraries.

```auto
else:  # HID modes
    import usb_hid
    from adafruit_hid.keyboard import Keyboard
    from adafruit_hid.keycode import Keycode
```

## HID Modes

The HID modes have their own specific setups to specify key combos to press.

```auto
if mode_choice == 1:  # Mac Desktop switcher mode
    kpd = Keyboard(usb_hid.devices)
    MODIFIER = Keycode.CONTROL
    KEYMAP = (
        ("Desktop 1", [MODIFIER, Keycode.ONE]),
        ("Desktop 2", [MODIFIER, Keycode.TWO]),
        ("Desktop 3", [MODIFIER, Keycode.THREE]),
        ("Desktop 4", [MODIFIER, Keycode.FOUR]),
    )

if mode_choice == 2:  # SELECTOR mode for game weapon slot, Wirecast, etc.
    kpd = Keyboard(usb_hid.devices)
    MODIFIER = Keycode.SHIFT
    KEYMAP = (
        ("Selector 1", [MODIFIER, Keycode.ONE]),
        ("Selector 2", [MODIFIER, Keycode.TWO]),
        ("Selector 3", [MODIFIER, Keycode.THREE]),
        ("Selector 4", [MODIFIER, Keycode.FOUR]),
    )

if mode_choice == 3:  # Copy/Paste mode
    kpd = Keyboard(usb_hid.devices)
    # Choose the correct modifier key for Windows or Mac.
    # MODIFIER = Keycode.CONTROL  # For Windows
    MODIFIER = Keycode.COMMAND
    KEYMAP = (
        ("Copy/Paste 1", [MODIFIER, Keycode.A]),  # select all
        ("Copy/Paste 2", [MODIFIER, Keycode.X]),  # cut
        ("Copy/Paste 3", [MODIFIER, Keycode.C]),  # copy
        ("Copy/Paste 4", [MODIFIER, Keycode.V]),  # paste
    )
```

## Main Loop

When the main loop of the program is running the step switches are checked using the keys.events.get() command.

When a key is pressed, that switch's LED lights up and the associated command is sent.

```auto
while True:
    key = keys.events.get()
    if key:
        if key.pressed:
            i = key.key_number
            print(i, "pressed")
            if mode_choice == 0:
                leds[i].value = not leds[i].value
                if cc_state[i] is False:
                    midi.send(ControlChange(cc_num[i], 127))
                    cc_state[i] = True
                else:
                    midi.send(ControlChange(cc_num[i], 0))
                    cc_state[i] = False
            else:
                print(KEYMAP[i][0])
                kpd.send(*KEYMAP[i][1])
                for switch_led in leds:  # blank the LEDs first
                    switch_led.value = False
                leds[i].value = True  # light selected switch LED
```

# Step Switch Party

## Code the Step Switch Party with Arduino

The Arduino version works in nearly the same way as the fundamentals of the CircuitPython version (without the HID and MIDI output). First, set up the Arduino IDE with the Earle Philhower core for use with Pico RP2040&nbsp;[as shown in this guide](https://learn.adafruit.com/rp2040-arduino-with-the-earlephilhower-core/installing-the-earlephilhower-core).

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 Pico, using the settings shown in the guide linked above.

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


## Featured Products

### Step Switch with LED - Three Pack of Blue Plastic with Red LED

[Step Switch with LED - Three Pack of Blue Plastic with Red LED](https://www.adafruit.com/product/5517)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile, with a good clicky feel. And of course, the built in red LED is...

In Stock
[Buy Now](https://www.adafruit.com/product/5517)
[Related Guides to the Product](https://learn.adafruit.com/products/5517/guides)
### Step Switch with LED - Three Pack of Red Plastic with Red LED

[Step Switch with LED - Three Pack of Red Plastic with Red LED](https://www.adafruit.com/product/5499)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile&nbsp;with a good clicky feel. And of course, the built in red...

In Stock
[Buy Now](https://www.adafruit.com/product/5499)
[Related Guides to the Product](https://learn.adafruit.com/products/5499/guides)
### Step Switch with LED - Three Pack of Yellow with Red LED

[Step Switch with LED - Three Pack of Yellow with Red LED](https://www.adafruit.com/product/5516)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile&nbsp;with a good clicky feel. And of course, the built in red...

In Stock
[Buy Now](https://www.adafruit.com/product/5516)
[Related Guides to the Product](https://learn.adafruit.com/products/5516/guides)
### Step Switch with LED - Three Pack of White with Red LED - PB86

[Step Switch with LED - Three Pack of White with Red LED - PB86](https://www.adafruit.com/product/5519)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile&nbsp;with a good clicky feel. And of course, the built in red...

In Stock
[Buy Now](https://www.adafruit.com/product/5519)
[Related Guides to the Product](https://learn.adafruit.com/products/5519/guides)
### Step Switch with LED - Three Pack of Gray Plastic with Red LED

[Step Switch with LED - Three Pack of Gray Plastic with Red LED](https://www.adafruit.com/product/5498)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile, with a good clicky feel. And of course, the built in red LED is...

In Stock
[Buy Now](https://www.adafruit.com/product/5498)
[Related Guides to the Product](https://learn.adafruit.com/products/5498/guides)
### Step Switch with LED - Three Pack of Black with Red LED - PB86

[Step Switch with LED - Three Pack of Black with Red LED - PB86](https://www.adafruit.com/product/5502)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile&nbsp;with a good clicky feel. And of course, the built in red...

In Stock
[Buy Now](https://www.adafruit.com/product/5502)
[Related Guides to the Product](https://learn.adafruit.com/products/5502/guides)
### Step Switch with LED - Three Pack of Green with Red LED - PB86

[Step Switch with LED - Three Pack of Green with Red LED - PB86](https://www.adafruit.com/product/5518)
These hinged momentary step switches are evocative of the [16-step sequencer keys on TR-808 sythesizers](https://en.wikipedia.org/wiki/Roland_TR-808).&nbsp;Also sometimes used on A/V equipment, they're very tactile&nbsp;with a good clicky feel. And of course, the built in red...

In Stock
[Buy Now](https://www.adafruit.com/product/5518)
[Related Guides to the Product](https://learn.adafruit.com/products/5518/guides)
### Raspberry Pi Pico RP2040

[Raspberry Pi Pico RP2040](https://www.adafruit.com/product/4864)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico**. This...

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

## Related Guides

- [NeoPixel Menorah](https://learn.adafruit.com/neopixel-menorah.md)
- [MicroPython Basics: How to Load MicroPython on a Board](https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board.md)
- [Commodore Keyboard to USB HID with CircuitPython](https://learn.adafruit.com/commodore-keyboard-to-usb-hid-with-circuitpython.md)
- [Pathfinder Robot Companion](https://learn.adafruit.com/pathfinder.md)
- [Adafruit Infrared IR Remote Transceiver](https://learn.adafruit.com/adafruit-infrared-ir-remote-transceiver.md)
- [Integrating Color Sensors with itsaSNAP and HomeKit](https://learn.adafruit.com/integrating-color-sensors-with-itsasnap-and-homekit.md)
- [Circuit Playground Express Rocket Lamp](https://learn.adafruit.com/cpx-rocket-lamp.md)
- [LED Neon Signs with NeoPixels](https://learn.adafruit.com/led-neon-signs-with-neopixels.md)
- [Custom Scrolling Quote Board Matrix Display](https://learn.adafruit.com/aio-quote-board-matrix-display.md)
- [Raspberry Pi Pico and LED Arcade Button MIDI Controller](https://learn.adafruit.com/raspberry-pi-pico-led-arcade-button-midi-controller-fighter.md)
- [Raspberry Pi LED Matrix Sand Toy](https://learn.adafruit.com/matrix-led-sand.md)
- [Python Virtual Environment Usage on Raspberry Pi](https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi.md)
- [Creating and sharing a CircuitPython library](https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library.md)
- [CircuitPython Libraries with the Binho Nova Multi-Protocol USB Host Adapter](https://learn.adafruit.com/circuitpython-with-binho-nova-multi-protocol-usb-host-adapter.md)
- [Bluetooth Cycling Speed & Cadence Sensor Display with Clue](https://learn.adafruit.com/bluetooth-bicycle-speed-cadence-sensor-display-with-clue.md)
