# Spinning Disc Step Sequencer

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/068/869/medium800/feather_IMG_3321_2k.jpg?1546925750)

Play fresh drum patterns with this 16-step disc sequencer, made with **CircuitPython** on **Feather M4 Express** and **Crickit!** It uses **reflection sensors** to read the steps marked on the paper wheel — four tracks of different sound samples can be triggered. The outer clock track keeps everything synchronized.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/871/medium800/feather_IMG_3359_2k_b.jpg?1546926700)

You’ll use a continuous rotation servo to spin the disc, driven by the **Crickit FeatherWing** , plus the capacitive touch pads provide tempo controls to increase or decrease the BPM (beats per minute) of your player. **CircuitPython** code running on the **Feather M4** handles all of the coordination of the elements, and audio mixer playback duties as well.

https://youtu.be/_doZDexfNV8

Sequencers come in many forms. Today, we recognize drum machines, groove boxes, and computer DAW (digital audio workstation) software as typical sequencers. However, the player piano, with its paper roll that actuates valves and hammers to strike strings, or a music box, with its revolving cylinder or disc that plucks a tuned metal comb are also early forms of music sequencers. Our disc-based step sequencer works just like these early sequencers, but uses optical sensing to read the steps to play at the proper time.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/768/medium800/feather_83120728-6F7B-481D-AEDD-398D300795A0.jpg?1546820521 Harke [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], from Wikimedia Commons)

## How it Works

The Disc Step Sequencer works like this:

- The Feather M4, running a CircuitPython program, tells the Crickit's servo driver to spin the continuous rotation servo, to which the disc is connected
- Five IR (infrared) reflection sensors watch for black drum pattern step marks and clock step marks (more on this later) on the disc, and send signals through the Crickit's Signal I/O pins to the Feather M4
- Each time the outer sensor detects a clock step, the Feather M4 polls the other four sensors to see if any of them have encountered a drum pattern step
- When one or more of the four drum track sensors are triggered for a given clock step, the CircuitPython audio mixer plays the assocated drum voice sample .wav files over the Crickit's amplifier to the connected speaker
- The tempo can be adjusted by touching the capacitive touch sensors on the Crickit

![](https://cdn-learn.adafruit.com/assets/assets/000/068/772/medium800/feather_disc_diagram.jpg?1546843286)

## Parts
### Part: Adafruit Feather M4 Express - Featuring ATSAMD51
quantity: 1
Featuring ATSAMD51
[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)

### Part:  Adafruit CRICKIT FeatherWing for any Feather
quantity: 1
for any Feather
[ Adafruit CRICKIT FeatherWing for any Feather](https://www.adafruit.com/product/3343)

### Part: Continuous Rotation Servo
quantity: 1
Continuous Rotation Servo
[Continuous Rotation Servo](https://www.adafruit.com/product/154)

### Part: Miniature Reflective Infrared Optical Sensors 
quantity: 1
5 Pack
[Miniature Reflective Infrared Optical Sensors ](https://www.adafruit.com/product/3930)

### Part: Adafruit Perma-Proto Half-sized Breadboard PCB
quantity: 1
Single
[Adafruit Perma-Proto Half-sized Breadboard PCB](https://www.adafruit.com/product/1609)

### Part: Helping Third Hand Magnifier
quantity: 1
W/Magnifying Glass Tool
[Helping Third Hand Magnifier](https://www.adafruit.com/product/291)

### Part: 5V 2A (2000mA) switching power supply 
quantity: 1
UL Listed
[5V 2A (2000mA) switching power supply ](https://www.adafruit.com/product/276)

### Part: Speaker - 40mm Diameter
quantity: 1
4 Ohm 3 Watt
[Speaker - 40mm Diameter](https://www.adafruit.com/product/3968)

### Part: Through-Hole Resistors
quantity: 1
 220 ohm 5% 1/4W - Pack of 25
[Through-Hole Resistors](https://www.adafruit.com/product/2780)

### Part: Jumper Shunt with Handle (0.1" / 2.54mm)
quantity: 1
10 Pack
[Jumper Shunt with Handle (0.1" / 2.54mm)](https://www.adafruit.com/product/3525)

### Part:  Break-away 0.1" 36-pin strip male header
quantity: 1
(10 pieces)
[ Break-away 0.1" 36-pin strip male header](https://www.adafruit.com/product/392)

### Part: 0.1" 36-pin Strip Right-Angle Female/Socket Header
quantity: 1
(5 pack)
[0.1" 36-pin Strip Right-Angle Female/Socket Header](https://www.adafruit.com/product/1542)

### Part: Break-away 0.1" 36-pin strip right-angle male header
quantity: 1
(10 pack)
[Break-away 0.1" 36-pin strip right-angle male header](https://www.adafruit.com/product/1540)

### Part: Premium Male/Male Raw Jumper Wires 
quantity: 1
40 x 6" (150mm)
[Premium Male/Male Raw Jumper Wires ](https://www.adafruit.com/product/3142)

### Part:  Premium Male/Female Raw Jumper Wires
quantity: 1
40 x 6"
[ Premium Male/Female Raw Jumper Wires](https://www.adafruit.com/product/3633)

### Part: Small Single Row Wire Housing Pack 
quantity: 1
for DIY Jumper Cables
[Small Single Row Wire Housing Pack ](https://www.adafruit.com/product/3145)

### Part: Hook-up Wire Spool Set - 22AWG Solid Core
quantity: 1
6 x 25 ft
[Hook-up Wire Spool Set - 22AWG Solid Core](https://www.adafruit.com/product/1311)

### Part: Black Nylon Screw and Stand-off Set
quantity: 1
M2.5 Thread
[Black Nylon Screw and Stand-off Set](https://www.adafruit.com/product/3299)

## Materials

In addition to the parts listed above, you'll also need:

- White letter sized cardstock or paper, 8-1/2" x 11"
- Printer for printing the disc template
- Black chalk marker for creating patterns by hand (regular markers are too shiny and don't reliably absorb the infrared light)
- Scissors
- Hobby knife
- Soldering iron and solder
- Small screwdriver
- Diagonal cutters
- Chipboard for cutting an 8" diameter disc, or
- [MDF wood circle](https://www.michaels.com/circle-shape-by-artminds/10298974.html#q=298974&start=1) from hobby store
- Glue stick
- Hot melt glue gun and glue sticks

# Spinning Disc Step Sequencer

## Feather M4 and Crickit Prep

We'll be using CircuitPython for this project. Are you new to using CircuitPython? No worries,&nbsp;[there is a full getting started guide here](https://learn.adafruit.com/welcome-to-circuitpython).

Adafruit suggests using the Mu editor to edit your code and have an interactive REPL in CircuitPython.&nbsp;[You can learn about Mu and its installation in this tutorial](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

Follow this guide for instructions on installing the latest release version of CircuitPython for the Feather M4 Express.

[Installing CircuitPython ](https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython)
You'll also need to add the following libraries for this project. [Follow this guide](https://learn.adafruit.com/adafruit-hallowing/circuitpython-libraries) on adding libraries. The ones you'll need are:

- **adafruit\_bus\_device**
- **adafruit\_motor**
- **adafruit\_register**
- **adafruit\_seesaw**
- **adafruit\_crickit**
- **adafruit\_dotstar**
- **adafruit\_debouncer**
- **neopixel**
- **simpleio**

Download the latest adafruit-circuitpython-bundle .zip file as instructed in the guide linked below. Unzip the file and drag those libraries to the **lib** folder on your Feather M4 **CIRCUITPY** drive (create it if it does not already exist).

[Adding CircuitPython Libraries](https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-libraries)
## Crickit FeatherWing Setup
If you're new to the wonderful Crickit board, take a look at the [main guide here](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/overview). You'll notice the Crickit has its own micro USB port -- this is used only occasionally to update the seesaw firmware on the Crickit itself. You can [follow these instructions on updating to the latest firmware](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/update-your-crickit) before getting started.

## Audio Amp

The Crickit FeatherWing has a 3W class-D audio amplifier built in. By default, it is not connected to the Feather's pin A0 DAC (digital-analog converter) pin, since you can also choose to connect it to a PWM pin. We'll be using the A0 DAC output pin, so go ahead and solder a jumper across the pads shown here to send the DAC audio to the amp.

You can use a small wire or solder blob to get the job done, however, I like to use two male header pins and a jumper shunt so that I can "mute" the speaker easily by lifting the shunt.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/776/medium800/feather_audioFeatherJumper.jpg?1546878806)

## Audio Jumper

&nbsp;

Solder two male header pins to the pads labeled "Audio"

&nbsp;

Connect them with a jumper shunt to send the Feather M4 pin A0 DAC output to the Crickit FeatherWing's Class-D amplifier

![feather_IMG_3072_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/781/medium640/feather_IMG_3072_2k.jpg?1546881079)

![feather_IMG_3073_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/782/medium640/feather_IMG_3073_2k.jpg?1546881094)

![feather_IMG_3074_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/783/medium640/feather_IMG_3074_2k.jpg?1546881126)

![feather_IMG_3076_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/784/medium640/feather_IMG_3076_2k.jpg?1546881132)

![feather_IMG_3077_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/785/medium640/feather_IMG_3077_2k.jpg?1546881140)

![feather_IMG_3078_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/786/medium640/feather_IMG_3078_2k.jpg?1546881149)

![feather_IMG_3079_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/787/medium640/feather_IMG_3079_2k.jpg?1546881157)

Info: 

## Plug the Feather M4 into the Crickit
![](https://cdn-learn.adafruit.com/assets/assets/000/068/788/medium800/feather_IMG_3080_2k.jpg?1546881216)

Now, we're ready to build the sensor circuit, and connect it to the Crickit, along with the speaker, servo, and power.

# Spinning Disc Step Sequencer

## Build the Sensor Circuit

![](https://cdn-learn.adafruit.com/assets/assets/000/068/771/medium800/feather_disc_seq_Fritz.png?1546840794)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/823/medium800/feather_IMG_3288_2k.jpg?1546891469)

We'll build our own sensor bar to read the track steps. We'll use five sensors. The IR sensor packages contain two small elements, an IR LED and an IR sensor enclosed in a plastic housing.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/774/medium800/feather_3930-00.jpg?1546844713)

You can ignore the leg lengths (short leg doesn't mean ground in all cases) and instead use the diagram to orient things properly.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/773/medium800/feather_reflection_sensor3.png?1546843401)

The IR LED is the clear element. It will receive power from the Crickit's 3.3V line, with a 220 Ohm resistor to reduce the voltage. The dark element is the IR phototransistor. It will send a signal to one of the Crickit's Signal input pins, using the internal pullup resistors of the Crickit. Both are tied to ground.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/775/medium800/feather_disc_seq_Fritz_CU.png?1546844840)

You can build this on a breadboard for testing; ultimately we'll solder it onto an Adafruit Perma Proto board.

## Proto Board Build
## Sensors

&nbsp;

To start, place the sensors into the perma-proto board as shown and solder them in place. Match the orientation and spacing shown here.

&nbsp;

You don't have to flip the board upside down, I only did so to keep the fancy silkscreen side facing up in the final project.

&nbsp;

Don't push them down too far, the distance from the board must be consistent from sensor to sensor -- about 12mm away from the board. This will allow us to angle the board for optimal reflection reading.

![feather_IMG_3224_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/799/medium640/feather_IMG_3224_2k.jpg?1546887736)

![feather_IMG_3226_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/800/medium640/feather_IMG_3226_2k.jpg?1546887746)

![feather_IMG_3227_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/801/medium640/feather_IMG_3227_2k.jpg?1546887756)

## Resistors

&nbsp;

Next, add 220 Ohm current limiting resistors for each IR LED element.

&nbsp;

Run a resistor from the **V+** leg of each sensor to the **+** power rail on the Perma Proto board. (Note how I marked each rail to avoid confusion due to flipping the board upside down.)

![feather_IMG_3228_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/802/medium640/feather_IMG_3228_2k.jpg?1546888119)

![feather_IMG_3230_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/803/medium640/feather_IMG_3230_2k.jpg?1546888208)

![feather_IMG_3231_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/804/medium640/feather_IMG_3231_2k.jpg?1546888217)

![feather_IMG_3232_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/805/medium640/feather_IMG_3232_2k.jpg?1546888242)

## Ground

&nbsp;

Now, ground each of the sensor ground legs to the bottom ground rail on the perma-proto board with a small wire jumper.

&nbsp;

You can ground each wire to the rail individually, or jumper them all horizontally as shown. It doesn't look pretty, but it works and won't be seen in the final project!

&nbsp;

To connect them horizontally, strip the insulation from a length of wire that spans the width of the sensor array and then solder it down to each column with a giant, slug-like trail of solder. Admittedly, this was faster than making nine more small jumpers, but I sorta wish I had now ; ]

![feather_IMG_3233_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/806/medium640/feather_IMG_3233_2k.jpg?1546888528)

![feather_IMG_3235_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/807/medium640/feather_IMG_3235_2k.jpg?1546888537)

We'll also connect the Perma Proto board's two ground rails with a jumper wire.

## Interconnects
To connect the sensor bar to the Crickit sensor inputs and power, we'll make some cable sets and add removable header connectors.

&nbsp;

First, peel off a five wire section of the raw male/male jumper wires with the color set as shown.

Then, push the cable ends on either side into their own 5-pin dupont connector.

&nbsp;

Repeat this with a red-brown pair of male/female jumper wire, and add 2-pin dupont connectors to it.

&nbsp;

Next, use diagonal cutters to clip off a 5-pin section of the right-angled female header, and a 2-pin section of the right-angled male header. We'll use different polarities here to reduce the chance of mis-plugging something.

&nbsp;

Solder the 5-pin header as shown.

&nbsp;

Jumper a column to power rail and ground as shown, then add the 2-pin male header as shown, this is where the power will plug in. It is important to plug these in correctly! The color coded jumper wire helps.

![feather_IMG_3238_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/808/medium640/feather_IMG_3238_2k.jpg?1546888998)

![feather_IMG_3239_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/809/medium640/feather_IMG_3239_2k.jpg?1546889007)

![feather_IMG_3240_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/810/medium640/feather_IMG_3240_2k.jpg?1546889014)

![feather_IMG_3241_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/811/medium640/feather_IMG_3241_2k.jpg?1546889021)

![feather_IMG_3242_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/812/medium640/feather_IMG_3242_2k.jpg?1546889029)

![feather_IMG_3243_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/813/medium640/feather_IMG_3243_2k.jpg?1546889037)

![feather_IMG_3244_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/814/medium640/feather_IMG_3244_2k.jpg?1546889045)

![feather_IMG_3245_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/815/medium640/feather_IMG_3245_2k.jpg?1546889052)

![feather_IMG_3246_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/816/medium640/feather_IMG_3246_2k.jpg?1546889059)

![feather_IMG_3248_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/817/medium640/feather_IMG_3248_2k.jpg?1546889071)

## Wiring the Sensors

Lastly, run a color coded jumper wire from each sensor's signal leg to the associated pin coming from the cable interconnect as shown. Solder these in place and our sensor board is ready for use!

![](https://cdn-learn.adafruit.com/assets/assets/000/068/818/medium800/feather_IMG_3249_2k.jpg?1546889829)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/819/medium800/feather_IMG_3250_2k.jpg?1546889837)

Now, plug the cables into the Crickit's Signal I/O ports as shown.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/821/medium800/feather_IMG_3284_2k.jpg?1546891425)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/820/medium800/feather_IMG_3283_2k.jpg?1546891415)

## Speaker
Place the speaker wires into the two speaker terminal ports on the Crickit and screw them down firmly. You may need to strip a little extra insulation from each wire first to get a better connection.

## Servo
Plug the continuous rotation servo cable into the Servo 1 port on the Crickit with the orange wire nearest to the outside edge of the Crickit.

## Power
Plug the 5V 2A DC power adapter plug into the Crickit's power barrel jack.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/822/medium800/feather_IMG_3290_2k.jpg?1546891447)

# Spinning Disc Step Sequencer

## Disc Step Sequencer Audio and Code

Power your Crickit with a 5V supply into the black power connector (and not the Crickit's silver USB port).

Plug in your Feather M4 to your computer via USB and then turn on the Crickit's power switch. (Make sure you plug into the Feather M4 USB port, not the Crickit USB port!)

The Feather M4's **CIRCUITPY** drive will show up on your computer. We're going to copy some .wav files onto the **CIRCUITPY** drive. Download and uncompress this .zip file and then drag the .wav files onto the Feather M4's **CIRCUITPY** drive.

[Disc Step Seq Samples](https://cdn-learn.adafruit.com/assets/assets/000/068/824/original/disc_step_sequencer_samples.zip?1546894268)
## Code

Here is the code we'll use. Copy it and then paste it into the Mu editor. Save it to your Feather M4 as **code.py**

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

The board will start up and play the four samples and then begin turning the servo motor!

## Tune the Servo

Go ahead and plug in the power adapter and turn on the Crickit. The sounds will each play one time and then the servo will start to spin. In order to calibrate the servo, press the Crickit's touch pads **2** & **3** at the same time. If the servo stopped spinning, great! More likely, it is still spinning, perhaps even faster than before.

Use a small Phillips screwdriver to turn the adjustment potentiometer that is accessible through a small hole in the servo housing until the servo stops spinning. Now, it is calibrated.

You can get the servo moving forward again by tapping the Crickit's touch pad **4** a few times.

Go ahead and turn off the Crickit's power switch while we set it all up!

# Spinning Disc Step Sequencer

## Build the Sequencer and Make Beats

![](https://cdn-learn.adafruit.com/assets/assets/000/068/825/medium800/feather_disc_diagram.jpg?1546894507)

## Sequencer Theory

This is the anatomy of a sequencer disc. There are five circular tracks, each broken into 16 steps. Think of them as four measures of 4/4 time (four beats to the measure, 1/4 note gets the beat). So, each step is a quarter note.

This is a typical pattern style for a 16-step drum machine pattern. You can count it off as "one-2-3-4, two-2-3-4, three-2-3-4, four-2-3-4"

The outer ring is the clock track. It keeps time and its steps tell the whole system when to check for drum steps to play. Whenever a new clock step is sensed, the pattern has advanced one step.

The four inner tracks are for the four drum sample .wav files (they don't have to be drums, actually, any sample you want to play will work). One sample sound will be triggered per track, wherever a filled-in black step is sensed.

I've chosen a kick drum, snare drum, closed high hat, and clap as the four samples. Each track corresponds to one sample .wav file as well as one "voice" of the CircuitPython audio mixer.

Here's an example of a traditional, Roland 808-style drum pattern, created with [Pattern.Sketch.com](https://patternsketch.com/)

https://soundcloud.com/user-505776715/disc-step-sequencer-beat

[hiphop2.wav](https://cdn-learn.adafruit.com/assets/assets/000/068/828/original/hiphop2.wav?1546896157)
![](https://cdn-learn.adafruit.com/assets/assets/000/068/829/medium800/feather_hiphopPattern.png?1546896617)

Now, imagine we tidy that up to only the four tracks and the clock track at the top:

![](https://cdn-learn.adafruit.com/assets/assets/000/068/831/medium800/feather_hiphopPattern_cleaned.jpg?1546897189)

Then, we deform it into a circle, by going from rectangular to circular polar coordinates:

![](https://cdn-learn.adafruit.com/assets/assets/000/068/832/medium800/feather_hiphopPatternPolar.jpg?1546897457)

Hey! Now we've got a disc version of our drum pattern!

## Pattern Discs
Here's a clean version we can use with the sensor strip:

![](https://cdn-learn.adafruit.com/assets/assets/000/068/833/medium800/feather_dss_hiphop2.png?1546897578)

One difference you'll notice is that the clock steps have been rotated to occur a little bit before the drum steps. This is to give the clock track sensor and Feather M4 time to register a clock tick and then scan the other four sensors to see if a drum step needs to be triggered.

I've also added some space between steps, this aids the sensors in detecting the "edge" between a white, reflective portion of the disc, and a black, non-reflective step mark.

You can now download and print out the .pdf files linked below. Just make sure you print them at 1:1 scale (a.k.a. "actual size") -- the circle has an 8" diameter so will fit on a sheet of Letter-sized paper.

White cardstock works great, but you can use regular printer paper as well. Use scissors to cut out the discs.

[dss_blank.pdf](https://cdn-learn.adafruit.com/assets/assets/000/068/826/original/dss_blank.pdf?1546894523)
[dss_hiphop2.pdf](https://cdn-learn.adafruit.com/assets/assets/000/068/827/original/dss_hiphop2.pdf?1546894539)
![](https://cdn-learn.adafruit.com/assets/assets/000/068/834/medium800/feather_IMG_3292_2k.jpg?1546906295)

You can use a hobby knife to cut out the center circle, which helps with alignment later.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/835/medium800/feather_IMG_3303_2k.jpg?1546906316)

## Platter

Now, we need a way to mount the pattern disc to the continuous rotation servo motor. You can cut out a flat piece of chipboard, or even better, laser cut an 8" circle with a hole in the middle for perfect servo horn alignment.

This can also be done with an MDF circle from the craft store or laser cut acrylic if you want something perfectly flat.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/836/medium800/feather_IMG_3295_2k.jpg?1546906353)

You can print and cut this template to make it simple to find the edges and center of your cardboard if you like.

[disc_seq_circle.pdf](https://cdn-learn.adafruit.com/assets/assets/000/068/837/original/disc_seq_circle.pdf?1546906603)
## Servo Horn Mount

Use hot glue to mount one of the servo horns to the center of the platter. To keep things even, I find it best to hold the two parts together and then use hot glue on top of them, rather than between the surfaces.

Next, use a few dabs of glue stick to hold the paper disc to the cardboard platter. Go sparingly and the disc will work well, but still be easy to remove to swap out discs.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/841/medium800/feather_IMG_3301_2k.jpg?1546906673)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/844/medium800/feather_IMG_3304_2k.jpg?1546906894)

Now, press the platter and horn onto the servo shaft.

## Build the Player

Now, we'll arrange our parts onto a base made of foam-core board, using hot glue to hold down the servo and speaker. (Platter has been removed from the servo for this photo.)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/845/medium800/feather_IMG_3309_2k.jpg?1546908591)

You don't need to mount the Crickit if you don't want to, or use some double-stick foam tape or 2.5mm nylon screws and standoffs to secure it.

## Sensor Arm

The sensor bar requires adjustment to get the best angle, so we'll convert a third-hand tool into our adjustable sensor arm.

Remove the main arm from the base by loosening the retention screw.

&nbsp;

Take one of the alligator clips off of one end, and place it into the base socket, then tighten.

&nbsp;

This will allow three degrees of freedom in placing the board.

&nbsp;

Add a nylon standoff and screw to the perma proto board as shown.

&nbsp;

Clamp alligator clip onto the standoff. (Heat shrink tubing is optional.)

&nbsp;

The stand can now be adjusted easily!

&nbsp;

&nbsp;

![feather_IMG_3313_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/848/medium640/feather_IMG_3313_2k.jpg?1546908785)

![feather_IMG_3316_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/849/medium640/feather_IMG_3316_2k.jpg?1546908794)

![feather_IMG_3317_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/850/medium640/feather_IMG_3317_2k.jpg?1546908800)

![feather_IMG_3318_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/851/medium640/feather_IMG_3318_2k.jpg?1546908822)

![feather_IMG_3319_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/852/medium640/feather_IMG_3319_2k.jpg?1546908836)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/853/medium800/feather_IMG_3320_2k.jpg?1546909050)

## Sensor Placement and Test Run

We're ready to do this! Place the sensor assembly over the disc and angle it as shown, with the sensors a few millimeters from the surface.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/854/medium800/feather_IMG_3321_2k.jpg?1546909149)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/855/medium800/feather_IMG_3322_2k.jpg?1546909157)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/863/medium800/feather_IMG_3359_2k_b.jpg?1546918721)

Plug in the power adapter, and turn on the Crickit on/off switch. The sounds will each play once, then the disc will start to spin! If it doesn't spin, double check all connections and make sure you calibrated the servo as outlined on the previous page of this guide.

You'll hear a hip hop beat playing when the sensor is aligned properly. This is the trickiest part, so take your time adjusting the angle and height of the sensors over the disc. Each sensor should be over it's own track.

https://youtu.be/_doZDexfNV8

Once you have a good alignment, go ahead and secure the sensor base to the foam-core with some hot glue. You'll still be able to make fine adjustments if needed, but won't need to worry about the base being knocked off course.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/858/medium800/feather_IMG_3325_2k.jpg?1546909929)

## DIY Patterns

To make your own pattern discs, all you need to do is print out a blank template, and then fill in the steps with a black chalk marker. Sharpies and other ink markers tend to be too shiny, so the matte finish of the chalk paint marker is what you want.

![](https://cdn-learn.adafruit.com/assets/assets/000/068/864/medium800/feather_IMG_3332_2k.jpg?1546918849)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/865/medium800/feather_IMG_3334_2k.jpg?1546918875)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/866/medium800/feather_IMG_3349_2k.jpg?1546918883)

![](https://cdn-learn.adafruit.com/assets/assets/000/068/867/medium800/feather_IMG_3351_2k.jpg?1546918897)

https://youtu.be/l_eFeD_C0NU

Now, you can make your own drum tracks! You can also use your own samples as well -- just make sure they are **PCM 16-bit Mono WAV files at 22KHz sample rate.** You can follow this guide for more info on converting your audio files.

## Mods and Improvements

This project could be extended into an even more fully featured drum sequencer! Here are some ideas:

- With a greater distance between sensors you may improve their ability to read tracks from a greater distance (less lateral IR light spill from neighbors
- You could use a full sized perma-proto board and a larger disc to add more sensors and therefore the ability to read more tracks. How about some toms, cymbals, and clavs?
- What about subdividing it into 32 steps for greater variety?
- A metal disc with magnetic step markers could be fun for quickly adjusting patterns
- You could go out to a proper amplifier and speaker stack for some huge sound!


## 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)
### Adafruit CRICKIT FeatherWing for any Feather

[Adafruit CRICKIT FeatherWing for any Feather](https://www.adafruit.com/product/3343)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

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

[Continuous Rotation Servo](https://www.adafruit.com/product/154)
This servo rotates fully forward or backward instead of moving to a position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with four different horns, as shown.

To control with an Arduino, we suggest connecting...

In Stock
[Buy Now](https://www.adafruit.com/product/154)
[Related Guides to the Product](https://learn.adafruit.com/products/154/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...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1609)
[Related Guides to the Product](https://learn.adafruit.com/products/1609/guides)
### Miniature Reflective Infrared Optical Sensors - 5 Pack

[Miniature Reflective Infrared Optical Sensors - 5 Pack](https://www.adafruit.com/product/3930)
This **Reflective IR Sensor** is a simple plastic casing with two elements - an IR LED and an IR phototransistor. You can control the IR LED and turn it on to bounce IR off objects to determine their reflectivity. White & light colored stuff will bounce the light, so&nbsp; you...

In Stock
[Buy Now](https://www.adafruit.com/product/3930)
[Related Guides to the Product](https://learn.adafruit.com/products/3930/guides)
### 5V 2A (2000mA) switching power supply - UL Listed

[5V 2A (2000mA) switching power supply - UL Listed](https://www.adafruit.com/product/276)
This is an FCC/CE certified and UL listed power supply. Need a lot of 5V power? This switching supply gives a clean regulated 5V output at up to 2000mA. 110 or 240 input, so it works in any country. The plugs are "US 2-prong" style so you may need a plug adapter, but you can pick one...

In Stock
[Buy Now](https://www.adafruit.com/product/276)
[Related Guides to the Product](https://learn.adafruit.com/products/276/guides)
### Speaker - 40mm Diameter - 4 Ohm 5 Watt

[Speaker - 40mm Diameter - 4 Ohm 5 Watt](https://www.adafruit.com/product/3968)
Hear the good news! This speaker&nbsp;is a great addition to any audio project where you need a&nbsp;4 Ohm impedance and 3W or less of power.

At **40mm diameter** it has a more square-ish shape, but a smaller face. Sound quality and volume are nicely sandwiched between our...

In Stock
[Buy Now](https://www.adafruit.com/product/3968)
[Related Guides to the Product](https://learn.adafruit.com/products/3968/guides)
### Through-Hole Resistors - 220 ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 220 ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/2780)
Ω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 220Ω Resistors.** More specifically, they are **carbon film** , through-hole...

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

## Related Guides

- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md)
- [Getting Started with Microsoft Azure and CircuitPython](https://learn.adafruit.com/getting-started-with-microsoft-azure-and-circuitpython.md)
- [RGB Matrix Slot Machine](https://learn.adafruit.com/rgb-matrix-slot-machine.md)
- [MP3 Playback in CircuitPython with Lars the Sloth Puppet](https://learn.adafruit.com/mp3-circuitpython-lars.md)
- [PermaProto Feather Case](https://learn.adafruit.com/permaproto-feather-case.md)
- [Robotic AI Bear using ChatGPT](https://learn.adafruit.com/robotic-ai-bear-using-chatgpt.md)
- [CircuitPython MIDI to CV Skull](https://learn.adafruit.com/circuitpython-midi-to-cv-skull.md)
- [Multi-Sensor IoT Environmental Sensor Box With CircuitPython](https://learn.adafruit.com/remote-iot-environmental-sensor.md)
- [reef-pi Guide 4: Water Level Controller](https://learn.adafruit.com/reef-pi-water-level-controller.md)
- [Lucio Blaster 2020 - CircuitPython for Advanced Prop Making](https://learn.adafruit.com/lucio-blaster-2020-circuitpython-advanced-prop-making.md)
- [CircuitPython with Jupyter Notebooks](https://learn.adafruit.com/circuitpython-with-jupyter-notebooks.md)
- [Making oscilloscope images with DACs](https://learn.adafruit.com/dac-oscilloscope-images.md)
- [Air Quality Sensor 3D Printed Enclosure](https://learn.adafruit.com/air-quality-sensor-silo-house.md)
- [Ambient Color Control Pad](https://learn.adafruit.com/ambient-color-controller.md)
- [GEMMA M0 Case](https://learn.adafruit.com/gemma-m0-case.md)
- [Fog Machine with Motion Sensor and Adafruit IO](https://learn.adafruit.com/fog-machine-remote-trigger.md)
