Bluetooth LE MIDI Controller

Similar documents
Circuit Playground Combadge

Feather Weather Lamp. Created by Ruiz Brothers. Last updated on :54:26 PM UTC

Bluetooth Controlled NeoPixel Headphones

7 Portable Multitouch Raspberry Pi Tablet

3D Printed Case for Adafruit Feather

LED Eyes. Created by Ruiz Brothers. Last updated on :50:55 AM UTC

Portable Apple Watch Charger

Guardian Shield+ Zelda Breath of the Wild

Circuit Playground Yoyo

Simple LED Unicorn Horn

DIY Bluetooth Gamepad

Trellis 3D Printed Enclosure

Boomy The Boombox. Created by Ruiz Brothers. Last updated on :52:13 PM UTC

FPV Mini Display. Created by Ruiz Brothers. Last updated on :00:18 PM UTC

7" Portable HDMI Monitor

NeoPixel Bike Light. Created by Ruiz Brothers. Last updated on :43:46 PM UTC

Camera LED Ring Light

Trinket NeoPixel LED Longboard

Solder Dispenser Adabot Head

3D Printed LED Knuckle Jewelry

Lie Ren's Stormflower Gun Blade

BLE Light Switch with Feather nrf52840 and Crickit

FLORA TV-B-Gone. Created by Becky Stern. Last updated on :32:57 PM UTC

3D Printed Camera LED Ring

Solar Boost Bag. Created by Becky Stern. Last updated on :44:55 PM UTC

PyPortal View Master Created by Ruiz Brothers. Last updated on :51:28 AM UTC

3D Printed Google AIY Voice Kit

NeoPixie Dust Bag with Circuit Playground Express

Adafruit Capacitive Touch Sensor Breakouts

Zelda Thunder Helm. Created by Ruiz Brothers. Last updated on :46:52 PM UTC

Adafruit VL53L0X Time of Flight Micro-LIDAR Distance Sensor Breakout

NeoPixel Ring Bangle Bracelet

'Sup Brows. Created by Kate Hartman. Last updated on :52:04 PM UTC

3D Printed 20w Amplifier Box

Neon LED Signs. Created by John Park. Last updated on :11:09 PM UTC

Mystical LED Halloween Hood

Infinity Mirror Valentine's Candy Box

DIY Wireless DDR Dance Pad with Bluefruit EZ-Key

3D Printed 20w Amplifier Box

Adafruit DRV2605 Haptic Controller Breakout

Adafruit 8x16 LED Matrix FeatherWing

Adafruit MCP9808 Precision I2C Temperature Sensor Guide

CircuitPython Media Dial

Audio Prank Gift Box. Created by Becky Stern. Last updated on :46:15 PM UTC

3D Printed LED Buckle

Adabot Operation Game

Adafruit APDS9960 breakout

NeoPixel Manicure. Created by Sophy Wong. Last updated on :50:38 PM UTC

Con Badge with Circuit Playground Express

Bunny Ears with MakeCode

No-Sew LED Wristband. Created by Kathy Ceceri. Last updated on :23:40 PM UTC

Phone-Activated Talking Dog Collar

Magnetic shoelaces. Created by Ruiz Brothers. Last updated on :31:02 PM UTC

Mini Mac Pi. Created by Ruiz Brothers. Last updated on :43:27 PM UTC

Circuit Playground Express Head-Tilt Ears

Adafruit Si7021 Temperature + Humidity Sensor

Glowing Smokey Skull. Created by Ruiz Brothers. Last updated on :03:40 PM UTC

Adafruit MPRLS Ported Pressure Sensor Breakout

3D Printed Bone Conduction Transducer Box

Sword & Wand Prop Effects with Circuit Playground

i2c/spi LCD Backpack Created by lady ada Last updated on :11:04 PM UTC

Toy Car Speed Timer. Created by Kirby Griese. Last updated on :13:49 PM UTC

Adafruit DRV2605 Haptic Controller Breakout

Wind Blowing Emoji Prop

Ping Pong Ball Launcher

Tent Lantern. Created by Timothy Reese. Last updated on :17:25 AM UTC

Steven Universe Cosplay Shirt & Gem Created by Erin St Blaine. Last updated on :54:25 PM UTC

Clockwork Goggles. Created by John Park. Last updated on :03:10 PM UTC

MCP Bit DAC Tutorial

MCP Bit DAC Tutorial

Circuit Cookie Roller

3D Printed Daft Punk Helmet with Bluetooth

Crawling Animatronic Hand

Bike Wheel POV Display

Snake Charmer Box. Created by Dano Wall. Last updated on :07:25 PM UTC

NeoPixel LED Cortana Costume

Ultrasonic Ruler. Created by Ruiz Brothers. Last updated on :08:28 PM UTC

NeoMatrix 8x8 Word Clock

Slider Crank Mechanism -- from Cardboard and Craft Sticks

DIY Circuit Playground Shields

Pushrod Garage. Created by John Park. Last updated on :07:30 PM UTC

FeatherWing Proto, Doubler and Tripler

Android GBoard Morse Code Control with Circuit Playground Express

Adafruit Prototyping Pi Plate. Created by Ladyada

Adafruit MMA8451 Accelerometer Breakout

Raspberry Pi Selfie Bot

Cup o' Sound. Created by Becky Stern. Last updated on :30:06 PM EST

3DPrinted Custom Keycaps

Interior Purse Light. Created by Becky Stern. Last updated on :41:08 PM UTC

Adafruit Si5351 Clock Generator Breakout

Reindeer Mask with Animated Eyes

Raspberry Pi Pipboy 3000

Webcam Cover-Up Lego brick with Adabot Mini Fig

Introducing Adafruit Trellis

Adafruit I2C FRAM Breakout

Adafruit AMG8833 8x8 Thermal Camera Sensor

Monochrome OLED Breakouts

GPS Logging Dog Harness

Adafruit PowerBoost 500 Shield

Chirping Plush Owl Toy

Transcription:

Bluetooth LE MIDI Controller Created by Ruiz Brothers Last updated on 2017-03-01 08:40:08 PM UTC

Guide Contents Guide Contents Overview A Different Looking MIDI Controller BLE MIDI Drum Machine How Does It Work? Capacitive Touch Pads DIY: Make It Your Own Prerequisite Guides Parts Tools & Supplies Circuit Diagram Connections Battery Power Software Get Arduino IDE Install Libraries Install Adafruit AVR Boards Select Feather Board Run Example Sketch 3D Printing 3D Printing Enclosures Slice Settings 3D Printing with Conductive Filament!? 3D Printed Capacitive Touch Pads CNC Milling Pick Your Tool & Materials Othermill & Otherplan Set Material Duplicate Copies Secure Material to Spoilboard Start Milling! Vacuum Swarf! Remove Stock Remove Parts from Stock Milled Parts Test Fit Touch Pads 2 5 5 5 6 6 7 7 8 8 10 10 11 12 12 12 13 13 14 15 15 16 16 16 18 18 18 18 19 20 20 21 21 21 22 22 Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 2 of 48

Wiring Parts & Tools Slide Switch Switch Wired Connect Wires to Switch Switch for Feather Flex PCB Tin Flex PCB Expand Power and Ground Connect Switch to Feather Test Switch & Battery Wires for Cap Sensor Tin Wires Heat Shrink Tubing Wire Cap Sensor Connect Cap Sensor To Feather NeoPixel to Feather NeoPixel Wires Solder Wires to NeoPixel Connect NeoPixel to Feather Copper Tape Stick Copper Tape to Touch Pads (CNC Milled Only!) Touch Pad Wires Connect Wires to Copper Tape Wired Touch Pads Connect Pads to Cap Sensor Final Circuit Assembly Machine Screws Mount Cap Sensor Mount Feather Mount Switch Connect Battery Install NeoPixel to Cover Install Touch Pads to Cover Matching Pads with Pin Numbers Installed Touch Pads Secure Pads and NeoPixel Install Battery 23 23 23 24 24 25 26 26 27 28 28 29 29 30 30 31 32 33 33 34 34 35 35 36 37 37 38 39 39 39 40 40 41 41 41 42 42 42 43 Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 3 of 48

Install Cover Finished Build! Usage User Interface Connecting BLE MIDI Devices 44 44 46 46 46 Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 4 of 48

Overview A Different Looking MIDI Controller In this guide, I'll show you how I built this strange looking MIDI controller. It doesn't look like your typical drumpad or keyboard, but it does have similar functionality just like any standard MIDI controller. It features six capacitive touch pads that trigger MIDI notes. Tap one of the pads, and it plays a note. It also features a step sequencer so you can record and playback a pattern. The 16 NeoPixel ring displays a glowing dot for each step which also follows the beat of a given tempo. It can also change settings, such as pitch, tempo, shuffle, length, velocity and even MIDI channel. BLE MIDI Drum Machine This project is based off of Todd Treece's Capacitive Touch Drum Machine (http://adafru.it/ufp). Todd's project uses an Arduino, MPR121 touch capacitive sensor and a strip of 16 NeoPixel LEDs to make a simple drum machine that you can use Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 5 of 48

to control MIDI devices and virtual instruments. This project is built on top of that sketch and adds BLE connectivity. The future is here! How Does It Work? The Feather 32u4 Bluefruit LE features the NRF51 chipset which supports Bluetooth lowenergy. This means it can act like a HID keyboard, or in our case, send and receive MIDI notes over BLE. The MPR121 capacitive touch sensor features touch detection, so we can connect conductive materials to it. The Feather listens for any touches from the capacitive touch sensor and sends MIDI notes whenever a pin is pulled low or high. Capacitive Touch Pads 3D Printed or CNC Milled? If you want to build this project, you have the option of 3D printing the capacitive touch pads using conductive PLA or CNC mill them out of conductive material like 6061 aluminum. The choice is yours! I tried both, and I really like the look and feel of aluminum capative touch pads. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 6 of 48

DIY: Make It Your Own If you don't like the look of this project, but you still like the idea of building your own MIDI controller, you can re-use the code, components and circuit diagram to base your own MIDI controller from. Instead of using a NeoPixel ring, go for a strip. Or fabricate your own. Don't like the shape or material of the pads? Make your own! Use copper foil tape, bare conductive paint or any electrically conductive material (how about fruits?). Prerequisite Guides If you want to build this project, I suggest you walk through the following guides below to get a better understanding of the components and libraries. Adafruit Feather 32u4 Bluefruit LE (http://adafru.it/kcc) MPR121 Capacitive Touch Sensor (http://adafru.it/ufq) Capacitive Touch Drum Machine (http://adafru.it/ufr) Adding Custom Boards to Arduino IDE (http://adafru.it/jcv) Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 7 of 48

Parts I used the following parts to build this project. Adafruit Feather 32u4 Bluefruit LE (http://adafru.it/2829) 16 x NeoPixel Ring (http://adafru.it/1463) MPR121 Capacitive Touch Sensor (http://adafru.it/1982) 2500mAh Lipo Battery (http://adafru.it/328) Slide Switch (http://adafru.it/805) Flex Perma-Proto (http://adafru.it/1518) Tools & Supplies You'll need the following tools and supplise to build this project. Soldering Iron & Solder (http://adafru.it/180) Tweezers (http://adafru.it/3096) Panavise Jr. (http://adafru.it/151) Third Helping Hands (http://adafru.it/291) Copper Foil Tape (http://adafru.it/1128) Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 8 of 48

Heat Shrink Pack (http://adafru.it/1649) 30AWG silicone cover wire (http://adafru.it/2051) Wire Strippers (http://adafru.it/527) Diagonal Flush Snips (http://adafru.it/dxq) Conductive PLA (http://adafru.it/2703) (for 3D printing touch pads) 4x 4-40 3/8 (or M3 -.5) machine screws Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 9 of 48

Circuit Diagram Connections The circuit diagram above shows how the components will be wired together. This won't be 100% exact in the actual circuit but it's a very close approximation. Please note the buttons connected to the capacitive touch sensor do not have to be buttons. They can be any piece of electrically conductive material. Slide Switch to GND and EN pins on Adafruit Feather 32u4 Bluefruit LE VCC from NeoPixel to 3V on Adafruit Feather 32u4 Bluefruit LE GND from NeoPixel to GND on Adafruit Feather 32u4 Bluefruit LE Data In from NeoPixel to #6 on Adafruit Feather 32u4 Bluefruit LE SCL from MPR121 to SCL on Adafruit Feather 32u4 Bluefruit LE SDA from MPR121 to SDA on Adafruit Feather 32u4 Bluefruit LE IRQ from MPR121 to A4 on Adafruit Feather 32u4 Bluefruit LE Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 10 of 48

GND from MPR121 to GND on Adafruit Feather 32u4 Bluefruit LE VIN from MPR121 to 3V on Adafruit Feather 32u4 Bluefruit LE 0-5 on MPR121 to Touch Pads Battery Power The circuit will be powered by a 3.7V 2500mAh Lithium ion battery via JST connection. The battery plugs directly into the Adafruit Feather 32u4 Bluefruit LE, which allows had a builtin charging circuit so you can recharge the lipo battery over the microusb port. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 11 of 48

Software Get Arduino IDE For this project you will need version 1.6.X of the Arduino IDE with the Adafruit Arduino Board Manager proxy added to your Arduino preferences. If you haven't configured the proxy yet, check out our guide (http://adafru.it/jcv) on setting up your Arduino IDE to use the proxy. Arduino IDE Download http://adafru.it/f1p Install Libraries You will need to install a few things using the new Arduino Library and Board Managers. First, open up the Arduino Library Manager under the Sketch- >Include Library menu. Select the Manage Libraries... item from the menu. You will need to use the search box to find and install these three libraries: FifteenStep Adafruit NeoPixel Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 12 of 48

Adafruit MPR121 Adafruit BluefruitLE nrf51 Install Adafruit AVR Boards You'll need to installthe Adafruit AVR boards to add support for the Adafruit Feather 32u4 Bluefruit LE. Open the Arduino Boards Manager under the Tools->Board->Boards Manager... menu item. Use the search box to find and install the Adafruit AVR boards. Select Feather Board Next, select the Adafruit Feather 32u4 board in the Tools>Board menu. Then, under the Tools- >Port->Serial ports menu, select /dev/cu.usbmodem (Adafruit Feather 32u4). Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 13 of 48

Run Example Sketch OK, now it's time to open the example sketch and upload the code to the Adafruit Feather board. Select nble_neopixel_mpr121 under the File->Examples- >FifteenStep menu. Then, click the upload button If everything goes as expected, you will see a Done Uploading message at the bottom of the window. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 14 of 48

3D Printing 3D Printing Enclosures I drew up an enclosure in Autodesk Fusion 360 and designed each component so that I could design friction fit mounting points. I 3D printed the enclosure on several 3D printers to test tolerances (Printrbot Play, Flashforge Creator Pro, and Micro M3D). If you don t have access to a 3D printer, you could use a service like 3D Hubs (http://adafru.it/pdi) to make it for you. I used PLA material to 3D print the parts, and they didn t require any support material. The enclosure was 3D printed with Proto-Pasta Aromatic CoffeePLA filament (http://adafru.it/3225). Download STLs from Thingvierse http://adafru.it/ufx Download STLs from YouMagine Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 15 of 48

http://adafru.it/ufy Download STLs from Pinshape http://adafru.it/ufz Slice Settings Depending on your 3D printer, you may need to adjust the slice settings. I sliced the parts using Simplify 3D. They do not require any support material and are oriented to print "as is". Nozzle: 0.4mm Extrusion Multiplier: 1.0 Extrusion Width: 0.48mm Layer Height: 0.2mm Nozzle Temperature: 220c Download Fusion 360 Source http://adafru.it/ufs 3D Printing with Conductive Filament!? Yes, you can 3D print the pads using conductivepla, which is a special blend of PLA with conductive particles. Proto-Pasta Conductive PLA (http://adafru.it/2703) filament is relatively easy to print with, and it's electrically conductive :-) 3D Printed Capacitive Touch Pads If you're 3D printing the touch pads, I suggest you use a 100% infill to increase the conductivity. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 16 of 48

Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 17 of 48

CNC Milling Pick Your Tool & Materials In this project, I used the Othermill Pro (http://adafru.it/2323) desktop CNC from Othermachine to mill the pads out of 6061 1/8" (3.17mm) thick aluminum bar (http://adafru.it/uft). If you have access to a different CNC machine, you'll need to generate your own GCODE for milling the touch pads. You can download the Fusion 360 source file and program your own tool paths via the CAM workspace. If you do have access to an Othermill, you can use my GCODE file in Otherplan and cut them out as is. As long as you have aluminum stock that's about 3.1mm thick, you should be able to cut them out without any issues. Othermill & Otherplan I'm going to assume you know how to use the Othermill and Otherplan. So I won't cover that in this tutorial. I will however show you how to setup multiple jobs in Otherplan so you can cut all six pads on a 4" x 4" piece of aluminum. Set Material First, choose "Generic" from the materials dropdown and set your material size. Click on the "Open Files" button to browse for the pad-1-8-alum.nc GCODE file and select it. Click on the dropdown near the file and choose the 1/8in Flat End Mill. Then, click the dropdown near "Placement" and set the Z to "- 3.1mm" so the gcode gets positioned on the spoilboard. You can leave the X and Y at zero. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 18 of 48

Duplicate Copies You can add additional jobs to Otherplan to make duplicate copies. It's more efficent to mill several copies instead of milling one at a time. Click open file and select the same pad-1-8- alum.nc gcode. Then, click the dropdown and select the 1/8in Flat End Mill. Click the "Placement" dropdown and make Z "-3.1mm" and X "46mm". Leave Y Zero. You can repeat this process for the rest of the pads. Make sure to change the position for each gcode file. You can use the screenshot to reference the positions for the other pads. Download Fusion 360 Source http://adafru.it/svf Download GCODE for Otherplan http://adafru.it/uga Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 19 of 48

Secure Material to Spoilboard I used pieces of Nitto (Permacel) P-02 Double-Coated Kraft Paper Tape to secure the material to the spoilboard. The material should be position square with the lower bottom of the left side of the spoilboard. Start Milling! Once the 1/8th aluminum bar stock is secured to the spoilerbed, you can start milling! Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 20 of 48

Vacuum Swarf! When the milling is complete, you'll be left with a lot of swarf (material dust). Use a vacuum to clean up the workarea. Remove Stock You can use alcohol to soften the adhesive from the tape. Then, pry the material off of the spoilboard using a spatula. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 21 of 48

Remove Parts from Stock You'll need to break the parts away from the stock. If there's any burrs or scratchs on the parts, you can buff them out using a polishing wheel and rotary tool. Milled Parts And here are the parts! Test Fit Touch Pads Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 22 of 48

It's a good idea to do a test fit before wiring anything. If the tolerances are too tight, you can use a filing tool to loosen up those edges on the 3D printed cover. If the tolerances are loose, you can use adhesive, tape or mounting tack to keep the pads in place. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 23 of 48

Wiring Parts & Tools In this portion of the guide, we'll connect the components together. Before we start, be sure to get our workspace cleaned up. Gather up ours tools and heat up the soldering iron. Are you ready? Let's GO!! Slide Switch I like to start every project by wiring up the slide switch. We'll need two pieces of wire to connect it to the Adafruit Feather. The length of them should be about the same length of the enclosure (3in or 10cm). It's OK if they're longer because you can trim them short later. Switch Wired Before we connect the wires to the switch, it's a good idea to "tin" them. First, remove a bit of Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 24 of 48

insulation from the tips of each wire using wire strippers. To tin a wire, apply the tip of your soldering iron to the wire for a second or two, then apply the solder to the wire. The solder should flow freely onto the wire and coat it. This helps prevent the strands of wire from fraying. Pro Tip: Secure the wires to the grabber of a pair of helping third hands to tin the four tip, one after the other. Connect Wires to Switch Now we need to solder the wires to the pins on the slide switch. We only need two of the three pins, so remove either the far left or far right pin (but not the middle pin). Then, tin the remaining two pins with solder. Next, attach the wires to the pins. Apply the tip of your soldering iron to the pin for a second or two, then touch the tip of the wire to the pin. Hold it in place for a second or two to allow the solder to solidify. Repeat this process for the second wire. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 25 of 48

Switch for Feather We'll be connecting the slide switch to the Feather board, but first we need to expand the voltage and ground pins. If we were to connect it now, we'd use up the only ground pin on the Feather. We have several components that need to connect to the voltage and ground pins, so we'll "expand" them by attaching some pieces of Flex PCB. Flex PCB This Flex PCB is great for Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 26 of 48

expanding pins. It's basically a thin half-sized breadboard. You can easily cut pieces using a pair of scissors. We'll only need two pieces, each with four available pins. Save the rest for future projects. Tin Flex PCB Tinning the pins on the flex PCB make it a bit easier to attach wires. Handling the flex PCB can Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 27 of 48

be a bit of a hassle. I found using tweezers to hold it and then securing the tweezers to a set of third helping hands works nicely. This way the flex PCB is secured in place while you can solder up the pins. Expand Power and Ground Next, we can attach the pieces of flex PCB to the voltage and ground pins on the Feather. First, cut the pieces in two so they're separated. Tin the 3V and GND labled pins on the Feather. Then, set a piece of PCB over the pin. I recommend handling it with the tweezers. Now apply the tip of your soldering iron to the pin. Once it melts the solder, move the tip away and hold the flex PCB in place until the solder solidifies. Repeat this process for the second pin. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 28 of 48

Connect Switch to Feather Now we can connect the slide switch to the Feather. Solder one wire from the switch to the flex PCB connected to the GND labeled pin the Faether. The second wire from the switch needs to connect to the EN (enable) labeled pin. Once they're connect, we should be able to power the board on and off. Test Switch & Battery How about we test out the switch. Grab the battery and plug it into the Feather board. If the board turns on (red LED turns on), try flipping the switch to turn it off and vice versa. If the board stays off or on, the slide switch might be damanged or there's not enough solder. Once we're done testing the switch, disconnect the battery from the Feather board. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 29 of 48

Wires for Cap Sensor Next up, we'll make some wires for connecting the capacitive sensor to the Feather. These wires can be the same length of the enclosure (or same length as the switch wires). We'll need five wires in total. I used different colored wires to help tell them apart, but you don't have too. Tin Wires Once our five wires are cut, it's time to strip and tin them! I managed to secure all five to a grabber on the third helping hands. This saves time from having to secure each wire to the grabber, one by one. Careful not to solder the wires together, Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 30 of 48

though! Heat Shrink Tubing Managing a bunch of wires can be messy. I like to use heat shrink tubing to keep them bundled together. When heat is applied to it, it actually shrinks. Cut a piece of tubing and slip the wires through. Then, use the heating element (NOT THE TIP!!) from your soldering iron to apply heat. The tubing shrinks and tightly holds the wires together. Pretty neat, huh? You can do this for most of the wires in this project. Wire Cap Sensor Now we can connect the wires to the capacitive touch breakout board. I secured the PCB to a Panavise Jr to keep it sturdy while soldering in the wires. It's a good idea to tin the pins first. We'll need to connect the wires to VIN, GND, SDA, SCL, and IRQ labeled pins on the board. Doesn't matter which color goes where but I tend to keep them consistent (red for voltage/power and blue for ground). Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 31 of 48

Connect Cap Sensor To Feather Next, we'll need to connect the wires from the cap sensor to the Feather board. I kept the cap sensor secured to the panavise and secured the feather to the third helping hands. You can follow the circuit diagram for reference. We'll connect the following things together. SCL from MPR121 to SCL on Feather SDA from MPR121 to SDA on Feather IRQ from MPR121 to A4 on Feather GND from MPR121 to GND on Feather VIN from MPR121 to 3V on Feather NeoPixel to Feather Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 32 of 48

OK, now we have the cap sensor connected to the Feather. Awesome! Next, let's get that NeoPixel ring connected to the Feather. NeoPixel Wires We'll need three wires to connect the NeoPixel ring to the Feather board. They can be the same length as the before (length of the enclosure). Repeat the same process as before, measure, cut, strip and tin all three wires. Solder Wires to NeoPixel Next, tin the data-in, 5v power and ground pins on the NeoPixel ring. Then, solder in the three wires. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 33 of 48

Connect NeoPixel to Feather With our NeoPixel wired up, we can now connect it to the Feather board. Make the following connections. Data-In from NeoPixel to Pin #6 on Feather 5V Power from NeoPixel to 3V on Feather Ground from NeoPixel to Ground on Feather Copper Tape In order to connect the capacitive touch sensor to our "touch pads", we need a way to connect wires to them. I found using copper tape was the most reliable way to Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 34 of 48

do this. This copper tape has a sticky adhesive backing that is conductive, so we can stick it to our touch pads. Cut five short pieces using scissors. Stick Copper Tape to Touch Pads (CNC Milled Only!) OK, this next part is specifically for CNC milled touch pads. Since I milled my pads out of aluminum, I can stick the pieces of copper foil to them right away. If you've 3D printed the pads using conductive PLA, DO NOT DO THIS YET! You'll need to connect wires to the copper foil tape first, and then stick them to the plastic pads. I haven't tried, but I'm sure they'd melt if one were to tin the copper with them attached to the plastic pads. Either way, take note of which side the copper tape sticks too. It's the side with the noticeable lip. Touch Pad Wires Now it's time to make some wires for connecting the touch pads to the capacitive touch sensor. We have six pads, so we'll need six wires. Again, they can be the Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 35 of 48

same length as before (length of the enclosure). Measure, cut, strip and tin the wires. Connect Wires to Copper Tape With our wires made, we can now solder them to the pieces of copper foil tape. I recommend tinning the copper foil first, and then solder the wires to them. If you've 3D printed the touch pads, you'll need to solder the wires to the stand-alone pieces of copper foil tape. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 36 of 48

Wired Touch Pads And now we have wires connected to the pieces of copper tape, yay! If you've 3D printed the pads, now's a good time to stick the pieces of copper foil tape to them. Remember to stick them to the side with the visable lip. Not the side with a flush surface! Connect Pads to Cap Sensor Now it's time to connect the wires from the touch pads to the capacitive touch sensor. It doesn't matter which pad goes where, as long as they connect from pins 0-5. If we get them mixed up, we can use a multimeter to determine which pad is connected to pin number 0, 1, 2 and so on. Final Circuit And now we have completed our circuit! You can plug in the battery again to see if everything turns on. Though, I wouldn't test out the MIDI functionality yet because the touch pads might be Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 37 of 48

touching (randomly triggering MIDI notes). So let's work on mounting the components to the encosure. On to the next page! Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 38 of 48

Assembly Machine Screws We'll use machine screws to secure the Feather and capactive touch sensor to the 3D printed enclosure. They can be 4-40 3/8 or M3 sized machine screws. Mount Cap Sensor Let's mount the capacitive touch sensor to the enclosure. First, I suggest tapping the holes on the enclosure using the machine screws. That way we can create threads in the standoffs. This will make it easier to fasten the screws through the enclosure and PCBs. Fasten two screws into the enclosure about half way, until the tip pokes through the standoffs. Then, grab the cap sensor PCB and lay it over the standoffs so the screws are lined up with the mounting holes. Hold Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 39 of 48

the PCB in place while fastening the two screws until their flush with the surface of the enclosure. Mount Feather Now we can mount the Feather board to the enclosure. We're basically going to repeat that process for the Feather. The microusb port from the Feather should be pointing towards the cutout on the enclosure. Mount Switch Next up, let's mount the switch to the enclosure. No screws necessary. There's a little spot dedicated for the slide switch. Insert the switch in between the walls at an angle and press in to snap into place. The body of the switch should have a friction fit in between the walls. There's also a third "wall" that keeps the body of the switch in place. The actuator from the switch will protrude from the cutout. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 40 of 48

Connect Battery Now is a good time to plug in the battery to the Feather board. Install NeoPixel to Cover The NeoPixel ring will be mounted to the cover of the enclosure. Two circular rings will hold the PCB. Place the NeoPixel ring into the circular holder and press it in. The PCB will have a semi-snug fit. We can secure it in place using a number of methods. Glue or tape is probably fine but I ended up using mounting tack. Install Touch Pads to Cover OK, now we can work on installing the touch pads into the cover. To do this, start by Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 41 of 48

inserting one pad through the cutout on the cover from the bottom. Then, orient the pad so the lip (or the side with the flush surface) rests on top of the cover. This way, when you press down on the pad, it doesn't pop out of the cover. It may or may not have a tight fit. Some of the tolerances differ due to the nature of 3D printing. Repeat this process for all six pads. Matching Pads with Pin Numbers It's a good idea to match the pad with the pin numbers on the capacitive touch sensor. Pad 1 should be with Pin #0, pad 2 with pin #1, and so on and so fourth. The goal here is to order the pads so they're chronological with the pin numbers on the capacitive touch sensor. If we can't determin which pad is connected to which wire, we can use a multimeter to find out. Use the continuity mode on the multimeter. Then, stick one probe to a pin number, and the other to one of the pads you'll hear an audible "beep" when there's an electrical connection. Installed Touch Pads Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 42 of 48

OK, now we should have all six touch pads installed into the cover. Now is a good time to double check the order of the pads. Make sure they're consistent, chronological, all that jazz. Secure Pads and NeoPixel Now that we have our NeoPixel ring and six touch pads installed into the cover, it's a good idea to secure them in place. Again, theres more than one way to skin a... never mind! So you could do this with hot glue, E6000 or tape. Whatever you have on hand. I personally used mounting tack. I like it because I can always remove it later without leaving behind a mess. But the goal here is to keep the components from coming out of their spots. Since 3D printing tends to have variable tolerances, the parts might pop out of place unless there's something holding it in place. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 43 of 48

Install Battery Let's go ahead and place the battery into the enclosure. It can rest on top of the components. You might think this might damage the components or wiring but, honestly I haven't experienced any issues. As long as you don't shake the enclosure ferociously, I think it'll be OK. There's also plent of room in the enclosure for some sort of cushioning, like papper or cotton? If you're worried about puncturing the lipo battery, you can wrap it in gaffers tape for extra protection. Or maybe use a AAA battery pack? Not sure that would fit. Options! Install Cover OK now for the last step. Let's fit the cover over the enclosure. The indentations on the lip of the cover snap fit into the nubs on the inside edge of the enclosure. You'll need to apply some press to get them to snap together. Fitting the cover at an angle might be helpful. Once you get all six edges shut, you should have a really tight fitting. That cover is never coming out now! JK, you should be able to pry it open with your finger nails or spatula if you ever need to open it back up. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 44 of 48

Finished Build! Welp, thats all folks! Our assembly is complete. We can try it out now. Turn it on and connect your new MIDI controller to your preferred DAW. Check out the next page for connectivity options. Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 45 of 48

Usage User Interface So how does this thing work? You'll definitely want to read Todd's guide on how the interface works. There's several commands and settings you can adjust by tapping on multiple pads. Change the tempo, pitch, velocity or even MIDI channel. Click the green button below to automatically teleport to Todd's guide. Todd's Guide: MIDI User Interface http://adafru.it/ufr Connecting BLE MIDI Devices OK, so how do we connect BLE MIDI devices to our computer (or mobile device)? On a mac, you can use the Audio MIDI Setup Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 46 of 48

utility. Open the MIDI studio window. Then, double click on the Bluetooth icon to open the Bluetooth Configuration window. From here, you'll see the MIDI device, "Adafruit Bluefruit LE". Click on the connect button to connect your computer to the device. Then, you should be able to use audio software like Ableton, Logic, GarageBand, etc. This guide won't cover how to connect MIDI devices to a particular piece of software. There's tons of other great resources for that! Adafruit Industries https://learn.adafruit.com/bluetooth-le-midi-controller Page 47 of 48

Adafruit Industries Last Updated: 2017-03-01 08:40:07 PM UTC Page 48 of 48