# MIDI Solenoid Drum Kit

## Overview

https://youtu.be/dhKYxDzyXqI

## CircuitPython MIDI

Build a MIDI drum kit using solenoids and CircuitPython! 3D print parts to create a solenoid driven mallet to trigger snare drums, cymbals and much more! Use the Adafruit Feather M4 and ULN2803A darlington driver to create your own custom USB MIDI percussion ensemble.

![3d_printing_hero-3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/777/medium640/3d_printing_hero-3.jpg?1596483457)

## Plug and Play

The Feather M4 and ULN2803A darlington driver are fitted onto a Perma-Proto board housed inside a snap fit case. DC jacks on the side of the case allow for plug and play of the solenoids.

![3d_printing_feather-case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/798/medium640/3d_printing_feather-case.jpg?1596508944)

## DIY Drum Kit

DIY your own cymbals, tom toms, snare and kick drum. Use the mallets to hit any surface to make&nbsp; programmable percussion instruments.

![3d_printing_mallet-cymbals.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/799/medium640/3d_printing_mallet-cymbals.jpg?1596509056)

## Modular Design

To make the kick drum, a solenoid is mounted to a piece of 2020 extrusion that hovers over a practice drum pad. This creates a direct hit and makes a nice 'thud'.

![3d_printing_kickdrum-extrusion.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/800/medium640/3d_printing_kickdrum-extrusion.jpg?1596509224)

## Parts
### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

In Stock
[Buy Now](https://www.adafruit.com/product/3857)
[Related Guides to the Product](https://learn.adafruit.com/products/3857/guides)
![Angled shot of a Adafruit Feather M4 Express. ](https://cdn-shop.adafruit.com/640x480/3857-10.jpg)

### Large  push-pull solenoid

[Large  push-pull solenoid](https://www.adafruit.com/product/413)
Solenoids are basically electromagnets: they are made of a big coil of copper wire with an armature (a slug of metal) in the middle. When the coil is energized, the slug is pulled into the center of the coil. This makes the solenoid able to pull (from one end) or push (from the other)  
<br...></br...>

In Stock
[Buy Now](https://www.adafruit.com/product/413)
[Related Guides to the Product](https://learn.adafruit.com/products/413/guides)
![Push-pull solenoid with red and black wires.](https://cdn-shop.adafruit.com/640x480/413-04.jpg)

### Adafruit Perma-Proto Half-sized Breadboard PCB - Single

[Adafruit Perma-Proto Half-sized Breadboard PCB - Single](https://www.adafruit.com/product/1609)
Customers have asked us to carry basic perf-board, but we never liked the look of most basic perf: it's always crummy quality, with pads that flake off and no labeling. Then we thought about how people **actually** prototype - usually starting with a solderless breadboard and...

In Stock
[Buy Now](https://www.adafruit.com/product/1609)
[Related Guides to the Product](https://learn.adafruit.com/products/1609/guides)
![Top view of Adafruit Perma-Proto Half-sized Breadboard PCB.](https://cdn-shop.adafruit.com/640x480/1609-00.jpg)

### ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper)

[ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper)](https://www.adafruit.com/product/970)
Bring in some muscle to your output pins with 8 mighty Darlingtons! This DIP chip contains 8 drivers that can sink 500mA from a 50V supply and has kickback diodes included inside for driving coils. This will let your little microcontroller or microcomputer power solenoids, DC motors (in one...

In Stock
[Buy Now](https://www.adafruit.com/product/970)
[Related Guides to the Product](https://learn.adafruit.com/products/970/guides)
![ULN2803 8 Channel Darlington Driver. Solenoid/Unipolar Stepper chip.](https://cdn-shop.adafruit.com/640x480/970-01.jpg)

### Part: 10-Wire Cable
quantity: 1
Silicone stranded-core 28AWG
[10-Wire Cable](https://www.adafruit.com/product/3890)

### Part: DC barrel jack
quantity: 5
Panel Mount 2.1mm DC barrel jack
[DC barrel jack](https://www.adafruit.com/product/610)

### Part: 2.1mm DC Plug
quantity: 4
DC Jack Adapter Cable
[2.1mm DC Plug](https://www.adafruit.com/product/2788)

### Part: 12V 5A Power supply
quantity: 1
12V 5A switching power supply
[12V 5A Power supply](https://www.adafruit.com/product/352)

### Part: Feather Header Kit
quantity: 1
Header Kit for Feather - 12-pin and 16-pin Female Header Set
[Feather Header Kit](https://www.adafruit.com/product/2886)

### Part: USB Cable
quantity: 1
Fully Reversible Pink/Purple USB A to micro B Cable - 1m long
[USB Cable](https://www.adafruit.com/product/4111)

### Part: 10-wire silicone ribbon cable
quantity: 1
10-wire silicone ribbon cable
[10-wire silicone ribbon cable](https://www.adafruit.com/product/3890)

### Part: JST PH 2-Pin Cable
quantity: 6
Female Connector 100mm
[JST PH 2-Pin Cable](https://www.adafruit.com/product/261)

### Part: JST PH 2-Pin Cable
quantity: 6
Male Header 200mm
[JST PH 2-Pin Cable](https://www.adafruit.com/product/3814)

### Part: Toggle Switch
quantity: 1
Mini Panel Mount SPDT Toggle Switch
[Toggle Switch](https://www.adafruit.com/product/3221)

### Part: 18 Pin DIP Socket
quantity: 1
18 (2 x 9) Pos DIP, 0.3" (7.62mm) Row Spacing Socket Tin Through Hole
[18 Pin DIP Socket](https://www.digikey.com/product-detail/en/on-shore-technology-inc/ED18DT/ED3047-5-ND/4147597)

### Part: 2020 Extrusion
quantity: 1
Slotted Aluminum Extrusion - 20mm x 20mm - 610mm long
[2020 Extrusion](https://www.adafruit.com/product/1221)

### Part: Slim T-Nuts
quantity: 1
Aluminum Extrusion Slim T-Nut for 20x20 - M4 Thread - pack of 50
[Slim T-Nuts](https://www.adafruit.com/product/1157)

### Part: M4 Machine Screw
quantity: 1
Button Hex - 8mm long - pack of 50
[M4 Machine Screw](https://www.adafruit.com/product/1160)

### Part: Remo Drum Pad
quantity: 1
Gray Tunable Practice Pad with Ambassador Coated Drumhead
[Remo Drum Pad](https://amzn.to/2XptKed)

### Part: Small Cymbals
quantity: 1
2pc First Note FN240 Firstnote Cymbals
[Small Cymbals](https://amzn.to/2Pmjjna)

## Hardware List

Screws, standoffs hex nuts and locknuts used to assemble and fasten parts.

**&nbsp;Mallet Assembly (Single Set)**

- 12x M3x6mm screws
- 4x M3x10mm standoffs
- 2x M3x16mm screws
- 3x M3 locknuts
- 1x M3x14mm screw

**Kick Drum Assembly**

- 1x 2020 Aluminum Extrusion – 305mm long
- 4x M4x8mm screws
- 4x M4 slim t-nuts
- 2x M3x10mm screws
- 2x M3 hex nuts
- 4x M3x6mm screws
- 4x M5x30mm screws
- 6x M5 hex nuts

**Cymbal Assembly**

- [1/4-20 D-ring tripod screw](https://www.adafruit.com/product/2629)
- [3/8 to 1/4 screw adapter](https://www.adafruit.com/product/2392)
- 2x M5x10mm screw
- 2x M5 hex nuts

# MIDI Solenoid Drum Kit

## Circuit Diagram

The diagram below provides a visual reference for wiring of the components. This diagram was created using the software package [Fritzing](http://fritzing.org/download/).

## Adafruit Library for Fritzing

Use Adafruit's Fritzing parts library to create circuit diagrams for your projects. Download the library or just grab individual parts. Get the library and parts from [GitHub - Adafruit Fritzing Parts](https://github.com/adafruit/Fritzing-Library/tree/master/parts).

![](https://cdn-learn.adafruit.com/assets/assets/000/093/643/medium800/3d_printing_circuit-diagram-v4.jpg?1596221427)

## Wired Connections

**Feather M4 Express**

- D5 from Feather to Pin #5 on ULN2803A
- D6 from Feather to Pin #6 on ULN2803A
- D9 from Feather to Pin #7 on ULN2803A
- D10 from Feather to Pin #8 on ULN2803A
- 3V from Feather to VCC (upper) rails on Perma-Proto
- GND from Feather to Ground (upper) rails on Perma-Proto&nbsp;

**Switch**

- EN from Feather to Switch
- GND from Feather to Switch

**DC Jack**

- Ground to Ground (lower) rails on Perma-Proto
- VCC to VCC (lower) rails on Perma-Proto

**ULN2803A**

- Pin #10 (VCC) from ULN2803A to VCC (lower) on Perma-Proto&nbsp;&nbsp;
- Pin #9 (GND) from ULN2803A to GND (lower) rails on Perma-Proto

&nbsp;

## Powering

The Adafruit board can be powered via USB or JST using a 3.7v lipo battery. In this project, a 400mAh lipo battery is used. The lipo battery is rechargeable via the USB port on the board. The switch is wired to the **enable** &nbsp;and&nbsp; **ground** pins on the board.

**12V Power**

The 12V 5A power supply is plugged into the DC jack on the lower power and ground rails on the Perma-Proto.&nbsp;

Danger: 

# MIDI Solenoid Drum Kit

## 3D Printing

## Parts List

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Parts are designed to 3D print without any support material. Original design source may be downloaded using the links below.

**File names & Quantity**

- 1x snare-noid-mount.stl
- 2x snare-extrusion-mount.stl
- 2x snare-extrusion-bracket.stl
- 3x mallet-stick.stl
- 3x mallet-noid-plate.stl
- 3x mallet-noid-linkage.stl
- 3x mallet-noid-holder.stl
- 3x mallet-noid-bottom-base.stl
- 6x mallet-ball.stl
- 1x feather-case-top-cover.stl
- 1x feather-case-frame.stl
- 1x feather-case-bottom-cover.stl

![3d_printing_3d-all-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/788/medium640/3d_printing_3d-all-parts.jpg?1596502783)

![3d_printing_3d-parts-case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/797/medium640/3d_printing_3d-parts-case.jpg?1596507660)

[Download CAD files from PrusaPrinters](https://www.prusaprinters.org/prints/37788-midi-solenoid-drum-kit)
[Download CAD files from Thingiverse](https://www.thingiverse.com/thing:4561678)
## Mallet Assembly

The solenoid is inserted into the holder. The solenoid holder is attached to the standoffs on the base with M3x6mm screws. The linkage connector is pinned to the solenoids plunger with an M3x16mm screw and locknut. The linkage mounting plate is secured to the solenoid holder with M3x6mm screws. The linkage is then secured to the mounting plate with an M3x16mm screw and locknut. M3x10mm long standoffs are secured to the base for evelation.

![3d_printing_cad-mallet-explode.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/791/medium640thumb/3d_printing_cad-mallet-explode.jpg?1596502884)

## Kick Drum Assembly

The solenoid is secured to the mounting plate. Two mounting brackets are secured to the slotted holes on the mounting plate. The brackets slide onto the profile of the 2020 extrusion and secured with M4x8mm screws and slim t-nuts. The base mount is secured to the 2020 extrusion with an M4x8mm long screw and slim t-nut.

![3d_printing_snare-cad-explode.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/794/medium640thumb/3d_printing_snare-cad-explode.jpg?1596506156)

## Motion Linkage

This selection analysis shows the linear motion of the plunger pushing the linkage bar and pivoting at the joint to make the mallet strike. This was created in Fusion 360 using joints and contact sets. Revolute joint type is used in the pivoting point in the linkage bar. Slider joint type is used in the plunger of the solenoid. Contact sets are created between the linkage bar and M3 screw secured to the plunger.

![3d_printing_mallet-cad-slice.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/793/medium640thumb/3d_printing_mallet-cad-slice.jpg?1596503490)

## Slicing Parts

No supports are required. Slice with settings for PLA material.

The parts were sliced using CURA using the slice settings below.

- PLA filament 220c extruder
- 0.2 layer height
- 10% gyroid infill
- 90mm/s print speed
- 60c heated bed

![3d_printing_slice-noid-holder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/796/medium640/3d_printing_slice-noid-holder.jpg?1596507437)

## Design Source Files

The project assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, STL and more. Electronic components like Adafruit's board, displays, connectors and more can be downloaded from the [Adafruit CAD parts GitHub Repo](https://github.com/adafruit/Adafruit_CAD_Parts).

![3d_printing_3857-Adafruit-Feather-M4-Express.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/792/medium640thumb/3d_printing_3857-Adafruit-Feather-M4-Express.jpg?1596503010)

# MIDI Solenoid Drum Kit

## CircuitPython on Feather M4 Express

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

The following instructions will show you how to install CircuitPython. If you've already installed CircuitPython but are looking to update it or reinstall it, the same steps work for that as well!

## Set up CircuitPython Quick Start!

Follow this quick step-by-step for super-fast Python power :)

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

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

![arduino_compatibles_FeatherM0ExpressUF2Downloaded.png](https://cdn-learn.adafruit.com/assets/assets/000/057/318/medium640/arduino_compatibles_FeatherM0ExpressUF2Downloaded.png?1531152402)

Plug your Feather M4 into your computer using a known-good USB cable.

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

Double-click the **Reset** button next to the USB connector on your board, and you will see the NeoPixel RGB LED turn green. If it turns red, check the USB cable, try another USB port, etc. **Note:** The little red LED next to the USB connector will pulse red. That's ok!

If double-clicking doesn't work the first time, try again. Sometimes it can take a few tries to get the rhythm right!

![arduino_compatibles_FeatherM0Bootloader.jpg](https://cdn-learn.adafruit.com/assets/assets/000/057/320/medium640/arduino_compatibles_FeatherM0Bootloader.jpg?1531152568)

You will see a new disk drive appear called **FEATHERBOOT**.

&nbsp;

&nbsp;

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **FEATHERBOOT.**

![arduino_compatibles_FeatherM0FEATHERBOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/057/321/medium640/arduino_compatibles_FeatherM0FEATHERBOOT.png?1531152779)

![arduino_compatibles_FeatherM0DragCircuitPythonUF2.png](https://cdn-learn.adafruit.com/assets/assets/000/057/324/medium640/arduino_compatibles_FeatherM0DragCircuitPythonUF2.png?1531152877)

The LED will flash. Then, the **FEATHERBOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

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

![arduino_compatibles_FeatherM0CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/057/323/medium640/arduino_compatibles_FeatherM0CIRCUITPY.png?1531152841)

## Further Information

For more detailed info on installing CircuitPython, check out [Installing CircuitPython](https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython).

# MIDI Solenoid Drum Kit

## Coding the MIDI Solenoid Drum Kit

To use with CircuitPython, you need to first install a few libraries, into the **lib** &nbsp;folder on your&nbsp; **CIRCUITPY** &nbsp;drive. Then you need to update **code.py** &nbsp;with the example script.

Thankfully, we can do this in one go. In the example below, click the&nbsp; **Download Project Bundle** &nbsp;button below to download the necessary libraries and the&nbsp; **code.py** &nbsp;file in a zip file. Extract the contents of the zip file, open the directory **MIDI\_Solenoid\_Drum\_Kit/** and then click on the directory that matches the version of CircuitPython you're using and copy the contents of that directory to your&nbsp; **CIRCUITPY** &nbsp;drive.

Your **CIRCUITPY** drive should now look similar to the following image:

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

Your Feather M4 Express&nbsp; **CIRCUITPY&nbsp;** drive should look like this after you've copied everything over:

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/MIDI_Solenoid_Drum_Kit.png )

# MIDI Solenoid Drum Kit

## CircuitPython Code Walkthrough

## Importing the Libraries
The code begins by importing the CircuitPython libraries.

```python
import time
import board
import digitalio
import usb_midi
import adafruit_midi
from adafruit_midi.note_on import NoteOn
```

## Digital Output Pins
Next, the Feather's digital pins are setup to be outputs to send on and off signals to the ULN2803, which will activate the solenoids.

```python
#  pins for the solenoid output signals
noid_pins = [board.D5, board.D6, board.D9, board.D10]

#  array for the solenoids
noids = []

#  setup for the solenoid pins to be outputs
for pin in noid_pins:
    noid = digitalio.DigitalInOut(pin)
    noid.direction = digitalio.Direction.OUTPUT
    noids.append(noid)
```

## MIDI Setup
The MIDI notes are setup next. If you need to change the MIDI notes that will activate the solenoids, you can edit this array with the note numbers that you need.

The MIDI object is setup after the notes. The Feather is setup to be a MIDI-in device, meaning that it is receiving MIDI data.

```python
#  MIDI note array
notes = [60, 61, 62, 63]

#  MIDI in setup
midi = adafruit_midi.MIDI(midi_in=usb_midi.ports[0], in_channel=0)
```

## Time Keeping
Finally, two variables are setup. `speed` will act as a delay for how long the solenoids will remain activated before retracting. `retract` will be a `time.monotonic()` device.

```python
#  delay for solenoids
speed = 0.03
retract = 0
```

## The Loop
The loop begins by setting up `msg` to receive any incoming MIDI data.

```python
while True:

    #  msg holds MIDI messages
    msg = midi.receive()
```

## Solenoid and MIDI Note Array Indexes
Next, the solenoids' array index position is setup the be held in `noid_output`. The same is done for the MIDI note numbers with `notes_played`.

```python
for i in range(4):
        #  states for solenoid on/off
        noid_output = noids[i]

        #  states for MIDI note recieved
        notes_played = notes[i]
```

## Play the Drum!
Then the real action of the code takes place. If a `NoteOn` MIDI message is received that matches one of the MIDI note numbers listed in `notes_played`, then the matching solenoids are activated. `retract` is also updated to hold the current value of `time.monotonic()`.

```python
#  if NoteOn msg comes in and the MIDI note # matches with predefined notes:
if isinstance(msg, NoteOn) and msg.note is notes_played:
  print(time.monotonic(), msg.note)

  #  solenoid is triggered
  noid_output.value = True
  #  quick delay
  retract = time.monotonic()
```

Finally, the solenoids retract when the sum of `retract` and `speed` (`0.03`) is less than the current `time.monotonic()` value.

By doing this, you can activate your solenoids at the same time to stay on beat. If you used the more traditional `time.sleep(value)` to delay the solenoids' retractions, you would run into delays in getting the solenoids to hit the drums.

```python
#  retracts solenoid using time.monotonic() to avoid delays between notes activating
if (retract + speed) < time.monotonic():
  noid_output.value = False
```

# MIDI Solenoid Drum Kit

## Feather Header Setup

## Feather Headers

The Feather M4 Express and ULN2803A will be fitted onto a halfsize perma-proto PCB. In order to make them removable, the Feather will use female headers. The ULN2803A will snap onto a DIP socket.

![3d_printing_feather-perma-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/649/medium640/3d_printing_feather-perma-parts.jpg?1596325241)

## Install Headers to Feather

A 12-pin and 16-pin strip of male headers are soldered to the pins on the Feather M4 Express.

![3d_printing_feather-headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/650/medium640/3d_printing_feather-headers.jpg?1596325255)

## Breadboard Helper

A breadboard can help assist by keeping the header pins in place while soldering.

![3d_printing_feather-bread.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/652/medium640/3d_printing_feather-bread.jpg?1596325368)

## Female Headers for Perma-Proto

Female headers are fitted onto male headers on the Feather M4 Express then fitted onto the Perma-Proto half size PCB. Note the placement of the Feather shows the USB port close to the edge.&nbsp;

Mounting tack can be used to temporarily secure the female headers to the Perma-Proto PCB.

![3d_printing_feather-perma-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/651/medium640/3d_printing_feather-perma-install.jpg?1596325313)

## Solder Perma-Proto

Apply solder to all of the pins on the bottom of the Perma-Proto PCB. A panavise can help assist by holding the PCB in place while soldering.

![3d_printing_feather-perma-headers-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/653/medium640/3d_printing_feather-perma-headers-solder.jpg?1596325462)

## Check Feather Headers

Carefully remove the Feather M4 Express by slowly pulling it out from the female headers. Check to ensure all of the pins have solid solder joints.&nbsp;

![3d_printing_feather-perma-removed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/655/medium640/3d_printing_feather-perma-removed.jpg?1596325576)

# MIDI Solenoid Drum Kit

## ULN2803A Setup

## DIP Socket

The ULN2803A will snap onto an 18 pin DIP socket. This allows the IC to be removable if it ever needs to be replaced.

![3d_printing_UNL20803A-socket.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/657/medium640/3d_printing_UNL20803A-socket.jpg?1596325651)

## Installing Dip Socket

The DIP socket is placed onto the Perma-Proto half size PCB. Reference the photo for best placement. Use pieces of mounting tack to temporarily secure the socket to the PCB.

![3d_printing_perma-socket-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/656/medium640/3d_printing_perma-socket-install.jpg?1596325618)

## Solder Socket to Perma-Proto

Apply solder to all 18 pins from the bottom the Perma-Proto.

![3d_printing_perma-socket-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/658/medium640/3d_printing_perma-socket-solder.jpg?1596325667)

## Double Check

Check to ensure all of the pins are properly soldered and have solid solder joints.

![3d_printing_perma-feather-ULN-removed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/659/medium640/3d_printing_perma-feather-ULN-removed.jpg?1596325741)

# MIDI Solenoid Drum Kit

## PermaProto Wiring

## Solder Connections to Perma-Proto

Reference the circuit diagram for the wired connections. 10-wire silicone cover stranded core ribbon cable is used to keep connections bundled together.&nbsp;

![3d_printing_perma-wiring-closeup.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/662/medium640/3d_printing_perma-wiring-closeup.jpg?1596325968)

## JST–PH Cables

Various JST-PH cables are used for the 4x solenoid DC jacks, toggle switch and 12V DC jack power input. Pieces of heat shrink tubing is used to insulate exposed wire connections.

![3d_printing_perma-wiring.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/660/medium640/3d_printing_perma-wiring.jpg?1596325763)

## Cable Lengths

The length of wire is relatively short in order to fit the enclosure. Male JST-PH cables are used for the solenoids. Female JST-PH cables are used for the 12V DC power input and the toggle switch.

![3d_printing_perma-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/661/medium640/3d_printing_perma-wired.jpg?1596326442)

# MIDI Solenoid Drum Kit

## DC Jacks and Switches

## Solenoid DC Jacks

Four DC jacks are used to connect the solenoids. These will be panel mounted to the enclosure. JST-PH female cables are soldered to each DC jack. The cables are approximately 30mm in length (1.2in).

![3d_printing_DC-jacks.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/663/medium640/3d_printing_DC-jacks.jpg?1596326442)

## DC Jack Polarity

Reference the photo for the correct polarity. The terminal with the large contact is VCC / voltage. The middle pin is not used. The remaining pin is ground.

![3d_printing_DC-polarity-label.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/741/medium640/3d_printing_DC-polarity-label.jpg?1596463949)

## Wire Switch and DC Jack

The toggle switch and 12VDC jack are wired to male JST-PH cables. These are also about 30mm in length (1.2in).

![3d_printing_switch-dc-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/664/medium640/3d_printing_switch-dc-wired.jpg?1596326087)

# MIDI Solenoid Drum Kit

## Solenoid Wiring

## Wire Solenoids

The 12V solenoids come with long pre-tinned wires. These will be soldered to a cable with a 2.1mm barrel plug. This makes it easy to plug it into the DC jacks.

![3d_printing_noid-dc-plug.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/717/medium640/3d_printing_noid-dc-plug.jpg?1596396376)

## Solder Wires

Using wire strippers, remove a bit of insulation for each wire. Tin the wires by adding a bit of solder. This helps prevent the strands of wire from fraying. Solder the wires from the solenoid to the cable with the 2.1mm barrel plug. The wire with the lined dashes is the VCC / voltage wire. Use pieces of heat shrink tubing to insulation the exposed connections.

![3d_printing_noid-polarity.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/666/medium640/3d_printing_noid-polarity.jpg?1596326168)

## Soldered 2.1mm Barrel Cable

Check the cabling is properly soldered and has a solid connections. Repeat this process for the other solenoids.

![3d_printing_noid-dc-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/667/medium640/3d_printing_noid-dc-wired.jpg?1596326193)

# MIDI Solenoid Drum Kit

## Case Assembly

## Install Perma-Proto to Covers

The wired Perma-Proto snap fits onto the bottom cover of the enclosure. Place the PCB over the standoffs and fit edge of the PCB under one of the tabs on the side. Press down to snap fit onto other tab. Adjust wires so the cables are not being kinked or pinched.

![3d_printing_case-bottom-perma-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/668/medium640/3d_printing_case-bottom-perma-install.jpg?1596326246)

## Panel Mount DC Jacks

Install the four DC jacks into the case by fitting them through the holes on the side of the enclosure frame.&nbsp;

![3d_printing_case-jacks-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/669/medium640/3d_printing_case-jacks-install.jpg?1596326264)

## Panel Mount Switch and DC Jack

Insert the hex nuts onto the DC jacks and tightly fasten. Proceed to panel mount the toggle switch and the 12VDC jack for power input.

![3d_printing_case-switch-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/670/medium640/3d_printing_case-switch-install.jpg?1596326442)

## Connect Switch and DC Jack

Plug in the toggle switch to the JST-PH connect that is connected to the EN and GND pins on the Feather. Plugin in the 12VDC power input to the JST-PH connector that is wired to the power and ground rails on the Perma-Proto PCB.

![3d_printing_case-connects-swdc.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/671/medium640/3d_printing_case-connects-swdc.jpg?1596326301)

## Connect DC Jacks for Solenoids

Plug in the DC jacks for the solenoids to the various JST-PH connectors on the Perma-Proto PCB

![3d_printing_case-connects-all.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/672/medium640/3d_printing_case-connects-all.jpg?1596326431)

## Install Case to Cover

Fit the enclosure frame over the bottom cover with the notch lined up with the USB port on the Feather. Check to ensure all of the wires are fitted inside the case. Firmly press to snap fit together.

![3d_printing_case-frame-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/673/medium640/3d_printing_case-frame-installed.jpg?1596326431)

## Install Top Cover

Place the top cover over the enclosure frame. Check to ensure all of the wires are fitted inside the case. Firmly press to snap fit close.

![3d_printing_case-top-insatlled.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/674/medium640/3d_printing_case-top-insatlled.jpg?1596326431)

# MIDI Solenoid Drum Kit

## Mallet Assembly

## Solenoid Holder

The solenoids are fitted into these holders and secured with M3 screws.

![3d_printing_noid-holder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/685/medium640/3d_printing_noid-holder.jpg?1596393415)

## Install Solenoid

Install the solenoid into a holder by sliding it in with the piston fitting through the center hole. The mounting holes should be lined up with the holes on the side of the holder.

![3d_printing_noid-holder-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/686/medium640/3d_printing_noid-holder-install.jpg?1596393438)

## Install Linkage Plate

Place the plate over the solenoid holder with the mounting holes lined up.

![3d_printing_noid-holder-bracket-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/687/medium640/3d_printing_noid-holder-bracket-install.jpg?1596393469)

## Secure Plate to Holder

Insert and fasten 4x M3 x 6mm long screws to secure the plate to the solenoid holder.

![3d_printing_noid-holder-bracket-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/688/medium640/3d_printing_noid-holder-bracket-secure.jpg?1596393488)

## Hardware for Base

M3 standoffs are used to elevate the solenoid. Taller standoffs allow for more height clearance. Choose the length of standoff you'll want to use for your setup. In this project, 10mm long M3 standoffs are used.&nbsp;

![3d_printing_noid-bottom-standoffs.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/689/medium640/3d_printing_noid-bottom-standoffs.jpg?1596393511)

## Install Standoffs

Use M3 screws to install four M3 standoffs to the slots on the side of the base.

![3d_printing_noid-bottom-standoff-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/690/medium640/3d_printing_noid-bottom-standoff-installed.jpg?1596393525)

## Secure Standoffs

Tightly fasten M3 screws to the standoffs.

![3d_printing_noid-bottom-standoff-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/691/medium640/3d_printing_noid-bottom-standoff-secure.jpg?1596393550)

## Install Solenoid Holder to Base

Place the solenoid holder over the standoffs on the base. Line up the slot with the M3 standoffs.

![3d_printing_noid-holder-bottom-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/692/medium640/3d_printing_noid-holder-bottom-install.jpg?1596393573)

## Secure Solenoid Holder to Base

Install and fasten M3 screws over the slots on the solenoid holder.

![3d_printing_noid-holder-bottom-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/693/medium640/3d_printing_noid-holder-bottom-secure.jpg?1596393598)

## Mallet Hardware

Super glue the two dome halves to make the head of the mallet. Glue the head to the mallet stick. The mallet is secured to the linkage using an M3 x 16mm long screw and lock nut (with nylon insert).

![3d_printing_noid-mallet-link-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/694/medium640/3d_printing_noid-mallet-link-screws.jpg?1596393619)

## Secure Mallet Parts

Place the mallet stick over the linkage with the mounting holes line up. Reference the photo for best placement. Insert the M3 x 16mm long screws through both mallet stick and linkage. Insert and tightly fasten the M3 locknut.

![3d_printing_noid-mallet-link-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/695/medium640/3d_printing_noid-mallet-link-secure.jpg?1596393641)

## Assembled Mallet and Linkage

Inspect the mallet and linkage to ensure installation is correct.

![3d_printing_noid-mallet-link.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/696/medium640/3d_printing_noid-mallet-link.jpg?1596393662)

## Installing Mallet to Solenoid Plate

The assembled mallet and linkage will be secured to the linkage plate on the solenoid holder using an M3 x 16mm long screw and locknut.

![3d_printing_noid-mallet-link-preinstall.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/697/medium640/3d_printing_noid-mallet-link-preinstall.jpg?1596393689)

## Install Linkage to Solenoid

Fit the linkage through the slit on the end of the solenoid with the large spring. Line up the mounting holes.

![3d_printing_noid-mallet-link-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/698/medium640/3d_printing_noid-mallet-link-install.jpg?1596393720)

## Secure Linkage

Insert the M3 x 16mm long screw through the mounting holes. The screw will go through both the solenoid and linkage. Install and tightly fasten the M3 locknut onto the thread of the screw.

![3d_printing_noid-mallet-link-fasten.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/699/medium640/3d_printing_noid-mallet-link-fasten.jpg?1596393743)

## Install Linkage to Plate

Line up the center hole on the linkage with the mounting holes on the linkage plate.

![3d_printing_noid-mallet-link-pivot-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/704/medium640/3d_printing_noid-mallet-link-pivot-install.jpg?1596393974)

## Secure Linkage to Plate

Insert the M3 x 16mm long screw through the holes in both the linkage plate and the linkage. Insert and tightly fasten the M3 locknut onto the thread of the screw.

![3d_printing_noid-mallet-link-pivot-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/700/medium640/3d_printing_noid-mallet-link-pivot-secure.jpg?1596393804)

## Test Motion

Press the piston on the solenoid down to test out the mallet. It should actuate the mallet down and spring back when released. Loosen the locknut if the motion is too tight from the friction.

![3d_printing_noid-link-test.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/705/medium640thumb/3d_printing_noid-link-test.jpg?1596393993)

## Degree of Rotation

The 12V solenoid features a push / pull of 10mm throw. The mallet has about 18º degrees of rotation.

![3d_printing_noid-link-test-wide.gif](https://cdn-learn.adafruit.com/assets/assets/000/093/706/medium640thumb/3d_printing_noid-link-test-wide.jpg?1596394011)

## Assembled Solenoid Mallet

Proceed to repeat this process for more solenoids. In this project, we created three sets of solenoid mallets.

![3d_printing_noid-mallet-build.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/707/medium640/3d_printing_noid-mallet-build.jpg?1596394029)

# MIDI Solenoid Drum Kit

## 2020 Assembly

## Solenoid Mounting Parts

Get the parts and hardware ready for the mounting the solenoid to a piece of 2020 aluminum extrusion.

- 2x M4 Slim t-nuts
- 2x M4 x 8mm long screws
- 2x M3 x 10mm long screws
- 2x M3 hex nuts

![3d_printing_kick-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/718/medium640/3d_printing_kick-parts.jpg?1596459517)

## Install Slim T-Nuts to Brackets

Insert the two M4 x 8mm long screws through the mounting holes on the two brackets. Insert and fasten the M4 slim t-nuts onto the threads of the screws. This will make fitting onto the 2020 extrusion easier later in the assembly.

![3d_printing_kick-clips-tnuts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/719/medium640/3d_printing_kick-clips-tnuts.jpg?1596459559)

## Secure Brackets to Mounting Plate

Place the brackets onto the slotted holes on the mounting plate. Reference the photo for correct placement.

![3d_printing_kick-plate-clips-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/721/medium640/3d_printing_kick-plate-clips-install.jpg?1596459637)

## Installing Mounting Plate to Solenoid

The mounting plate is secured to the solenoid using four M3 x 6mm long machine screws.

![3d_printing_kick-plate-noid-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/720/medium640/3d_printing_kick-plate-noid-screws.jpg?1596459577)

## Install Mounting Plate

Place the assembled mounting plate over the solenoid and line up the mounting holes. Reference the image for correct orientation.

![3d_printing_kick-plate-noid-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/722/medium640/3d_printing_kick-plate-noid-install.jpg?1596459651)

## Secure Mounting Plate to Solenoid

Insert and fasten four M3 x 6mm long screws to secure the mounting plate to the solenoid.

![3d_printing_kick-plate-noid-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/723/medium640/3d_printing_kick-plate-noid-secure.jpg?1596459687)

## Assembled Solenoid Mount

The solenoid mount is ready to fit onto a piece of 2020 aluminum extrusion. Check to ensure the slim t-nuts are preinstalled onto the brackets.

![3d_printing_kick-plate-noid.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/724/medium640/3d_printing_kick-plate-noid.jpg?1596459714)

## Hardware for 2020 Base

Get the hardware ready for assembling the base for the 2020 extrusion.

- 2x M5 x 30mm long screws
- 6x M5 hex nuts
- 1x M4 x 8mm long screw
- 1x M4 slim t-nut

![3d_printing_2020-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/725/medium640/3d_printing_2020-screws.jpg?1596459760)

## Setup Legs for 2020 Base

Insert the two M5 x 30mm long screws into the base feet. Insert two M5 hex nuts onto the threads of each screw. Reference the photo for best placement. These [rubber bumper feet](https://www.adafruit.com/product/550) are stuck on the bottom for better grip.

![3d_printing_2020-foot-screw-nuts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/728/medium640/3d_printing_2020-foot-screw-nuts.jpg?1596459836)

## Install T-Nuts onto 2020 Base

Insert the M4 x 8mm long screw through the hole on the 2020 base. Install and fasten the M4 slim t-nut onto the thread of the screw. This will make it easier to fit onto the 2020 extrusion.

![3d_printing_2020-base-tnut-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/726/medium640/3d_printing_2020-base-tnut-install.jpg?1596459780)

## Install Hex Nuts to 2020 Base

Press fit two of the M5 hex nuts onto the recessed holes on the 2020 base.&nbsp;

![3d_printing_2020-base-hexnuts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/729/medium640/3d_printing_2020-base-hexnuts.jpg?1596459851)

## Install Legs to 2020 Base

Fasten the legs onto the M5 hex nuts that were fitted into the 2020 base. Reference photo for best placement.

![3d_printing_2020-base-feet-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/730/medium640/3d_printing_2020-base-feet-install.jpg?1596459868)

## Tighten Hex Nuts

Use a wrench or vise grips too tightly fasten the hex nuts. The height of the 2020 mount can be adjusted by twisting the thread to a desired length.

![3d_printing_2020-base-feet-fasten.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/731/medium640/3d_printing_2020-base-feet-fasten.jpg?1596459900)

## Pair of 2020 Base Mounts

Proceed to create a second 2020 base mount. One will go on each side of 2020 aluminum extrusion.

![3d_printing_2020-base-pair.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/732/medium640/3d_printing_2020-base-pair.jpg?1596459918)

## Install Solenoid Mount to 2020 Extrusion

Fit the brackets from the solenoid to the slots on the 2020 aluminum extrusion. Ensure the slim t-nut is properly fitted through the slots.

![3d_printing_2020-noid-installing-2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/733/medium640/3d_printing_2020-noid-installing-2.jpg?1596459955)

## Solenoid Wiring

The solenoid cable is fitted through the brackets before installing onto the piece of 2020 aluminum extrusion. This helps keep the wiring hidden inside the slots of the extrusion.

![3d_printing_2020-noid-installing-1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/734/medium640/3d_printing_2020-noid-installing-1.jpg?1596459983)

## Height Adjustment

The solenoid can be adjusted by loosening the two M3 screws that secure the solenoid holder to the brackets. The slotted holes allow for height adjustments.

![3d_printing_2020-noid-installing-3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/735/medium640/3d_printing_2020-noid-installing-3.jpg?1596460003)

## Secure 2020 Mounting Brackets

The brackets are able to slide along the 2020 aluminum extrusion. Tighten the two M4 screws on the brackets to secure the solenoid in palce.

![3d_printing_2020-noid-nuts-fasten.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/736/medium640/3d_printing_2020-noid-nuts-fasten.jpg?1596460026)

## Installing DC Cable

The 2.1mm barrel connector is fitted through the 2020 base. This allows the cable to be routed outside of the extrusion.

![3d_printing_2020-base-noid-cable-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/737/medium640/3d_printing_2020-base-noid-cable-install.jpg?1596460042)

## Install Base Mount

Fit the base mount over the end of the 2020 aluminum extrusion. Carefully fit the slim t-nut into the slot.&nbsp; Ensure the cable from the solenoid is not being kinked or pinched.

![3d_printing_2020-base-noid-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/738/medium640/3d_printing_2020-base-noid-installed.jpg?1596460057)

## Assembled 2020 Solenoid

Double check all of the screws are nice and tight. The height of the solenoid and legs can be adjusted to fit over a snare drum or practice pad.

![3d_printing_2020-noid-build.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/739/medium640/3d_printing_2020-noid-build.jpg?1596460128)

# MIDI Solenoid Drum Kit

## Usage

## Setup DAW Software Instruments

The Feather M4 Express will show up as a USB MIDI device when connected to a computer. MIDI software instrument with capabilities to create external MIDI out instruments will need to be setup in order to get the solenoids to fire.

Info: 

## Mac OS – Audio MIDI Setup

The Feather M4 Express will should up in the MIDI studio window in the Audio MIDI setup application. Right-click Edit device to open the properties window. There you can change the device name and ports. Nothing needs to be changes here, just FYI.

![3d_printing_midi-device-props.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/744/medium640/3d_printing_midi-device-props.jpg?1596469816)

## Logic Pro X – External MIDI Track

In the track list, right-click and choose "New External MIDI Track". This allow you to assign the Feather M4 Express to a MIDI track. Using a MIDI track allows you can create musical MIDI notes.

![3d_printing_logic-ext-midi-track.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/745/medium640/3d_printing_logic-ext-midi-track.jpg?1596469939)

## MIDI Track Port

In the Inspector panel, under the Track section, select Feather M4 Express from the Port dropdown. This will assign any MIDI notes in the track to the Feather M4 Express.

![3d_printing_logic-midi-port.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/747/medium640/3d_printing_logic-midi-port.jpg?1596470068)

## Keyboard Playing

MIDI notes can be played live using your computers keyboard. In the top menu, select Window \> Show Keyboard. Use the interface to trigger music notes, change octaves, velocity, etc. This is a great way to test solenoids and play live.

![3d_printing_Keyboard-MIDI.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/749/medium640/3d_printing_Keyboard-MIDI.jpg?1596470876)

## Create MIDI Notes

In the timeline, right-click and select Create MIDI Region. Write your MIDI notes in the piano roll using the pencil tool. Use the notes that are programmed in CircuitPython **code.py** file.

- C4 60, C#4 61, D4 62, D#4 63

![3d_printing_midi-notes.jpg](https://cdn-learn.adafruit.com/assets/assets/000/093/748/medium640/3d_printing_midi-notes.jpg?1596470587)


## Featured Products

### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

In Stock
[Buy Now](https://www.adafruit.com/product/3857)
[Related Guides to the Product](https://learn.adafruit.com/products/3857/guides)
### Large  push-pull solenoid

[Large  push-pull solenoid](https://www.adafruit.com/product/413)
Solenoids are basically electromagnets: they are made of a big coil of copper wire with an armature (a slug of metal) in the middle. When the coil is energized, the slug is pulled into the center of the coil. This makes the solenoid able to pull (from one end) or push (from the other)  
<br...></br...>

In Stock
[Buy Now](https://www.adafruit.com/product/413)
[Related Guides to the Product](https://learn.adafruit.com/products/413/guides)
### Adafruit Perma-Proto Half-sized Breadboard PCB - Single

[Adafruit Perma-Proto Half-sized Breadboard PCB - Single](https://www.adafruit.com/product/1609)
Customers have asked us to carry basic perf-board, but we never liked the look of most basic perf: it's always crummy quality, with pads that flake off and no labeling. Then we thought about how people **actually** prototype - usually starting with a solderless breadboard and...

In Stock
[Buy Now](https://www.adafruit.com/product/1609)
[Related Guides to the Product](https://learn.adafruit.com/products/1609/guides)
### ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper)

[ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper)](https://www.adafruit.com/product/970)
Bring in some muscle to your output pins with 8 mighty Darlingtons! This DIP chip contains 8 drivers that can sink 500mA from a 50V supply and has kickback diodes included inside for driving coils. This will let your little microcontroller or microcomputer power solenoids, DC motors (in one...

In Stock
[Buy Now](https://www.adafruit.com/product/970)
[Related Guides to the Product](https://learn.adafruit.com/products/970/guides)
### Panel Mount 2.1mm DC barrel jack

[Panel Mount 2.1mm DC barrel jack](https://www.adafruit.com/product/610)
This power jack is designed to easily attach to a panel up to 8mm thick (0.315" or 5/16") and fit 2.1mm power plugs snugly and securely. Perfect for adding a power connector to your project enclosure. We like this jack in particular for its long body (so you can use it on thicker...

In Stock
[Buy Now](https://www.adafruit.com/product/610)
[Related Guides to the Product](https://learn.adafruit.com/products/610/guides)
### Mini Panel Mount SPDT Toggle Switch

[Mini Panel Mount SPDT Toggle Switch](https://www.adafruit.com/product/3221)
This or that, one or the other, perhaps or perhaps not! So hard to make decisions these days without feeling like you're just going back and forth constantly. Deciding whether or not to use this mini toggle switch? That's the easiest decision you'll make all day!

This...

In Stock
[Buy Now](https://www.adafruit.com/product/3221)
[Related Guides to the Product](https://learn.adafruit.com/products/3221/guides)
### 12V 5A switching power supply

[12V 5A switching power supply](https://www.adafruit.com/product/352)
This is a beefy switching supply, for when you need a lot of power! It can supply 12V DC up to 5 Amps, running from 110V or 220V power (the plug it comes with is for US/Canada/Japan but you can use any plug adapter for your country, or just replace the cable with a standard 'figure-8'...

In Stock
[Buy Now](https://www.adafruit.com/product/352)
[Related Guides to the Product](https://learn.adafruit.com/products/352/guides)
### 3.8 / 1.3mm or 3.5 / 1.1mm to 5.5 / 2.1mm DC Jack Adapter Cable

[3.8 / 1.3mm or 3.5 / 1.1mm to 5.5 / 2.1mm DC Jack Adapter Cable](https://www.adafruit.com/product/2788)
This convenient **3.8mm/1.3mm or 3.5mm/1.1mm or 1.3mm DC to 2.1mm DC adapter cable&nbsp;** lets you plug one of our [solar panels](https://www.adafruit.com/categories/67) into&nbsp;[our optimized Solar Lithium Ion/Polymer...](http://www.adafruit.com/products/390)

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

## Related Guides

- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md)
- [Ambient Color Control Pad](https://learn.adafruit.com/ambient-color-controller.md)
- [Convert your Model M Keyboard to Bluetooth with Bluefruit EZ-Key HID](https://learn.adafruit.com/convert-your-model-m-keyboard-to-bluetooth-with-bluefruit-ez-key-hid.md)
- [Raspberry Gear](https://learn.adafruit.com/raspberry-gear.md)
- [Control Electronics with your Brain using NextMind](https://learn.adafruit.com/control-electronics-with-your-brain-using-nextmind.md)
- [Using Python on Windows 10](https://learn.adafruit.com/using-python-on-windows-10.md)
- [Make It Glow With Crickit](https://learn.adafruit.com/make-it-glow-with-crickit.md)
- [Overwatch Prop Gun: Lucio's Blaster Pt. 3](https://learn.adafruit.com/overwatch-prop-gun-lucios-blaster-pt-3.md)
- [NeoPixel Run LED Arcade Game](https://learn.adafruit.com/pixel-chase-game.md)
- [Deco Two-Key Feather Macro Pad](https://learn.adafruit.com/deco-two-key-keypad-macropad-circuitpython-feather.md)
- [MakeCode Arcade with SAMD51 M4](https://learn.adafruit.com/makecode-arcade-with-samd51-m4.md)
- [Ethernet for CircuitPython with Wiznet5K](https://learn.adafruit.com/ethernet-for-circuitpython.md)
- [Humidity and Temperature Monitor with E-Ink Display](https://learn.adafruit.com/humidity-and-temperature-monitor-redux-e-ink-display.md)
- [CircuitPython displayio Setup for TFT FeatherWings](https://learn.adafruit.com/using-circuitpython-displayio-with-a-tft-featherwing.md)
- [Talking Computer from Star Trek](https://learn.adafruit.com/talking-computer-from-star-trek.md)
